mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-22 02:00:11 +00:00
Add K_TranslateTimer, get the correct timer value for time limit; use this function for splitscreen timer
This commit is contained in:
parent
36bb219196
commit
34b65a7c59
3 changed files with 28 additions and 7 deletions
|
|
@ -13,6 +13,11 @@ namespace
|
|||
|
||||
constexpr INT32 kHudFlags = V_HUDTRANS | V_SLIDEIN;
|
||||
|
||||
tic_t player_timer(const player_t* player)
|
||||
{
|
||||
return K_TranslateTimer(player->realtime, 0, nullptr);
|
||||
}
|
||||
|
||||
}; // namespace
|
||||
|
||||
void K_drawKart2PTimestamp(void)
|
||||
|
|
@ -32,7 +37,7 @@ void K_drawKart2PTimestamp(void)
|
|||
Draw row = get_row().flags(kHudFlags | V_SNAPTORIGHT).font(Draw::Font::kZVote);
|
||||
|
||||
row.patch("K_STTIMS");
|
||||
row.xy(12, 2).text("{:03}", stplyr->realtime / TICRATE);
|
||||
row.xy(12, 2).text("{:03}", player_timer(stplyr) / TICRATE);
|
||||
}
|
||||
|
||||
void K_drawKart4PTimestamp(void)
|
||||
|
|
@ -45,7 +50,7 @@ void K_drawKart4PTimestamp(void)
|
|||
row.xy(5, 12).text("{:03}", time / TICRATE);
|
||||
};
|
||||
|
||||
auto time_of = [](int k) -> tic_t { return k <= r_splitscreen ? players[displayplayers[k]].realtime : 0u; };
|
||||
auto time_of = [](int k) -> tic_t { return k <= r_splitscreen ? player_timer(&players[displayplayers[k]]) : 0u; };
|
||||
|
||||
draw(row.y(1).flags(V_SNAPTOTOP), std::max(time_of(0), time_of(1)));
|
||||
draw(row.y(178).flags(V_SNAPTOBOTTOM), std::max(time_of(2), time_of(3)));
|
||||
|
|
|
|||
24
src/k_hud.c
24
src/k_hud.c
|
|
@ -1684,12 +1684,8 @@ static void K_drawKartSlotMachine(void)
|
|||
V_ClearClipRect();
|
||||
}
|
||||
|
||||
void K_drawKartTimestamp(tic_t drawtime, INT32 TX, INT32 TY, INT32 splitflags, UINT8 mode)
|
||||
tic_t K_TranslateTimer(tic_t drawtime, UINT8 mode, INT32 *return_jitter)
|
||||
{
|
||||
// TIME_X = BASEVIDWIDTH-124; // 196
|
||||
// TIME_Y = 6; // 6
|
||||
|
||||
tic_t worktime;
|
||||
INT32 jitter = 0;
|
||||
|
||||
if (!mode)
|
||||
|
|
@ -1725,6 +1721,24 @@ void K_drawKartTimestamp(tic_t drawtime, INT32 TX, INT32 TY, INT32 splitflags, U
|
|||
}
|
||||
}
|
||||
|
||||
if (return_jitter)
|
||||
{
|
||||
*return_jitter = jitter;
|
||||
}
|
||||
|
||||
return drawtime;
|
||||
}
|
||||
|
||||
void K_drawKartTimestamp(tic_t drawtime, INT32 TX, INT32 TY, INT32 splitflags, UINT8 mode)
|
||||
{
|
||||
// TIME_X = BASEVIDWIDTH-124; // 196
|
||||
// TIME_Y = 6; // 6
|
||||
|
||||
tic_t worktime;
|
||||
INT32 jitter = 0;
|
||||
|
||||
drawtime = K_TranslateTimer(drawtime, mode, &jitter);
|
||||
|
||||
V_DrawScaledPatch(TX, TY, splitflags, ((mode == 2) ? kp_lapstickerwide : kp_timestickerwide));
|
||||
|
||||
TX += 33;
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@ struct trackingResult_t
|
|||
|
||||
void K_ObjectTracking(trackingResult_t *result, const vector3_t *point, boolean reverse);
|
||||
|
||||
tic_t K_TranslateTimer(tic_t drawtime, UINT8 mode, INT32 *return_jitter);
|
||||
|
||||
const char *K_GetItemPatch(UINT8 item, boolean tiny);
|
||||
void K_LoadKartHUDGraphics(void);
|
||||
void K_drawKartHUD(void);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue