- 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:
parent
092512c44a
commit
9c4cbedc26
17 changed files with 144 additions and 87 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue