- Fixed: Doom's fullscreen HUD was limited to 6 keys.

- Made 'next endgame' work again for cases where it is supposed to be
  the same as 'next endgame4'.
- GCC nitpick fix: Classes being used as template parameters may not be
  defined locally in a function. Fixed FWadFile::SetNamespace for that.
- Improved error reporting for incorrect textures in maps.
- Fixed: When music was stopped this was not set in the global music state.
- Fixed: Friendly monsters did not target enemy players in deathmatch.

SVN r1567 (trunk)
This commit is contained in:
Christoph Oelckers 2009-05-02 09:14:01 +00:00
commit 4d5692bf80
10 changed files with 140 additions and 48 deletions

View file

@ -1407,8 +1407,11 @@ bool P_LookForPlayers (AActor *actor, INTBOOL allaround)
}
else if (actor->flags & MF_FRIENDLY)
{
return P_LookForEnemies (actor, allaround);
}
if (!deathmatch) // [SP] If you don't see any enemies in deathmatch, look for players.
return P_LookForEnemies (actor, allaround);
else if ( P_LookForEnemies (actor, allaround) )
return true;
} // [SP] if false, and in deathmatch, intentional fall-through
if (!(gameinfo.gametype & (GAME_DoomStrifeChex)) &&
!multiplayer &&
@ -1482,6 +1485,16 @@ bool P_LookForPlayers (AActor *actor, INTBOOL allaround)
if (!P_CheckSight (actor, player->mo, 2))
continue; // out of sight
// [SP] Deathmatch fixes - if we have MF_FRIENDLY we're definitely in deathmatch
// We're going to ignore our master, but go after his enemies.
if ( actor->flags & MF_FRIENDLY )
{
if ( actor->FriendPlayer == 0 )
continue; // I have no friends, I will ignore players.
if ( actor->FriendPlayer == player->mo->FriendPlayer )
continue; // This is my master.
}
if (!allaround)
{
an = R_PointToAngle2 (actor->x,