#ifndef _LCR_SETTINGS_H #define _LCR_SETTINGS_H #ifndef LCR_SETTING_RESOLUTION_X #define LCR_SETTING_RESOLUTION_X 1024 #endif #ifndef LCR_SETTING_RESOLUTION_Y #define LCR_SETTING_RESOLUTION_Y 768 #endif #ifndef LCR_SETTING_FPS /** Rendering frames per second. Note this only applies to graphics, NOT physics. */ #define LCR_SETTING_FPS 30 #endif #ifndef LCR_SETTING_RESOLUTION_SUBDIVIDE #define LCR_SETTING_RESOLUTION_SUBDIVIDE 1 #endif #ifndef LCR_SETTING_FREE_CAMERA_SPEED #define LCR_SETTING_FREE_CAMERA_SPEED 30 #endif #ifndef LCR_SETTING_FREE_CAMERA_TURN_SPEED #define LCR_SETTING_FREE_CAMERA_TURN_SPEED 1024 #endif #ifndef LCR_SETTING_SKY_ROLL_MULTIPLIER_V #define LCR_SETTING_SKY_ROLL_MULTIPLIER_V 8 #endif #ifndef LCR_SETTING_SKY_ROLL_MULTIPLIER_H #define LCR_SETTING_SKY_ROLL_MULTIPLIER_H 4 #endif #ifndef LCR_SETTING_MAX_MAP_VERTICES /** Maximum number of vertices for 3D rendering. Lower number will decrease RAM usage but will prevent larger maps from being loaded. */ #define LCR_SETTING_MAX_MAP_VERTICES 10000 #endif #ifndef LCR_SETTING_MAX_MAP_TRIANGLES /** Like LCR_SETTING_MAX_MAP_VERTICES but for the number of triangles. */ #define LCR_SETTING_MAX_MAP_TRIANGLES 10000 #endif #ifndef LCR_SETTING_SKY_SIZE /** Size of sky texture pixel, 0 turns off sky rendering. */ #define LCR_SETTING_SKY_SIZE 4 #endif #ifndef LCR_SETTING_MAP_MAX_BLOCKS /** Maximum number of blocks a map can consist of, decreasing will save RAM but also rule out loading bigger maps. */ #define LCR_SETTING_MAP_MAX_BLOCKS 4096 #endif #ifndef LCR_SETTING_TRIANGLE_CULLING_PERIOD /** This says how often (after how many triangles added) the map model triangles will be culled. This value may affect how quickly maps load. */ #define LCR_SETTING_TRIANGLE_CULLING_PERIOD 64 #endif #ifndef LCR_SETTING_TEXTURE_SUBSAMPLE /** Sets texture subsampling: 0 means no subsampling, higher value N means a texture will be sampled once per N rasterized pixels. Higher value can increase performance. */ #define LCR_SETTING_TEXTURE_SUBSAMPLE 4 #endif #ifndef LCR_SETTING_LOD_DISTANCE /** Distance in game squares from which LOD will be drawn. Value 64 or higher turns off LOD completely. Note that this doesn't affect rendering distance of 3D models. */ #define LCR_SETTING_LOD_DISTANCE 25 #endif #ifndef LCR_SETTING_LOD_COLOR #define LCR_SETTING_LOD_COLOR 0x4229 #endif #ifndef LCR_SETTING_FLOOR_PARTICLE_RESOLUTION /** How many level floor particles there will be along one principal axis, 0 turns floor particles off. */ #define LCR_SETTING_FLOOR_PARTICLE_RESOLUTION 6 #endif #ifndef LCR_SETTING_FLOOR_PARTICLE_SIZE /** Defines floor particle size in fractions of screen size. */ #define LCR_SETTING_FLOOR_PARTICLE_SIZE 32 #endif #ifndef LCR_SETTING_CAR_ANIMATION_SUBDIVIDE /** How many frames will be used to complete whole animation of the car model. 0 turns off car animation completely (may be faster and smaller), 1 turns on highest quality animation, higher values lower animation quality and may increase performance. */ #define LCR_SETTING_CAR_ANIMATION_SUBDIVIDE 2 #endif #ifndef LCR_SETTING_CAMERA_HEIGHT /** Base height of the car follow camera, in 4ths of map block height. */ #define LCR_SETTING_CAMERA_HEIGHT 5 #endif #ifndef LCR_SETTING_CAMERA_HEIGHT_BAND /** Size of height band of the follow camera, in same units as base height. */ #define LCR_SETTING_CAMERA_HEIGHT_BAND 1 #endif #ifndef LCR_SETTING_CAMERA_DISTANCE /** Base horizontal distance of the car follow camera, in 4ths of map block width. */ #define LCR_SETTING_CAMERA_DISTANCE 4 #endif #ifndef LCR_SETTING_CAMERA_DISTANCE_BAND /** Band for distance of the car follow camera, in same units as base dist. */ #define LCR_SETTING_CAMERA_DISTANCE_BAND 2 #endif #ifndef LCR_SETTING_GHOST_COLOR /** Color of the ghost car (in RGB565). */ #define LCR_SETTING_GHOST_COLOR 0xff00 #endif #ifndef LCR_SETTING_CHECKPOINT_0_COLOR /** Color of untaken checkpoint (in RGB565). */ #define LCR_SETTING_CHECKPOINT_0_COLOR 0x37e0 #endif #ifndef LCR_SETTING_CHECKPOINT_1_COLOR /** Color of taken checkpoint (in RGB565). */ #define LCR_SETTING_CHECKPOINT_1_COLOR 0xdefb #endif #ifndef LCR_SETTING_FINISH_COLOR /** Color of finish block (in RGB565). */ #define LCR_SETTING_FINISH_COLOR 0xf900 #endif #ifndef LCR_SETTING_SMOOTH_ANIMATIONS /** Whether to smooth out animations (car physics, camera movement etc.). */ #define LCR_SETTING_SMOOTH_ANIMATIONS 1 #endif #ifndef LCR_SETTING_LOG_LEVEL /** How detailed the console logs should be. 0 turns off logging, 1 means normal, 2 more detailed etc. Setting high log level may result in spam and slower game, but is useful for debugging. */ #define LCR_SETTING_LOG_LEVEL 1 #endif #ifndef LCR_SETTING_METERS_PER_BLOCK /** How many meters one game block is considered to measure (horizontally). This is for calculating speed etc. */ #define LCR_SETTING_METERS_PER_BLOCK 4 #endif #ifndef LCR_SETTING_DEBUG_PHYSICS_DRAW /** If on, physics world will be drawn. */ #define LCR_SETTING_DEBUG_PHYSICS_DRAW 0 #endif #ifndef LCR_SETTING_POTATO_GRAPHICS /** Setting this will turn on very simple graphics without textures and etc., can be good for very weak devices. */ #define LCR_SETTING_POTATO_GRAPHICS 0 #endif #endif // guard