From 38ab22f02272ccb498920302edfeed96ac218ec5 Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 1 May 2022 14:04:25 -0700 Subject: [PATCH] Netsave player.hoverhyudoro --- src/p_saveg.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/p_saveg.c b/src/p_saveg.c index 18cef0e94..f6acde09e 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -62,6 +62,7 @@ typedef enum FOLLOWER = 0x04, SKYBOXVIEW = 0x08, SKYBOXCENTER = 0x10, + HOVERHYUDORO = 0x20, } player_saveflags; static inline void P_ArchivePlayer(void) @@ -195,6 +196,9 @@ static void P_NetArchivePlayers(void) if (players[i].skybox.centerpoint) flags |= SKYBOXCENTER; + if (players[i].hoverhyudoro) + flags |= HOVERHYUDORO; + WRITEUINT16(save_p, flags); if (flags & SKYBOXVIEW) @@ -209,6 +213,9 @@ static void P_NetArchivePlayers(void) if (flags & FOLLOWITEM) WRITEUINT32(save_p, players[i].followmobj->mobjnum); + if (flags & HOVERHYUDORO) + WRITEUINT32(save_p, players[i].hoverhyudoro->mobjnum); + WRITEUINT32(save_p, (UINT32)players[i].followitem); WRITEUINT32(save_p, players[i].charflags); @@ -474,6 +481,9 @@ static void P_NetUnArchivePlayers(void) if (flags & FOLLOWITEM) players[i].followmobj = (mobj_t *)(size_t)READUINT32(save_p); + if (flags & HOVERHYUDORO) + players[i].hoverhyudoro = (mobj_t *)(size_t)READUINT32(save_p); + players[i].followitem = (mobjtype_t)READUINT32(save_p); //SetPlayerSkinByNum(i, players[i].skin); @@ -4213,6 +4223,13 @@ static void P_RelinkPointers(void) CONS_Debug(DBG_GAMELOGIC, "respawn.wp not found on %d\n", mobj->type); } } + if (mobj->player->hoverhyudoro) + { + temp = (UINT32)(size_t)mobj->player->hoverhyudoro; + mobj->player->hoverhyudoro = NULL; + if (!P_SetTarget(&mobj->player->hoverhyudoro, P_FindNewPosition(temp))) + CONS_Debug(DBG_GAMELOGIC, "hoverhyudoro not found on %d\n", mobj->type); + } } } }