Continue HUD
This commit is contained in:
parent
b177e924dd
commit
7c3eac7d9f
4 changed files with 117 additions and 32 deletions
55
game.h
55
game.h
|
@ -126,13 +126,13 @@ struct
|
|||
{
|
||||
uint8_t state;
|
||||
uint32_t stateStartTime;
|
||||
|
||||
uint32_t time;
|
||||
uint32_t nextRenderFrameTime;
|
||||
uint32_t nextRacingTickTime;
|
||||
uint8_t controlMode;
|
||||
uint8_t debugDraw;
|
||||
uint8_t checkpointsTaken;
|
||||
uint32_t runTime;
|
||||
} LCR_game;
|
||||
|
||||
void LCR_drawPixelXYUnsafe(unsigned int x, unsigned int y,
|
||||
|
@ -188,14 +188,22 @@ LCR_GameUnit LCR_carSpeedKMH(void)
|
|||
|
||||
void LCR_gameResetRun(void)
|
||||
{
|
||||
LCR_GameUnit carTransform[6];
|
||||
|
||||
LCR_LOG0("resetting run");
|
||||
LCR_game.checkpointsTaken = 0;
|
||||
LCR_mapReset();
|
||||
LCR_racingRestart();
|
||||
LCR_rendererUnmarkCPs();
|
||||
LCR_racingGetCarTransform(carTransform,carTransform + 3,0);
|
||||
|
||||
|
||||
LCR_rendererSetCarTransform(carTransform,carTransform + 3);
|
||||
LCR_rendererCameraReset();
|
||||
LCR_gameSetState(LCR_GAME_STATE_RUN_STARTING);
|
||||
LCR_game.runTime = 0;
|
||||
}
|
||||
|
||||
//void LCR_gameStartRun(const uint8_t *map)
|
||||
void LCR_gameStartRun(const char *mapStr)
|
||||
{
|
||||
LCR_mapLoadFromStr(mapStr);
|
||||
|
@ -218,7 +226,6 @@ void LCR_gameInit(void)
|
|||
LCR_game.nextRacingTickTime = 0;
|
||||
|
||||
LCR_game.controlMode = LCR_CONTROL_MODE_FREECAM;
|
||||
LCR_game.debugDraw = 0;
|
||||
|
||||
LCR_gameStartRun(LCR_maps[0]);
|
||||
}
|
||||
|
@ -228,6 +235,11 @@ void LCR_gameEnd(void)
|
|||
LCR_LOG0("ending");
|
||||
}
|
||||
|
||||
void LCR_gameUpdateRendererCarTransform(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
uint8_t LCR_gameStep(uint32_t time)
|
||||
{
|
||||
LCR_LOG2("game step start");
|
||||
|
@ -246,9 +258,7 @@ uint8_t LCR_gameStep(uint32_t time)
|
|||
LCR_game.controlMode = LCR_game.controlMode == LCR_CONTROL_MODE_FREECAM ?
|
||||
LCR_CONTROL_MODE_DRIVE : LCR_CONTROL_MODE_FREECAM;
|
||||
else if (LCR_keyStates[LCR_KEY_B] == 30)
|
||||
LCR_racingRestart();
|
||||
else if (LCR_keyStates[LCR_KEY_B] == 60)
|
||||
LCR_game.debugDraw = !LCR_game.debugDraw;
|
||||
LCR_gameResetRun();
|
||||
|
||||
while (time >= LCR_game.nextRacingTickTime)
|
||||
{
|
||||
|
@ -294,11 +304,11 @@ uint8_t LCR_gameStep(uint32_t time)
|
|||
{
|
||||
LCR_LOG1("finished");
|
||||
|
||||
// TODO
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
LCR_game.runTime++;
|
||||
LCR_game.nextRacingTickTime += LCR_RACING_TICK_MS;
|
||||
}
|
||||
|
||||
|
@ -382,23 +392,26 @@ LCR_GameUnit physicsInterpolationParam = LCR_GAME_UNIT -
|
|||
LCR_EFFECTIVE_RESOLUTION_Y -
|
||||
LCR_rendererComputeTextHeight(2) - 20,0,2);
|
||||
|
||||
str[0] = '1'; // TODO
|
||||
str[1] = '2';
|
||||
str[2] = '\'';
|
||||
str[3] = '3';
|
||||
str[4] = '4';
|
||||
str[5] = 0;
|
||||
val = ((LCR_game.runTime * LCR_RACING_TICK_MS)) / 1000; // seconds
|
||||
|
||||
LCR_rendererDrawText(str,20,
|
||||
LCR_EFFECTIVE_RESOLUTION_Y -
|
||||
str[3] = '0' + (val % 60) / 10;
|
||||
str[4] = '0' + val % 10;
|
||||
|
||||
val = (val / 60) % 100; // minutes
|
||||
|
||||
str[0] = '0' + val / 10;
|
||||
str[1] = '0' + val % 10;
|
||||
str[2] = '\'';
|
||||
str[5] = 0;
|
||||
|
||||
LCR_rendererDrawText(str,20,LCR_EFFECTIVE_RESOLUTION_Y -
|
||||
LCR_rendererComputeTextHeight(2) - 20,0,2);
|
||||
|
||||
if (LCR_game.debugDraw)
|
||||
{
|
||||
LCR_GameUnit camTr[7];
|
||||
LCR_rendererGetCameraTransform(camTr,camTr + 3,camTr + 6);
|
||||
LCR_physicsDebugDraw(camTr,camTr + 3,camTr[6]);
|
||||
}
|
||||
#if LCR_SETTING_DEBUG_PHYSICS_DRAW
|
||||
LCR_GameUnit camTr[7];
|
||||
LCR_rendererGetCameraTransform(camTr,camTr + 3,camTr + 6);
|
||||
LCR_physicsDebugDraw(camTr,camTr + 3,camTr[6]);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue