X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fhud%2Fpanel%2Ftimer.qc;h=f70e5a2805962a43cbebc48607f65b80d27cda8b;hb=812dd3215ba88d7bcd2b38b9c4acd19d84a5152b;hp=8bb4ade6a17f49aca0f69be10c5ffa303069af2f;hpb=b7873b3470e961ee95d5823de13a87a63e7e0f3b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/hud/panel/timer.qc b/qcsrc/client/hud/panel/timer.qc index 8bb4ade6a..f70e5a280 100644 --- a/qcsrc/client/hud/panel/timer.qc +++ b/qcsrc/client/hud/panel/timer.qc @@ -1,8 +1,7 @@ #include "timer.qh" -#include -#include -#include +#include +#include // Timer (#5) @@ -42,7 +41,11 @@ void HUD_Timer() timelimit = STAT(TIMELIMIT); - timeleft = max(0, timelimit * 60 + STAT(GAMESTARTTIME) - time); + if (autocvar_hud_panel_timer_unbound){ + timeleft = max(0, timelimit * 60 + STAT(GAMESTARTTIME) - time); + } else { + timeleft = bound(0, timelimit * 60 + STAT(GAMESTARTTIME) - time, timelimit * 60); + } timeleft = ceil(timeleft); minutesLeft = floor(timeleft / 60); @@ -52,7 +55,7 @@ void HUD_Timer() { float warmup_timelimit = STAT(WARMUP_TIMELIMIT); if(warmup_timelimit > 0) - warmup_timeleft = max(0, warmup_timelimit - time); + warmup_timeleft = max(0, warmup_timelimit - time + STAT(GAMESTARTTIME)); else if(warmup_timelimit == 0) warmup_timeleft = timeleft; warmup_timeleft = ceil(warmup_timeleft); @@ -72,7 +75,11 @@ void HUD_Timer() timer = _("WARMUP"); } else if (autocvar_hud_panel_timer_increment || (!warmup_stage && timelimit == 0) || (warmup_stage && warmup_timeleft <= 0)) { if (time < STAT(GAMESTARTTIME)) - timer = seconds_tostring(0); //while restart is still active, show 00:00 + if (autocvar_hud_panel_timer_unbound){ + timer = seconds_tostring(-(STAT(GAMESTARTTIME) - time)); + } else { + timer = seconds_tostring(0); //while restart is still active, show 00:00 + } else timer = seconds_tostring(floor(time - STAT(GAMESTARTTIME))); } else {