- Fixed: Turning off follow mode with automap rotating enabled did not
function in an easy-to-understand manner. - Fixed: D_AddWildFile() blindly assumed that all matches were files. - Added back the dead player check to CheckIfExitIsGood(), but now it applies only if the next map is part of the same hub. Otherwise, you can still exit the map while dead. - Removed the SpawnedPuff global variable and made it a return value from P_LineAttack(). - Fixed: P_SpawnPuff() played sounds for temporary puffs. SVN r739 (trunk)
This commit is contained in:
parent
3f80b8d21f
commit
e8e7cebe18
13 changed files with 121 additions and 60 deletions
|
|
@ -119,17 +119,30 @@ static void P_SpawnPushers (); // phares 3/20/98
|
|||
|
||||
|
||||
// [RH] Check dmflags for noexit and respond accordingly
|
||||
bool CheckIfExitIsGood (AActor *self)
|
||||
bool CheckIfExitIsGood (AActor *self, level_info_t *info)
|
||||
{
|
||||
cluster_info_t *cluster;
|
||||
|
||||
// The world can always exit itself.
|
||||
if (self == NULL)
|
||||
return true;
|
||||
|
||||
// Is this a deathmatch game and we're not allowed to exit?
|
||||
if ((deathmatch || alwaysapplydmflags) && (dmflags & DF_NO_EXIT))
|
||||
{
|
||||
P_DamageMobj (self, self, self, 1000000, NAME_Exit);
|
||||
return false;
|
||||
}
|
||||
// Is this a singleplayer game and the next map is part of the same hub and we're dead?
|
||||
if (self->health <= 0 &&
|
||||
!multiplayer &&
|
||||
info != NULL &&
|
||||
info->cluster == level.cluster &&
|
||||
(cluster = FindClusterInfo(level.cluster)) != NULL &&
|
||||
cluster->flags & CLUSTER_HUB)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (deathmatch)
|
||||
{
|
||||
Printf ("%s exited the level.\n", self->player->userinfo.netname);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue