diff --git a/source/games/duke/src/savegame.cpp b/source/games/duke/src/savegame.cpp index 95968ef63..ab6ab82da 100644 --- a/source/games/duke/src/savegame.cpp +++ b/source/games/duke/src/savegame.cpp @@ -315,6 +315,7 @@ void DDukeActor::Serialize(FSerializer& arc) .Array("temp_data", temp_data, 6) .Array("temo_wall", temp_walls, 2) ("temp_angle", temp_angle) + ("temp_pos", temp_pos) ("temp_sect", temp_sect) ("uservars", uservars) ("flags1", flags1) diff --git a/source/games/duke/src/spawn.cpp b/source/games/duke/src/spawn.cpp index dec36d062..e9e168e67 100644 --- a/source/games/duke/src/spawn.cpp +++ b/source/games/duke/src/spawn.cpp @@ -161,6 +161,7 @@ bool initspriteforspawn(DDukeActor* act) act->temp_data[0] = act->temp_data[1] = act->temp_data[2] = act->temp_data[3] = act->temp_data[4] = act->temp_data[5] = 0; act->temp_actor = nullptr; act->temp_angle = nullAngle; + act->temp_pos = DVector3(0, 0, 0); if (wallswitchcheck(act) && (act->spr.cstat & CSTAT_SPRITE_ALIGNMENT_WALL)) { diff --git a/source/games/duke/src/types.h b/source/games/duke/src/types.h index e82c35ee1..c11e5ff4f 100644 --- a/source/games/duke/src/types.h +++ b/source/games/duke/src/types.h @@ -63,6 +63,7 @@ public: walltype* temp_walls[2]; // SE20 + SE128 sectortype* temp_sect, *actorstayput; DAngle temp_angle; // only used by TRIPBOMB + DVector3 temp_pos; // used by TRIPBOMB and SE_26. TObjPtr temp_actor, seek_actor;