3 #include <client/autocvars.qh>
4 #include <client/defs.qh>
5 #include <client/miscfunctions.qh>
9 void HUD_Timer_Export(int fh)
11 // allow saving cvars that aesthetically change the panel into hud skin files
16 if(!autocvar__hud_configure)
18 if(!autocvar_hud_panel_timer) return;
21 HUD_Panel_LoadCvars();
29 if (autocvar_hud_panel_timer_dynamichud)
36 pos += '1 1 0' * panel_bg_padding;
37 mySize -= '2 2 0' * panel_bg_padding;
41 float timelimit, timeleft, minutesLeft;
43 timelimit = STAT(TIMELIMIT);
45 timeleft = max(0, timelimit * 60 + STAT(GAMESTARTTIME) - time);
46 timeleft = ceil(timeleft);
48 minutesLeft = floor(timeleft / 60);
50 float warmup_timeleft = 0;
53 float warmup_timelimit = STAT(WARMUP_TIMELIMIT);
54 if(warmup_timelimit > 0)
55 warmup_timeleft = max(0, warmup_timelimit - time);
56 else if(warmup_timelimit == 0)
57 warmup_timeleft = timeleft;
58 warmup_timeleft = ceil(warmup_timeleft);
62 if(intermission_time || minutesLeft >= 5 || warmup_stage || timelimit == 0)
63 timer_color = '1 1 1'; //white
64 else if(minutesLeft >= 1)
65 timer_color = '1 1 0'; //yellow
67 timer_color = '1 0 0'; //red
69 if (intermission_time) {
70 timer = seconds_tostring(max(0, floor(intermission_time - STAT(GAMESTARTTIME))));
71 } else if (warmup_stage && warmup_timeleft >= 60) {
73 } else if (autocvar_hud_panel_timer_increment || (!warmup_stage && timelimit == 0) || (warmup_stage && warmup_timeleft <= 0)) {
74 if (time < STAT(GAMESTARTTIME))
75 timer = seconds_tostring(0); //while restart is still active, show 00:00
77 timer = seconds_tostring(floor(time - STAT(GAMESTARTTIME)));
80 timer = seconds_tostring(warmup_timeleft);
82 timer = seconds_tostring(timeleft);
85 drawstring_aspect(pos, timer, mySize, timer_color, panel_fg_alpha, DRAWFLAG_NORMAL);