// Project-wide configurable constants #define WRITE_DIR "power_play" // Window title #if IsRtcEnabled #if IsDeveloperModeEnabled #define WINDOW_TITLE "Debug (Developer Build)" #else #define WINDOW_TITLE "Debug" #endif #else #if IsDeveloperModeEnabled #define WINDOW_TITLE "Power Play (Developer Build)" #else #define WINDOW_TITLE "Power Play" #endif #endif #define DEFAULT_CAMERA_WIDTH (16) #define DEFAULT_CAMERA_HEIGHT ((f64)DEFAULT_CAMERA_WIDTH / (16.0 / 9.0)) // Rendered texture size + extra room for off-screen light falloff #define RENDER_WIDTH (640 + 250) #define RENDER_HEIGHT (360 + 250) #define PIXELS_PER_UNIT ((f64)640 / (f64)DEFAULT_CAMERA_WIDTH) // How many ticks back in time should the user thread blend between? // = * // E.g: At 1.5, the user thread will render 75ms back in time if the sim runs at 50tps #define USER_INTERP_RATIO 1.2 #define USER_INTERP_ENABLED 1 // 64^2 = 4096 bins #define SPACE_CELL_BINS_SQRT (64) #define SPACE_CELL_SIZE (1) #define SIM_TILES_PER_UNIT_SQRT (4) #define SIM_TILES_PER_CHUNK_SQRT (16) // #define SIM_TICKS_PER_SECOND 100 #define SIM_TICKS_PER_SECOND 64 // Like USER_INTERP_RATIO, but applies to snapshots received by the local sim from the // master sim (how far back in time should the client render the server's state) #define SIM_CLIENT_INTERP_RATIO 2.0 #define SIM_PHYSICS_SUBSTEPS 4 #define SIM_PHYSICS_ENABLE_WARM_STARTING 1 #define SIM_PHYSICS_ENABLE_RELAXATION 1 #define SIM_PHYSICS_ENABLE_TOI 1 #define SIM_PHYSICS_ENABLE_COLLISION 1 #define SIM_SPAWN_TESTENT 0 #define SIM_PLAYER_AIM 1 #if 0 #define SIM_MAX_LINEAR_VELOCITY 500 #define SIM_MAX_ANGULAR_VELOCITY (Tau * 20) #else #define SIM_MAX_LINEAR_VELOCITY F32Infinity #define SIM_MAX_ANGULAR_VELOCITY F32Infinity #endif #define COLLIDER_DEBUG 0 #define COLLIDER_DEBUG_DETAILED 1 #define COLLIDER_DEBUG_DETAILED_DRAW_MENKOWSKI 1 #define FLOOD_DEBUG 0 #define GPU_DEBUG 0 #define GPU_DEBUG_VALIDATION 0 #define GPU_SHADER_PRINT 1 #define GPU_SHADER_PRINT_BUFFER_SIZE Kibi(64); #define GPU_SHADER_PRINT_LOG 1 // If enabled, bitbuffs will insert/verify magic numbers & length for each read & write #define BITBUFF_DEBUG 0 #define BITBUFF_TEST IsRtcEnabled // If enabled, things like network writes & memory allocations will be tracked in a global statistics struct #define GstatIsEnabled 1 //////////////////////////////////////////////////////////// //~ Settings // TODO: Move these to user-configurable settings #define AUDIO_ENABLED 0 #define FPS_LIMIT 300