176 lines
5.3 KiB
C
176 lines
5.3 KiB
C
#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
|