mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2025-01-18 21:21:36 +00:00
- Added APROP_Dropped actor property.
- Fixed: The compatmode CVAR needs CVAR_NOINITCALL so that the compatibility flags don't get reset each start. - Fixed: compatmode Doom(strict) was missing COMPAT_CROSSDROPOFF SVN r1376 (trunk)
This commit is contained in:
parent
d08c0e08f2
commit
fb9601b9eb
3 changed files with 47 additions and 20 deletions
|
@ -1,3 +1,9 @@
|
|||
January 28, 2009 (Changes by Graf Zahl)
|
||||
- Added APROP_Dropped actor property.
|
||||
- Fixed: The compatmode CVAR needs CVAR_NOINITCALL so that the compatibility
|
||||
flags don't get reset each start.
|
||||
- Fixed: compatmode Doom(strict) was missing COMPAT_CROSSDROPOFF
|
||||
|
||||
January 27, 2009
|
||||
- More GCC warning removal, the most egregious of which was the security
|
||||
vulnerability "format not a string literal and no format arguments".
|
||||
|
@ -12,6 +18,18 @@ January 26, 2009
|
|||
for the normal voice processing.
|
||||
|
||||
January 25, 2009 (Changes by Graf Zahl)
|
||||
- fixed some issues with P_FindFloorCeiling's coordinate processing.
|
||||
- added a new compatmode CVAR which allows setting some generic compatibility
|
||||
flag combinations:
|
||||
Doom: sets the options needed to make most Doom.exe compatible map play without
|
||||
errors.
|
||||
Doom (strict): Same as above but sets a few more options. Please note that this
|
||||
does not mean full Doom.exe behavior emulation.
|
||||
Boom: Sets all options that consider differences between ZDoom and Boom.
|
||||
ZDoom 2.0.63: Sets only the COMPATF_SOUNDTARGET option which is needed for
|
||||
many older ZDoom maps.
|
||||
- added new COMPAT_CROSSDROPOFF option to block monsters from being pushed over
|
||||
dropoffs by damage kickback.
|
||||
- fixed: AFastProjectile::Tick must call Effect only 8 times per tic, regardless
|
||||
of the amount of steps taken.
|
||||
- fixed: momentum checks in AFastProjectile did not use absolute values.
|
||||
|
|
|
@ -523,7 +523,7 @@ CUSTOM_CVAR (Int, compatflags, 0, CVAR_ARCHIVE|CVAR_SERVERINFO)
|
|||
i_compatflags = GetCompatibility(self);
|
||||
}
|
||||
|
||||
CUSTOM_CVAR(Int, compatmode, 0, CVAR_ARCHIVE|CVAR_SERVERINFO)
|
||||
CUSTOM_CVAR(Int, compatmode, 0, CVAR_ARCHIVE|CVAR_SERVERINFO|CVAR_NOINITCALL)
|
||||
{
|
||||
int v;
|
||||
|
||||
|
@ -542,7 +542,7 @@ CUSTOM_CVAR(Int, compatmode, 0, CVAR_ARCHIVE|CVAR_SERVERINFO)
|
|||
case 2: // same as 1 but stricter (NO_PASSMOBJ and INVISIBILITY are also set)
|
||||
v = COMPATF_SHORTTEX|COMPATF_STAIRINDEX|COMPATF_USEBLOCKING|COMPATF_NODOORLIGHT|
|
||||
COMPATF_TRACE|COMPATF_MISSILECLIP|COMPATF_SOUNDTARGET|COMPATF_NO_PASSMOBJ|COMPATF_LIMITPAIN|
|
||||
COMPATF_DEHHEALTH|COMPATF_INVISIBILITY;
|
||||
COMPATF_DEHHEALTH|COMPATF_INVISIBILITY|COMPATF_CROSSDROPOFF;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
|
|
|
@ -2157,24 +2157,28 @@ void DLevelScript::DoSetFont (int fontnum)
|
|||
}
|
||||
}
|
||||
|
||||
#define APROP_Health 0
|
||||
#define APROP_Speed 1
|
||||
#define APROP_Damage 2
|
||||
#define APROP_Alpha 3
|
||||
#define APROP_RenderStyle 4
|
||||
#define APROP_Ambush 10
|
||||
#define APROP_Invulnerable 11
|
||||
#define APROP_JumpZ 12 // [GRB]
|
||||
#define APROP_ChaseGoal 13
|
||||
#define APROP_Frightened 14
|
||||
#define APROP_Gravity 15
|
||||
#define APROP_Friendly 16
|
||||
#define APROP_SpawnHealth 17
|
||||
#define APROP_SeeSound 5 // Sounds can only be set, not gotten
|
||||
#define APROP_AttackSound 6
|
||||
#define APROP_PainSound 7
|
||||
#define APROP_DeathSound 8
|
||||
#define APROP_ActiveSound 9
|
||||
enum
|
||||
{
|
||||
APROP_Health = 0,
|
||||
APROP_Speed = 1,
|
||||
APROP_Damage = 2,
|
||||
APROP_Alpha = 3,
|
||||
APROP_RenderStyle = 4,
|
||||
APROP_SeeSound = 5, // Sounds can only be set, not gotten
|
||||
APROP_AttackSound = 6,
|
||||
APROP_PainSound = 7,
|
||||
APROP_DeathSound = 8,
|
||||
APROP_ActiveSound = 9,
|
||||
APROP_Ambush = 10,
|
||||
APROP_Invulnerable = 11,
|
||||
APROP_JumpZ = 12, // [GRB]
|
||||
APROP_ChaseGoal = 13,
|
||||
APROP_Frightened = 14,
|
||||
APROP_Gravity = 15,
|
||||
APROP_Friendly = 16,
|
||||
APROP_SpawnHealth = 17,
|
||||
APROP_Dropped = 18,
|
||||
};
|
||||
|
||||
// These are needed for ACS's APROP_RenderStyle
|
||||
static const int LegacyRenderStyleIndices[] =
|
||||
|
@ -2253,6 +2257,10 @@ void DLevelScript::DoSetActorProperty (AActor *actor, int property, int value)
|
|||
if (value) actor->flags |= MF_AMBUSH; else actor->flags &= ~MF_AMBUSH;
|
||||
break;
|
||||
|
||||
case APROP_Dropped:
|
||||
if (value) actor->flags |= MF_DROPPED; else actor->flags &= ~MF_DROPPED;
|
||||
break;
|
||||
|
||||
case APROP_Invulnerable:
|
||||
if (value) actor->flags2 |= MF2_INVULNERABLE; else actor->flags2 &= ~MF2_INVULNERABLE;
|
||||
break;
|
||||
|
@ -2356,6 +2364,7 @@ int DLevelScript::GetActorProperty (int tid, int property)
|
|||
return STYLE_Normal;
|
||||
case APROP_Gravity: return actor->gravity;
|
||||
case APROP_Ambush: return !!(actor->flags & MF_AMBUSH);
|
||||
case APROP_Dropped: return !!(actor->flags & MF_DROPPED);
|
||||
case APROP_ChaseGoal: return !!(actor->flags5 & MF5_CHASEGOAL);
|
||||
case APROP_Frightened: return !!(actor->flags4 & MF4_FRIGHTENED);
|
||||
case APROP_Friendly: return !!(actor->flags & MF_FRIENDLY);
|
||||
|
|
Loading…
Reference in a new issue