From 15a0eb6c48547534239fe0f384d5cee56ba01b87 Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Mon, 6 Mar 2023 06:26:21 -0700 Subject: [PATCH] Add sliptideZipIndicator to netsave --- src/p_saveg.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/p_saveg.c b/src/p_saveg.c index 49d31a230..c420646b4 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -67,6 +67,7 @@ typedef enum SKYBOXCENTER = 0x10, HOVERHYUDORO = 0x20, STUMBLE = 0x40, + SLIPTIDEZIP = 0x80 } player_saveflags; static inline void P_ArchivePlayer(savebuffer_t *save) @@ -218,6 +219,9 @@ static void P_NetArchivePlayers(savebuffer_t *save) if (players[i].stumbleIndicator) flags |= STUMBLE; + if (players[i].sliptideZipIndicator) + flags |= SLIPTIDEZIP; + WRITEUINT16(save->p, flags); if (flags & SKYBOXVIEW) @@ -238,6 +242,9 @@ static void P_NetArchivePlayers(savebuffer_t *save) if (flags & STUMBLE) WRITEUINT32(save->p, players[i].stumbleIndicator->mobjnum); + if (flags & SLIPTIDEZIP) + WRITEUINT32(save->p, players[i].sliptideZipIndicator->mobjnum); + WRITEUINT32(save->p, (UINT32)players[i].followitem); WRITEUINT32(save->p, players[i].charflags); @@ -611,6 +618,9 @@ static void P_NetUnArchivePlayers(savebuffer_t *save) if (flags & STUMBLE) players[i].stumbleIndicator = (mobj_t *)(size_t)READUINT32(save->p); + if (flags & SLIPTIDEZIP) + players[i].sliptideZipIndicator = (mobj_t *)(size_t)READUINT32(save->p); + players[i].followitem = (mobjtype_t)READUINT32(save->p); //SetPlayerSkinByNum(i, players[i].skin); @@ -4754,6 +4764,13 @@ static void P_RelinkPointers(void) if (!P_SetTarget(&players[i].stumbleIndicator, P_FindNewPosition(temp))) CONS_Debug(DBG_GAMELOGIC, "stumbleIndicator not found on player %d\n", i); } + if (players[i].sliptideZipIndicator) + { + temp = (UINT32)(size_t)players[i].sliptideZipIndicator; + players[i].sliptideZipIndicator = NULL; + if (!P_SetTarget(&players[i].sliptideZipIndicator, P_FindNewPosition(temp))) + CONS_Debug(DBG_GAMELOGIC, "sliptideZipIndicator not found on player %d\n", i); + } } }