- fixed: Actors cannot be linked into the world until after all actors and sectors have been deserialized.

Two issues:

Portal linking requires all skyboxes in the sectors to be present, without them some info is not there when needed.
UpdateWaterLevel was called in AActor::Serialize, which operated on the freshly loaded level where lots of things haven't been set up yet and plane heights may be wrong.
This commit is contained in:
Christoph Oelckers 2016-04-18 15:27:19 +02:00
commit 2327107f32
4 changed files with 16 additions and 4 deletions

View file

@ -1580,6 +1580,13 @@ void G_SerializeLevel (FArchive &arc, bool hubLoad)
P_SerializeSounds (arc);
if (arc.IsLoading())
{
FThinkerIterator it(RUNTIME_CLASS(DThinker));
DThinker *th;
while ((th = it.Next()))
{
th->PostSerialize();
}
for (i = 0; i < numsectors; i++)
{
P_Recalculate3DFloors(&sectors[i]);