IMPORTANT NOTE: I uncommented some code depending on the missing x86.cpp file to allow this to compile, These changes must be reverted as soon as this file is added (see v_palette.cpp and win32/i_system.cpp.)
- Removed AT_GAME_SET because it's no longer used anywhere. - Converted the last remaining global classes to DECORATE. - Fixed: Inventory.PickupFlash requires an class name as parameter not an integer. Some Hexen definitions got it wrong. - Converted Hexen's Pig to DECORATE. - Replaced the ActorInfo definitions of all internal inventory classes with DECORATE definitions. - Added option to specify a powerup's duration in second by using a negative number. SVN r1137 (trunk)
This commit is contained in:
parent
67c844df4d
commit
ae54e13428
50 changed files with 866 additions and 638 deletions
|
|
@ -32,7 +32,7 @@ static FRandom pr_torch ("Torch");
|
|||
|
||||
EXTERN_CVAR (Bool, r_drawfuzz);
|
||||
|
||||
IMPLEMENT_ABSTRACT_ACTOR (APowerup)
|
||||
IMPLEMENT_CLASS (APowerup)
|
||||
|
||||
// Powerup-Giver -------------------------------------------------------------
|
||||
|
||||
|
|
@ -340,10 +340,7 @@ void APowerup::OwnerDied ()
|
|||
|
||||
// Invulnerability Powerup ---------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerInvulnerable, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (INVULNTICS)
|
||||
PROP_Inventory_Icon ("SPSHLD0")
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerInvulnerable)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -475,11 +472,7 @@ int APowerInvulnerable::AlterWeaponSprite (vissprite_t *vis)
|
|||
|
||||
// Strength (aka Berserk) Powerup --------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerStrength, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (1)
|
||||
PROP_Powerup_Color (128, 255, 0, 0)
|
||||
PROP_Inventory_FlagsSet (IF_HUBPOWER)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerStrength)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -543,9 +536,7 @@ PalEntry APowerStrength::GetBlend ()
|
|||
|
||||
// Invisibility Powerup ------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerInvisibility, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (INVISTICS)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerInvisibility)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -625,9 +616,7 @@ int APowerInvisibility::AlterWeaponSprite (vissprite_t *vis)
|
|||
|
||||
// Ghost Powerup (Heretic's version of invisibility) -------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerGhost, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (INVISTICS)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerGhost)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -670,10 +659,7 @@ int APowerGhost::AlterWeaponSprite (vissprite_t *vis)
|
|||
|
||||
// Shadow Powerup (Strife's version of invisibility) -------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerShadow, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (55*TICRATE)
|
||||
PROP_Inventory_FlagsSet (IF_HUBPOWER)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerShadow)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -754,10 +740,7 @@ int APowerShadow::AlterWeaponSprite (vissprite_t *vis)
|
|||
|
||||
// Ironfeet Powerup ----------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerIronFeet, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (IRONTICS)
|
||||
PROP_Powerup_Color (32, 0, 255, 0)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerIronFeet)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -783,12 +766,7 @@ void APowerIronFeet::AbsorbDamage (int damage, FName damageType, int &newdamage)
|
|||
|
||||
// Strife Environment Suit Powerup -------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerMask, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (80*TICRATE)
|
||||
PROP_Powerup_Color (0, 0, 0, 0)
|
||||
PROP_Inventory_FlagsSet (IF_HUBPOWER)
|
||||
PROP_Inventory_Icon ("I_MASK")
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerMask)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -825,9 +803,7 @@ void APowerMask::DoEffect ()
|
|||
|
||||
// Light-Amp Powerup ---------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerLightAmp, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (INFRATICS)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerLightAmp)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -868,9 +844,7 @@ void APowerLightAmp::EndEffect ()
|
|||
|
||||
// Torch Powerup -------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerTorch, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (INFRATICS)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerTorch)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -932,10 +906,7 @@ void APowerTorch::DoEffect ()
|
|||
|
||||
// Flight (aka Wings of Wrath) powerup ---------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerFlight, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (FLIGHTTICS)
|
||||
PROP_Inventory_FlagsSet (IF_HUBPOWER)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerFlight)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1066,10 +1037,7 @@ bool APowerFlight::DrawPowerup (int x, int y)
|
|||
|
||||
// Weapon Level 2 (aka Tome of Power) Powerup --------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerWeaponLevel2, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (WPNLEV2TICS)
|
||||
PROP_Inventory_Icon ("SPINBK0")
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerWeaponLevel2)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1138,16 +1106,12 @@ void APowerWeaponLevel2::EndEffect ()
|
|||
|
||||
class APlayerSpeedTrail : public AActor
|
||||
{
|
||||
DECLARE_STATELESS_ACTOR (APlayerSpeedTrail, AActor)
|
||||
DECLARE_CLASS (APlayerSpeedTrail, AActor)
|
||||
public:
|
||||
void Tick ();
|
||||
};
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APlayerSpeedTrail, Any, -1, 0)
|
||||
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
|
||||
PROP_Alpha (FRACUNIT*6/10)
|
||||
PROP_RenderStyle (STYLE_Translucent)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APlayerSpeedTrail)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1170,11 +1134,7 @@ void APlayerSpeedTrail::Tick ()
|
|||
|
||||
// Speed Powerup -------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerSpeed, Any, -1, 0)
|
||||
PROP_SpeedLong(3*FRACUNIT/2)
|
||||
PROP_Powerup_EffectTics (SPEEDTICS)
|
||||
PROP_Inventory_Icon ("SPBOOT0")
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerSpeed)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1238,24 +1198,11 @@ void APowerSpeed::DoEffect ()
|
|||
|
||||
// Minotaur (aka Dark Servant) powerup ---------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerMinotaur, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (MAULATORTICS)
|
||||
PROP_Inventory_Icon ("SPMINO0")
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerMinotaur)
|
||||
|
||||
// Targeter powerup ---------------------------------------------------------
|
||||
|
||||
FState APowerTargeter::States[] =
|
||||
{
|
||||
S_NORMAL (TRGT, 'A', -1, NULL, NULL),
|
||||
S_NORMAL (TRGT, 'B', -1, NULL, NULL),
|
||||
S_NORMAL (TRGT, 'C', -1, NULL, NULL)
|
||||
};
|
||||
|
||||
IMPLEMENT_ACTOR (APowerTargeter, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (160*TICRATE)
|
||||
PROP_Inventory_FlagsSet (IF_HUBPOWER)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerTargeter)
|
||||
|
||||
void APowerTargeter::Travelled ()
|
||||
{
|
||||
|
|
@ -1269,9 +1216,14 @@ void APowerTargeter::InitEffect ()
|
|||
if ((player = Owner->player) == NULL)
|
||||
return;
|
||||
|
||||
P_SetPsprite (player, ps_targetcenter, &States[0]);
|
||||
P_SetPsprite (player, ps_targetleft, &States[1]);
|
||||
P_SetPsprite (player, ps_targetright, &States[2]);
|
||||
FState *state = FindState("Targeter");
|
||||
|
||||
if (state != NULL)
|
||||
{
|
||||
P_SetPsprite (player, ps_targetcenter, state + 0);
|
||||
P_SetPsprite (player, ps_targetleft, state + 1);
|
||||
P_SetPsprite (player, ps_targetright, state + 2);
|
||||
}
|
||||
|
||||
player->psprites[ps_targetcenter].sx = (160-3)*FRACUNIT;
|
||||
player->psprites[ps_targetcenter].sy =
|
||||
|
|
@ -1328,9 +1280,7 @@ void APowerTargeter::PositionAccuracy ()
|
|||
|
||||
// Frightener Powerup --------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerFrightener, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (60*TICRATE)
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS (APowerFrightener)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1362,17 +1312,11 @@ void APowerFrightener::EndEffect ()
|
|||
|
||||
// Scanner powerup ----------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR (APowerScanner, Any, -1, 0)
|
||||
PROP_Powerup_EffectTics (80*TICRATE)
|
||||
PROP_Inventory_FlagsSet (IF_HUBPOWER)
|
||||
END_DEFAULTS
|
||||
|
||||
IMPLEMENT_CLASS (APowerScanner)
|
||||
|
||||
// Time freezer powerup -----------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR( APowerTimeFreezer, Any, -1, 0 )
|
||||
PROP_Powerup_EffectTics( TIMEFREEZE_TICS )
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS( APowerTimeFreezer)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1487,9 +1431,7 @@ void APowerTimeFreezer::EndEffect( )
|
|||
|
||||
// Damage powerup ------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR( APowerDamage, Any, -1, 0 )
|
||||
PROP_Powerup_EffectTics( 25*TICRATE )
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS( APowerDamage)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1543,9 +1485,7 @@ void APowerDamage::ModifyDamage(int damage, FName damageType, int &newdamage, bo
|
|||
|
||||
// Quarter damage powerup ------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR( APowerProtection, Any, -1, 0 )
|
||||
PROP_Powerup_EffectTics( 25*TICRATE )
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS( APowerProtection)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1598,9 +1538,7 @@ void APowerProtection::ModifyDamage(int damage, FName damageType, int &newdamage
|
|||
|
||||
// Drain rune -------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR( APowerDrain, Any, -1, 0 )
|
||||
PROP_Powerup_EffectTics( 60*TICRATE )
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS( APowerDrain)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1636,9 +1574,7 @@ void APowerDrain::EndEffect( )
|
|||
|
||||
// Regeneration rune -------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR( APowerRegeneration, Any, -1, 0 )
|
||||
PROP_Powerup_EffectTics( 120*TICRATE )
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS( APowerRegeneration)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1673,8 +1609,7 @@ void APowerRegeneration::EndEffect( )
|
|||
|
||||
// High jump rune -------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR( APowerHighJump, Any, -1, 0 )
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS( APowerHighJump)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
@ -1709,9 +1644,7 @@ void APowerHighJump::EndEffect( )
|
|||
|
||||
// Morph powerup ------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STATELESS_ACTOR( APowerMorph, Any, -1, 0 )
|
||||
PROP_Powerup_EffectTics( MORPHTICS )
|
||||
END_DEFAULTS
|
||||
IMPLEMENT_CLASS( APowerMorph)
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue