- Added a NOTIMEFREEZE flag that excludes actors from being affected by

the time freezer powerup.
- Changed: Empty pickup messages are no longer printed. 

SVN r886 (trunk)
This commit is contained in:
Christoph Oelckers 2008-04-06 09:24:41 +00:00
parent c5333d4abb
commit d938121378
6 changed files with 21 additions and 11 deletions

View file

@ -1,3 +1,8 @@
April 6, 2008 (Changes by Graf Zahl)
- Added a NOTIMEFREEZE flag that excludes actors from being affected by
the time freezer powerup.
- Changed: Empty pickup messages are no longer printed.
April 5, 2008 (Changes by Graf Zahl)
- Changed secret sector drawing in automap so that lines with the ML_SECRET
flag are only drawn as part of a secret sector if that secret has already

View file

@ -299,6 +299,7 @@ enum
MF5_DONTRIP = 0x00080000, // Ripping projectiles explode when hittin this actor
MF5_NOINFIGHTING = 0x00100000, // This actor doesn't switch target when it's hurt
MF5_NOINTERACTION = 0x00200000, // Thing is completely excluded from any gameplay related checks
MF5_NOTIMEFREEZE = 0x00400000, // Actor is not affected by time freezer
// --- mobj.renderflags ---

View file

@ -884,7 +884,7 @@ static void PrintPickupMessage (const char *str)
{
str=GStrings(str+1);
}
Printf (PRINT_LOW, "%s\n", str);
if (str[0] != 0) Printf (PRINT_LOW, "%s\n", str);
}
}

View file

@ -1162,10 +1162,10 @@ void P_ConversationCommand (int player, BYTE **stream)
break;
case CONV_SETNULL:
players[player].ConversationFaceTalker = NULL;
players[player].ConversationFaceTalker = false;
players[player].ConversationNPC = NULL;
players[player].ConversationPC = NULL;
players[player].ConversationNPCAngle = NULL;
players[player].ConversationNPCAngle = 0;
break;
default:

View file

@ -2573,16 +2573,19 @@ void AActor::Tick ()
return;
}
//Added by MC: Freeze mode.
if (bglobal.freeze && !(player && !player->isbot))
if (!(flags5 & MF5_NOTIMEFREEZE))
{
return;
}
//Added by MC: Freeze mode.
if (bglobal.freeze && !(player && !player->isbot))
{
return;
}
// Apply freeze mode.
if (( level.flags & LEVEL_FROZEN ) && ( player == NULL || !( player->cheats & CF_TIMEFREEZE )))
{
return;
// Apply freeze mode.
if (( level.flags & LEVEL_FROZEN ) && ( player == NULL || !( player->cheats & CF_TIMEFREEZE )))
{
return;
}
}
if (cl_rockettrails & 2)

View file

@ -236,6 +236,7 @@ static flagdef ActorFlags[]=
DEFINE_FLAG(MF5, DONTRIP, AActor, flags5),
DEFINE_FLAG(MF5, NOINFIGHTING, AActor, flags5),
DEFINE_FLAG(MF5, NOINTERACTION, AActor, flags5),
DEFINE_FLAG(MF5, NOTIMEFREEZE, AActor, flags5),
// Effect flags
DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),