- Fixed: For map spawns any change to an actor's floor z-coordinate must be

delayed until after its z-coordinate has been set. That means that for 
  map spawns AActor::StaticSpawn may not call P_FindFloorCeiling for such
  actors.


SVN r1352 (trunk)
This commit is contained in:
Christoph Oelckers 2009-01-04 15:51:00 +00:00
parent 78933df10d
commit a73b008255
2 changed files with 7 additions and 2 deletions

View file

@ -1,4 +1,8 @@
January 4, 2009 (Changes by Graf Zahl) January 4, 2009 (Changes by Graf Zahl)
- Fixed: For map spawns any change to an actor's floor z-coordinate must be
delayed until after its z-coordinate has been set. That means that for
map spawns AActor::StaticSpawn may not call P_FindFloorCeiling for such
actors.
- added GZDoom's 3D floor physics code. This is not active yet so anything - added GZDoom's 3D floor physics code. This is not active yet so anything
compiled from this code won't have any support for it! compiled from this code won't have any support for it!
- Used new functionality to avoid moving the puff around in SpawnDeepSplash. - Used new functionality to avoid moving the puff around in SpawnDeepSplash.

View file

@ -3226,8 +3226,9 @@ AActor *AActor::StaticSpawn (const PClass *type, fixed_t ix, fixed_t iy, fixed_t
actor->ceilingsector = actor->Sector; actor->ceilingsector = actor->Sector;
actor->ceilingpic = actor->ceilingsector->GetTexture(sector_t::ceiling); actor->ceilingpic = actor->ceilingsector->GetTexture(sector_t::ceiling);
// Check if there's something solid to stand on between the current position and the // Check if there's something solid to stand on between the current position and the
// current sector's floor. // current sector's floor. For map spawns this must be delayed until after setting the
P_FindFloorCeiling(actor, true); // z-coordinate.
if (!SpawningMapThing) P_FindFloorCeiling(actor, true);
} }
else if (!(actor->flags5 & MF5_NOINTERACTION)) else if (!(actor->flags5 & MF5_NOINTERACTION))
{ {