- Added 'EndTitle' nextmap option which goes to the regular title loop after

the game has finished.
- Added NOBOSSRIP flag. Note: we are now at flags6!
- Added SetSkyScrollSpeed(int skyplane, fixed speed) ACS function.
- Added THRUACTORS flag that disables all actor<->actor collision detection.
- Added DONTSEEKINVISIBLE flag for missiles that can't home in on invisible
  targets.
- Added SFX_TRANSFERPITCH flag to A_SpawnItemEx.
- Added Ultimate Freedoom IWAD detection.
- Added GetAirSupply and SetAirSupply functions to ACS.
- Fixed: The *surface sound was not played when drowning was switched off
  by setting the level's air supply to 0.

SVN r1619 (trunk)
This commit is contained in:
Christoph Oelckers 2009-05-30 08:56:40 +00:00
commit 9c4cbedc26
17 changed files with 144 additions and 87 deletions

View file

@ -233,6 +233,7 @@ void AActor::Serialize (FArchive &arc)
<< flags3
<< flags4
<< flags5
<< flags6
<< special1
<< special2
<< health
@ -1403,6 +1404,26 @@ int P_FaceMobj (AActor *source, AActor *target, angle_t *delta)
}
}
//----------------------------------------------------------------------------
//
// CanSeek
//
// Checks if a seeker missile can home in on its target
//
//----------------------------------------------------------------------------
bool AActor::CanSeek(AActor *target) const
{
if (target->flags5 & MF5_CANTSEEK) return false;
if ((flags2 & MF2_DONTSEEKINVISIBLE) &&
((target->flags & MF_SHADOW) ||
target->renderflags & RF_INVISIBLE ||
target->RenderStyle.IsVisible(target->alpha)
)
) return false;
return true;
}
//----------------------------------------------------------------------------
//
// FUNC P_SeekerMissile
@ -1421,7 +1442,7 @@ bool P_SeekerMissile (AActor *actor, angle_t thresh, angle_t turnMax)
AActor *target;
target = actor->tracer;
if (target == NULL || actor->Speed == 0 || (target->flags5 & MF5_CANTSEEK))
if (target == NULL || actor->Speed == 0 || !actor->CanSeek(target))
{
return false;
}