diff --git a/src/p_saveg.cpp b/src/p_saveg.cpp index a4d82fea6..c814fe8d2 100644 --- a/src/p_saveg.cpp +++ b/src/p_saveg.cpp @@ -995,7 +995,6 @@ void FLevelLocals::Serialize(FSerializer &arc, bool hubload) ("automap", automap) ("interpolator", interpolator) ("frozenstate", frozenstate) - ("visualthinkerhead", VisualThinkerHead) ("actorbehaviors", ActorBehaviors); diff --git a/src/playsim/p_effect.cpp b/src/playsim/p_effect.cpp index 0cbc86a64..62db58742 100644 --- a/src/playsim/p_effect.cpp +++ b/src/playsim/p_effect.cpp @@ -1364,13 +1364,18 @@ void DVisualThinker::Serialize(FSerializer& arc) ("lightlevel", LightLevel) ("animData", PT.animData) ("flags", PT.flags) - ("visualThinkerFlags", flags) - ("next", _next) - ("prev", _prev); + ("visualThinkerFlags", flags); if(arc.isReading()) { UpdateSector(); + _prev = _next = nullptr; + if (Level->VisualThinkerHead != nullptr) + { + Level->VisualThinkerHead->_prev = this; + _next = Level->VisualThinkerHead; + } + Level->VisualThinkerHead = this; } }