mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-10 14:51:51 +00:00
- Changed the rocket so that the FX_ROCKET flag is set in the actor
definition and not in BeginPlay. - Changed the special explosion behavior of the rocket to a flag (MF5_DEHEXPLOSION) so that its effects can be used on other actors as well without having to inherit from the rocket. SVN r353 (trunk)
This commit is contained in:
parent
92c3a89255
commit
39d2ef0460
9 changed files with 16 additions and 8 deletions
|
@ -1,3 +1,10 @@
|
|||
October 15, 2006 (Changes by Graf Zahl)
|
||||
- Changed the rocket so that the FX_ROCKET flag is set in the actor
|
||||
definition and not in BeginPlay.
|
||||
- Changed the special explosion behavior of the rocket to a flag
|
||||
(MF5_DEHEXPLOSION) so that its effects can be used on other actors
|
||||
as well without having to inherit from the rocket.
|
||||
|
||||
October 7, 2006 (Changes by Graf Zahl)
|
||||
- Fixed: PrintAlias passed FString objects directly to Printf.
|
||||
- Added bitwise not (~) operator to ACS.
|
||||
|
|
|
@ -283,6 +283,7 @@ enum
|
|||
MF5_CHASEGOAL = 0x00000080, // Walks to goal instead of target if a valid goal is set.
|
||||
MF5_BLOODSPLATTER = 0x00000100, // Blood splatter like in Raven's games.
|
||||
MF5_OLDRADIUSDMG = 0x00000200, // Use old radius damage code (for barrels and boss brain)
|
||||
MF5_DEHEXPLOSION = 0x00000400, // Use the DEHACKED explosion options when this projectile explodes
|
||||
|
||||
// --- mobj.renderflags ---
|
||||
|
||||
|
|
|
@ -26,7 +26,6 @@ class ARocket : public AActor
|
|||
{
|
||||
DECLARE_ACTOR (ARocket, AActor)
|
||||
public:
|
||||
void BeginPlay ();
|
||||
};
|
||||
|
||||
class AArchvile : public AActor
|
||||
|
|
|
@ -706,6 +706,8 @@ IMPLEMENT_ACTOR (ARocket, Doom, -1, 127)
|
|||
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
|
||||
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
|
||||
PROP_Flags4 (MF4_RANDOMIZE)
|
||||
PROP_Flags5 (MF5_DEHEXPLOSION)
|
||||
PROP_FXFlags (FX_ROCKET)
|
||||
|
||||
PROP_SpawnState (S_ROCKET)
|
||||
PROP_DeathState (S_EXPLODE)
|
||||
|
@ -715,12 +717,6 @@ IMPLEMENT_ACTOR (ARocket, Doom, -1, 127)
|
|||
PROP_Obituary("$OB_MPROCKET")
|
||||
END_DEFAULTS
|
||||
|
||||
void ARocket::BeginPlay ()
|
||||
{
|
||||
Super::BeginPlay ();
|
||||
effects |= FX_ROCKET;
|
||||
}
|
||||
|
||||
//
|
||||
// A_FireMissile
|
||||
//
|
||||
|
|
|
@ -287,6 +287,7 @@ enum
|
|||
ADEF_BounceCount,
|
||||
ADEF_FloatSpeed,
|
||||
ADEF_RDFactor,
|
||||
ADEF_FXFlags,
|
||||
|
||||
ADEF_SpawnState,
|
||||
ADEF_SeeState,
|
||||
|
|
|
@ -230,6 +230,7 @@ static void ApplyActorDefault (int defnum, const char *datastr, int dataint)
|
|||
case ADEF_BounceFactor: actor->bouncefactor = dataint; break;
|
||||
case ADEF_BounceCount: actor->bouncecount = dataint; break;
|
||||
case ADEF_RDFactor: sgClass->Meta.SetMetaFixed (AMETA_RDFactor, dataint); break;
|
||||
case ADEF_FXFlags: actor->effects = dataint; break;
|
||||
|
||||
case ADEF_SpawnState: actor->SpawnState = datastate; break;
|
||||
case ADEF_SeeState: actor->SeeState = datastate; break;
|
||||
|
|
|
@ -264,6 +264,8 @@ public:
|
|||
#define PROP_BounceFactor(x) ADD_LONG_PROP(ADEF_BounceFactor,x)
|
||||
#define PROP_BounceCount(x) ADD_LONG_PROP(ADEF_BounceCount,x)
|
||||
#define PROP_RadiusdamageFactor(x) ADD_LONG_PROP(ADEF_RDFactor,x)
|
||||
#define PROP_FXFlags(x) ADD_LONG_PROP(ADEF_FXFlags,x)
|
||||
|
||||
|
||||
#define PROP_SpawnState(x) ADD_BYTE_PROP(ADEF_SpawnState,x)
|
||||
#define PROP_SeeState(x) ADD_BYTE_PROP(ADEF_SeeState,x)
|
||||
|
|
|
@ -1078,7 +1078,7 @@ void P_ExplodeMissile (AActor *mo, line_t *line)
|
|||
if (mo->DeathState != NULL)
|
||||
{
|
||||
// [RH] Change render style of exploding rockets
|
||||
if (mo->IsKindOf (RUNTIME_CLASS(ARocket)))
|
||||
if (mo->flags5 & MF5_DEHEXPLOSION)
|
||||
{
|
||||
if (deh.ExplosionStyle == 255)
|
||||
{
|
||||
|
|
|
@ -219,6 +219,7 @@ static flagdef ActorFlags[]=
|
|||
DEFINE_FLAG(MF5, NODAMAGE, AActor, flags5),
|
||||
DEFINE_FLAG(MF5, BLOODSPLATTER, AActor, flags5),
|
||||
DEFINE_FLAG(MF5, OLDRADIUSDMG, AActor, flags5),
|
||||
DEFINE_FLAG(MF5, DEHEXPLOSION, AActor, flags5),
|
||||
|
||||
// Effect flags
|
||||
DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),
|
||||
|
|
Loading…
Reference in a new issue