v = wcross_origin - wcross_oldorigin;
v.x /= vid_conwidth;
v.y /= vid_conheight;
- if(vlen(v) > 0.01)
+ if(vdist(v, >, 0.01))
shottype = SHOTTYPE_HITOBSTRUCTION;
}
if(!autocvar_crosshair_hittest_showimpact)
void HUD_Draw(entity this)
{
+ // if we don't know gametype and scores yet avoid drawing the scoreboard
+ // also in the very first frames, player state may be inconsistent so avoid drawing the hud at all
+ // e.g. since initial player's health is 0 hud would display the hud_damage effect,
+ // cl_deathscoreboard would show the scoreboard and so on
+ if(!gametype)
+ return;
+
if(!intermission)
if (MUTATOR_CALLHOOK(HUD_Draw_overlay))
{
}
}
- if(ons_roundlost)
+ if(ons_roundlost) // TODO: move this junk to a client mutator for onslaught (possible using the WantEventchase hook)
{
- FOREACH_ENTITY_CLASS("onslaught_generator", it.health <= 0, {
+ IL_EACH(g_onsgenerators, it.health <= 0,
+ {
gen = it;
break;
});
if(!postinit)
PostInit();
+ if(intermission && !gameover_time)
+ gameover_time = time;
+
if(intermission && !isdemo() && !(calledhooks & HOOK_END))
{
if(calledhooks & HOOK_START)
switchweapon = Weapons_from(STAT(SWITCHWEAPON));
- f = (serverflags & SERVERFLAG_TEAMPLAY);
- if(f != teamplay)
- {
- teamplay = f;
- Scoreboard_InitScores();
- }
-
if(last_switchweapon != switchweapon)
{
weapontime = time;