From 35e530be3df2dcb2c87ba4838211014a61428e3e Mon Sep 17 00:00:00 2001 From: Lat Date: Wed, 20 Sep 2023 13:47:39 +0200 Subject: [PATCH] LSZ bungee object/variable definitions --- src/d_player.h | 5 +++++ src/deh_tables.c | 2 ++ src/info.c | 27 +++++++++++++++++++++++++++ src/info.h | 2 ++ src/p_saveg.c | 4 ++++ 5 files changed, 40 insertions(+) diff --git a/src/d_player.h b/src/d_player.h index 85be7c772..316b55c05 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -730,6 +730,11 @@ struct player_t fixed_t rdaddmomy; fixed_t rdaddmomz; + //////////// + // bungee // + //////////// + UINT8 bungee; // constants are defined with the object file for the bungee. + // SINT8 lives; diff --git a/src/deh_tables.c b/src/deh_tables.c index 0749e1665..a49383b8b 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -5827,6 +5827,8 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t "MT_RIDEROID", "MT_RIDEROIDNODE", + + "MT_LSZ_BUNGEE", }; const char *const MOBJFLAG_LIST[] = { diff --git a/src/info.c b/src/info.c index a8c684a0e..39f3695a8 100644 --- a/src/info.c +++ b/src/info.c @@ -30442,6 +30442,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = MF_NOGRAVITY|MF_NOCLIP, // flags S_NULL // raisestate }, + + { // MT_LSZ_BUNGEE + 3440, // doomednum + S_INVISIBLE, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 0, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 127*FRACUNIT, // radius + 64*FRACUNIT, // height + 0, // display offset + 0, // mass + 0, // damage + sfx_None, // activesound + MF_NOGRAVITY|MF_SPECIAL, // flags + S_NULL // raisestate + }, }; diff --git a/src/info.h b/src/info.h index d364efc36..f8f003468 100644 --- a/src/info.h +++ b/src/info.h @@ -7026,6 +7026,8 @@ typedef enum mobj_type MT_RIDEROID, MT_RIDEROIDNODE, + MT_LSZ_BUNGEE, + MT_FIRSTFREESLOT, MT_LASTFREESLOT = MT_FIRSTFREESLOT + NUMMOBJFREESLOTS - 1, NUMMOBJTYPES diff --git a/src/p_saveg.c b/src/p_saveg.c index 4af1c0b33..12ddd959e 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -563,6 +563,8 @@ static void P_NetArchivePlayers(savebuffer_t *save) WRITEFIXED(save->p, players[i].rdaddmomy); WRITEFIXED(save->p, players[i].rdaddmomz); + WRITEUINT8(save->, players[i].bungee); + // respawnvars_t WRITEUINT8(save->p, players[i].respawn.state); WRITEUINT32(save->p, K_GetWaypointHeapIndex(players[i].respawn.wp)); @@ -1046,6 +1048,8 @@ static void P_NetUnArchivePlayers(savebuffer_t *save) players[i].rdaddmomx = READFIXED(save->p); players[i].rdaddmomy = READFIXED(save->p); players[i].rdaddmomz = READFIXED(save->p); + + players[i].bungee = READUINT8(save->p); // respawnvars_t players[i].respawn.state = READUINT8(save->p);