Licar/settings.h

157 lines
4.7 KiB
C
Raw Normal View History

2023-07-21 21:17:49 +02:00
#ifndef _LCR_SETTINGS_H
#define _LCR_SETTINGS_H
2023-08-08 20:39:29 +02:00
#ifndef LCR_SETTING_RESOLUTION_X
2023-09-10 14:43:20 +02:00
#define LCR_SETTING_RESOLUTION_X 1024
2023-08-08 20:39:29 +02:00
#endif
#ifndef LCR_SETTING_RESOLUTION_Y
2023-09-10 14:43:20 +02:00
#define LCR_SETTING_RESOLUTION_Y 768
2023-08-08 20:39:29 +02:00
#endif
2023-09-17 13:21:19 +02:00
#ifndef LCR_SETTING_FPS
/** Rendering frames per second. Note this only applies to graphics, NOT
physics. */
#define LCR_SETTING_FPS 30
#endif
2023-09-11 20:56:04 +02:00
#ifndef LCR_SETTING_RESOLUTION_SUBDIVIDE
#define LCR_SETTING_RESOLUTION_SUBDIVIDE 1
#endif
2023-09-17 13:21:19 +02:00
#ifndef LCR_SETTING_FREE_CAMERA_SPEED
2024-08-29 00:10:16 +02:00
#define LCR_SETTING_FREE_CAMERA_SPEED 30
2023-09-17 13:21:19 +02:00
#endif
2023-09-17 15:42:46 +02:00
#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
2024-07-22 01:16:16 +02:00
#ifndef LCR_SETTING_MAX_MAP_VERTICES
2023-09-16 20:35:01 +02:00
/** Maximum number of vertices for 3D rendering. Lower number will decrease
RAM usage but will prevent larger maps from being loaded. */
2024-07-22 01:16:16 +02:00
#define LCR_SETTING_MAX_MAP_VERTICES 10000
2023-09-16 20:35:01 +02:00
#endif
2024-07-22 01:16:16 +02:00
#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
2023-09-16 20:35:01 +02:00
#endif
2023-09-12 16:42:58 +02:00
#ifndef LCR_SETTING_SKY_SIZE
/** Size of sky texture pixel, 0 turns off sky rendering. */
2024-07-30 21:47:50 +02:00
#define LCR_SETTING_SKY_SIZE 4
2023-09-12 17:39:55 +02:00
#endif
2023-09-12 16:42:58 +02:00
2024-09-23 23:31:30 +02:00
#ifndef LCR_SETTING_MAP_MAX_BLOCKS
2023-07-21 21:17:49 +02:00
/** Maximum number of blocks a map can consist of, decreasing will save RAM
but also rule out loading bigger maps. */
2024-09-23 23:31:30 +02:00
#define LCR_SETTING_MAP_MAX_BLOCKS 4096
2023-07-21 21:17:49 +02:00
#endif
2024-08-02 00:05:03 +02:00
#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
2024-08-06 01:34:38 +02:00
#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
2024-08-13 00:53:04 +02:00
#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
2024-08-13 20:49:52 +02:00
#ifndef LCR_SETTING_LOD_COLOR
#define LCR_SETTING_LOD_COLOR 0x4229
#endif
2024-08-29 00:10:16 +02:00
#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
2024-09-01 16:10:15 +02:00
#ifndef LCR_SETTING_CAR_ANIMATION_SUBDIVIDE
/** How many frames will be used to complete whole animation of the car model.
2024-09-06 00:58:32 +02:00
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. */
2024-09-10 21:49:23 +02:00
#define LCR_SETTING_CAR_ANIMATION_SUBDIVIDE 2
2024-09-01 14:06:24 +02:00
#endif
2024-09-06 00:58:32 +02:00
#ifndef LCR_SETTING_CAMERA_HEIGHT
/** Base height of the car follow camera, in 4ths of map block height. */
2024-09-20 15:22:18 +02:00
#define LCR_SETTING_CAMERA_HEIGHT 5
2024-09-06 00:58:32 +02:00
#endif
#ifndef LCR_SETTING_CAMERA_HEIGHT_BAND
/** Size of height band of the follow camera, in same units as base height. */
2024-09-10 17:29:22 +02:00
#define LCR_SETTING_CAMERA_HEIGHT_BAND 1
2024-09-06 00:58:32 +02:00
#endif
2024-09-10 20:11:31 +02:00
#ifndef LCR_SETTING_CAMERA_DISTANCE
/** Base horizontal distance of the car follow camera, in 4ths of map block
2024-09-06 00:58:32 +02:00
width. */
2024-09-20 15:22:18 +02:00
#define LCR_SETTING_CAMERA_DISTANCE 4
2024-09-10 20:11:31 +02:00
#endif
#ifndef LCR_SETTING_CAMERA_DISTANCE_BAND
/** Band for distance of the car follow camera, in same units as base dist. */
2024-09-11 02:12:04 +02:00
#define LCR_SETTING_CAMERA_DISTANCE_BAND 2
2024-09-09 19:16:51 +02:00
#endif
#ifndef LCR_SETTING_GHOST_COLOR
/** Color of the ghost car (in RGB565). */
#define LCR_SETTING_GHOST_COLOR 0xff00
#endif
2024-10-07 22:07:58 +02:00
#ifndef LCR_SETTING_CHECKPOINT_0_COLOR
2024-10-07 15:52:39 +02:00
/** Color of untaken checkpoint (in RGB565). */
2024-10-07 22:07:58 +02:00
#define LCR_SETTING_CHECKPOINT_0_COLOR 0x37e0
2024-10-07 15:52:39 +02:00
#endif
2024-10-07 22:07:58 +02:00
#ifndef LCR_SETTING_CHECKPOINT_1_COLOR
2024-10-07 15:52:39 +02:00
/** Color of taken checkpoint (in RGB565). */
2024-10-07 22:07:58 +02:00
#define LCR_SETTING_CHECKPOINT_1_COLOR 0xdefb
2024-10-07 15:52:39 +02:00
#endif
#ifndef LCR_SETTING_FINISH_COLOR
/** Color of finish block (in RGB565). */
2024-10-07 22:07:58 +02:00
#define LCR_SETTING_FINISH_COLOR 0xf900
2024-10-07 15:52:39 +02:00
#endif
2024-09-09 19:16:51 +02:00
#ifndef LCR_SETTING_SMOOTH_ANIMATIONS
/** Whether to smooth out animations (car physics, camera movement etc.). */
#define LCR_SETTING_SMOOTH_ANIMATIONS 1
2024-09-06 00:58:32 +02:00
#endif
2024-09-27 00:08:52 +02:00
#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
2023-07-21 21:17:49 +02:00
#endif // guard