- 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

@ -397,8 +397,6 @@ void AActor::Serialize(FArchive &arc)
if (arc.IsLoading ())
{
touching_sectorlist = NULL;
LinkToWorld (false, Sector);
AddToHash ();
SetShade (fillcolor);
if (player)
@ -415,11 +413,16 @@ void AActor::Serialize(FArchive &arc)
Speed = GetDefault()->Speed;
}
}
ClearInterpolation();
UpdateWaterLevel(false);
}
}
void AActor::PostSerialize()
{
touching_sectorlist = NULL;
LinkToWorld(false, Sector);
ClearInterpolation();
UpdateWaterLevel(false);
}
AActor::AActor () throw()
{