From 4221ae63ce21c5b67d28557b4e7ba5f1e16d3d73 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 16 Nov 2022 22:03:42 +1000 Subject: [PATCH] Refactor prop onscreen flags in propsTickPlayer --- src/game/prop.c | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/src/game/prop.c b/src/game/prop.c index c2f9e05b2..3fdab2516 100644 --- a/src/game/prop.c +++ b/src/game/prop.c @@ -1631,11 +1631,6 @@ void propsTickPlayer(bool islastplayer) if (islastplayer) { g_Vars.prevupdateframe = g_Vars.updateframe; g_Vars.updateframe++; - - // This condition never passes because g_Vars.updateframe is a u16 - if (g_Vars.updateframe == 0xffffffff) { - g_Vars.updateframe = 0; - } } // Save these global timing values because we'll be modifying them @@ -1675,40 +1670,31 @@ void propsTickPlayer(bool islastplayer) // Update the onscreen flags for all props if (g_Vars.currentplayerindex == 0) { // This is the first time propsTickPlayer has been called on this frame - prop = g_Vars.props; - end = &g_Vars.props[g_Vars.maxprops]; + prop = g_Vars.activeprops; - for (; prop < end; prop++) { + while (prop != g_Vars.pausedprops) { flags = prop->flags; - if (flags & PROPFLAG_ONTHISSCREENTHISTICK) { - flags &= ~PROPFLAG_ONTHISSCREENTHISTICK; - } - if (flags & PROPFLAG_ONANYSCREENTHISTICK) { flags |= PROPFLAG_ONANYSCREENPREVTICK; - flags &= ~PROPFLAG_ONANYSCREENTHISTICK; - } else if (flags & PROPFLAG_ONANYSCREENPREVTICK) { - flags &= ~PROPFLAG_ONANYSCREENPREVTICK; + flags &= ~(PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONTHISSCREENTHISTICK); + } else { + flags &= ~(PROPFLAG_ONANYSCREENPREVTICK | PROPFLAG_ONTHISSCREENTHISTICK); } flags |= PROPFLAG_NOTYETTICKED; prop->flags = flags; + + prop = prop->next; } } else { // This is a subsequent call of propsTickPlayer on this frame - prop = g_Vars.props; - end = &g_Vars.props[g_Vars.maxprops]; + prop = g_Vars.activeprops; - for (; prop < end; prop++) { - flags = prop->flags; - - if (flags & PROPFLAG_ONTHISSCREENTHISTICK) { - flags &= ~PROPFLAG_ONTHISSCREENTHISTICK; - } - - prop->flags = flags; + while (prop != g_Vars.pausedprops) { + prop->flags &= ~PROPFLAG_ONTHISSCREENTHISTICK; + prop = prop->next; } }