- Fixed: A_Respawn and P_NightmareRespawn() should not check for collision with world geometry.
The initial spawn did not, so this can prevent respawns of things that were initially spawned if they happen to intersect a wall. - Fixed: Don't respawn actors inside the floor. - Fixed: The final calls to P_FindFloorCeiling() in P_NightmareRespawn() and A_RestoreSpecialPosition also need to pass true as the second parameter. (Because this parameter is onlyspawnpos, not onlymidtex.) SVN r3518 (trunk)
This commit is contained in:
parent
14730a89be
commit
5358fd594b
5 changed files with 39 additions and 12 deletions
|
|
@ -384,8 +384,13 @@ DEFINE_ACTION_FUNCTION(AActor, A_RestoreSpecialPosition)
|
|||
self->z += FloatBobOffsets[(self->FloatBobPhase + level.maptime) & 63];
|
||||
}
|
||||
}
|
||||
// Redo floor/ceiling check, now with 3D floors
|
||||
P_FindFloorCeiling(self);
|
||||
// Redo floor/ceiling check, in case of 3D floors
|
||||
P_FindFloorCeiling(self, true);
|
||||
if (self->z < self->floorz)
|
||||
{ // Do not reappear under the floor, even if that's where we were for the
|
||||
// initial spawn.
|
||||
self->z = self->floorz;
|
||||
}
|
||||
}
|
||||
|
||||
int AInventory::StaticLastMessageTic;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue