Add time multiplier
This commit is contained in:
parent
8040d6755f
commit
ff75390a2a
5 changed files with 19 additions and 22 deletions
2
TODO.txt
2
TODO.txt
|
@ -1,7 +1,6 @@
|
|||
=========== GENERAL ==============
|
||||
|
||||
- replay validation
|
||||
- add time slow down setting
|
||||
- add argc/argv to gameInit? could be used to quickly start maps, verify
|
||||
replays etc.
|
||||
- maybe each map could have a target time embedded: when beaten, the map would
|
||||
|
@ -26,6 +25,7 @@
|
|||
=========== HANDLED ==============
|
||||
|
||||
- allow stopping car rotation in air like in Trackmania
|
||||
- add time slow down setting
|
||||
- the horizon on background seems too low? maybe add setting to shift it a bit?
|
||||
- replay format
|
||||
- prevent time overflow! stop incrementing level frame once it's at maximum
|
||||
|
|
4
game.h
4
game.h
|
@ -286,8 +286,8 @@ void LCR_gameSetState(uint8_t state)
|
|||
LCR_GameUnit LCR_carSpeedKMH(void)
|
||||
{
|
||||
return // we use 28/8 as an approximation of 3.6 to convers MPS to KMH
|
||||
(28 * LCR_SETTING_METERS_PER_BLOCK * LCR_racingGetCarSpeedUnsigned() *
|
||||
LCR_RACING_FPS) / (8 * LCR_GAME_UNIT);
|
||||
(28 * LCR_SETTING_CMS_PER_BLOCK * LCR_racingGetCarSpeedUnsigned() *
|
||||
LCR_RACING_FPS) / (800 * LCR_GAME_UNIT);
|
||||
}
|
||||
|
||||
void LCR_gameResetRun(uint8_t replay)
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
#include <stdint.h>
|
||||
#include "settings.h"
|
||||
|
||||
// TODO: maybe move module specific constants to the modules themselves?
|
||||
|
||||
// constants (not supposed to be changed, doing so may break stuff):
|
||||
|
||||
#define LCR_EFFECTIVE_RESOLUTION_X \
|
||||
|
@ -31,7 +33,8 @@
|
|||
/** Physics FPS, i.e. the number of physics ticks per second. */
|
||||
#define LCR_RACING_FPS 30
|
||||
|
||||
#define LCR_RACING_TICK_MS (1000 / LCR_RACING_FPS)
|
||||
#define LCR_RACING_TICK_MS \
|
||||
(100000 / (LCR_RACING_FPS * LCR_SETTING_TIME_MULTIPLIER))
|
||||
|
||||
#define LCR_ANIMATE_CAR (LCR_SETTING_CAR_ANIMATION_SUBDIVIDE != 0)
|
||||
|
||||
|
|
|
@ -1313,7 +1313,7 @@ void LCR_rendererDrawSky(int sky, S3L_Unit offsetH, S3L_Unit offsetV)
|
|||
|
||||
anchorPoint[1] =
|
||||
(LCR_EFFECTIVE_RESOLUTION_Y) / 2 - // 3: we place the center a bit more up
|
||||
(LCR_SETTING_HORIZON_SHIFT * LCR_EFFECTIVE_RESOLUTION_Y) / 16 -
|
||||
(LCR_SETTING_HORIZON_SHIFT * LCR_EFFECTIVE_RESOLUTION_Y) / 100 -
|
||||
(LCR_EFFECTIVE_RESOLUTION_Y * offsetV) / S3L_F
|
||||
- LCR_IMAGE_SIZE * LCR_SETTING_SKY_SIZE;
|
||||
|
||||
|
|
28
settings.h
28
settings.h
|
@ -88,17 +88,6 @@
|
|||
#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
|
||||
|
@ -160,10 +149,10 @@
|
|||
#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
|
||||
#ifndef LCR_SETTING_CMS_PER_BLOCK
|
||||
/** How many centimeters one game block is considered to measure
|
||||
(horizontally). This is for calculating speed etc. */
|
||||
#define LCR_SETTING_CMS_PER_BLOCK 400
|
||||
#endif
|
||||
|
||||
#ifndef LCR_SETTING_DEBUG_PHYSICS_DRAW
|
||||
|
@ -205,8 +194,13 @@
|
|||
#endif
|
||||
|
||||
#ifndef LCR_SETTING_HORIZON_SHIFT
|
||||
/** Vertical offset of the background horizon, 1/16th of screen height. */
|
||||
#define LCR_SETTING_HORIZON_SHIFT 5
|
||||
/** Vertical offset of the background horizon in percents of screen height. */
|
||||
#define LCR_SETTING_HORIZON_SHIFT 30
|
||||
#endif
|
||||
|
||||
#ifndef LCR_SETTING_TIME_MULTIPLIER
|
||||
/** Multiplies speed of time by this percentage, doesn't affect physics. */
|
||||
#define LCR_SETTING_TIME_MULTIPLIER 100
|
||||
#endif
|
||||
|
||||
#endif // guard
|
||||
|
|
Loading…
Reference in a new issue