- Generalized Hexen's class-based spawning to be a property of the player class

so now it is available in all games.
- Replaced the call to A_FlameSnd in the HereticPlayer's burn death sequence
  with A_FireScream and defined *burndeath for Heretic.
- Added Grubber's custom player class support.


SVN r250 (trunk)
This commit is contained in:
Christoph Oelckers 2006-07-13 10:17:56 +00:00
commit 31c749058b
45 changed files with 1728 additions and 819 deletions

View file

@ -90,8 +90,6 @@ class APigPlayer : public APlayerPawn
{
DECLARE_ACTOR (APigPlayer, APlayerPawn)
public:
fixed_t GetJumpZ () { return 6*FRACUNIT; }
void TweakSpeeds (int &forward, int &side);
void MorphPlayerThink ();
void ActivateMorphWeapon ();
};
@ -148,31 +146,18 @@ IMPLEMENT_ACTOR (APigPlayer, Hexen, -1, 0)
PROP_DeathState (S_PIGPLAY_DIE1)
PROP_IDeathState (S_PIGPLAY_ICE)
// [GRB]
PROP_PlayerPawn_JumpZ (6*FRACUNIT)
PROP_PlayerPawn_ViewHeight (28*FRACUNIT)
PROP_PlayerPawn_ForwardMove1 (FRACUNIT * 0x18 / 0x19) // Yes, the pig is faster than a mage.
PROP_PlayerPawn_ForwardMove2 (FRACUNIT * 0x31 / 0x32)
PROP_PlayerPawn_SideMove1 (FRACUNIT * 0x17 / 0x18)
PROP_PlayerPawn_SideMove2 (FRACUNIT * 0x27 / 0x28)
PROP_PainSound ("PigPain")
PROP_DeathSound ("PigDeath")
END_DEFAULTS
void APigPlayer::TweakSpeeds (int &forward, int &side)
{
// Yes, the pig is faster than a mage.
if ((unsigned int)(forward + 0x31ff) < 0x63ff)
{
forward = forward * 0x18 / 0x19;
}
else
{
forward = forward * 0x31 / 0x32;
}
if ((unsigned int)(side + 0x27ff) < 0x4fff)
{
side = side * 0x17 / 0x18;
}
else
{
side = side * 0x27 / 0x28;
}
}
void APigPlayer::MorphPlayerThink ()
{
if (player->morphTics&15)