- 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:
parent
961a4c8524
commit
2327107f32
4 changed files with 16 additions and 4 deletions
|
|
@ -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()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue