- Fixed dynamic light crash with respawning players.

Update to ZDoom r971:

- Changed: For actors not being spawned on the floor P_FindFloorCeiling should
  be used to prevent them from dropping through 3DMIDTEX textures.
- Fixed: AMageStaffFX2::IsOkayToAttack overwrote the projectile's angle variable.
- Changed the types of object hash indices in FArchive from size_t to DWORD.
  This seems to fix crashes on GCC 64-bit builds when saving games. Not sure
  if it was a GCC bug or my bug, since it worked fine with VC++, but since the
  code that calculates the index only returns a DWORD, storing it as a size_t
  was rather pointless.
- Added the C99 printf size specifiers 't' (ptrdiff_t) and 'z' (size_t) to
  FString::Format() so that I can fix all the problem printf strings that a
  64-bit GCC compile finds.
- Added Skulltag's PUFFGETSOWNER flag.
- Fixed: Parsing sector special bit masks must be done backwards so that later
  definitions take precedence.
- Added base translation tables for UDMF compatibility maps which only should
  handle the native line and sector types of each game.
- Turned the inactive SILENT_INSTANT_FLOORS define into a compatibility option
  so that it can be (un)set in a map definition and the menu.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@105 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
Christoph Oelckers 2008-05-14 17:49:11 +00:00
parent 8af1af3d08
commit 1f492784df
45 changed files with 373 additions and 158 deletions

View file

@ -533,8 +533,6 @@ manual_floor:
}
// Do not interpolate instant movement floors.
// Note for ZDoomGL: Check to make sure that you update the sector
// after the floor moves, because it hasn't actually moved yet.
bool silent = false;
if ((floor->m_Direction>0 && floor->m_FloorDestDist>sec->floorplane.d) || // moving up but going down
@ -542,18 +540,15 @@ manual_floor:
(floor->m_Speed >= abs(sec->floorplane.d - floor->m_FloorDestDist))) // moving in one step
{
stopinterpolation (INTERP_SectorFloor, sec);
// [Graf Zahl]
// Don't make sounds for instant movement hacks but make an exception for
// switches that activate their own back side.
// I'll leave the decision about this to somebody else. In many maps
// it helps but there are some where this omits sounds that should be there.
#ifdef SILENT_INSTANT_FLOORS
if (floortype != DFloor::floorRaiseInstant && floortype != DFloor::floorLowerInstant)
if (!(i_compatflags & COMPATF_SILENT_INSTANT_FLOORS))
{
if (!line || GET_SPAC(line->flags) != SPAC_USE || line->backsector!=sec)
if (!line || !(line->activation & (SPAC_Use|SPAC_Push)) || line->backsector!=sec)
silent = true;
}
#endif
}
if (!silent) floor->StartFloorSound ();