- Converted the Heretic sound sequences and the particle fountains to DECORATE.

- Added DECORATE support for setting an actor's args. If this is done
  it will also disable the actor's special that can be set in a map. This
  is for actors that want to use A_CountdownArg or similar functions
  that use the args for something different than the special's parameters.
- Converted a_sharedmisc.cpp to DECORATE.
- Added a new NActorIterator that can search for classes specified by name.
- Added a new constructor to TThinkerIterator that can search
  for DECORATE defined subclasses that are not represented by a real C++ class.
- Fixed: BuildInfoDefaults must set the parent symbol table so that 
  all actors can get to the global symbols stored in AActor.
- Fixed some minor inconsistencies in the Arch-Vile's DECORATE definition.
- Fixed: A_VileAttack moved the flame without relinking it into the sector 
  lists. It also forgot to set the z-position correctly. (original Doom bug.)
- Fixed: The Doom 2 cast finale didn't work with the dynamic state name handling.


SVN r401 (trunk)
This commit is contained in:
Christoph Oelckers 2006-12-02 15:38:50 +00:00
commit c7644ca34e
26 changed files with 304 additions and 328 deletions

View file

@ -177,141 +177,3 @@ void ASoundSequence::Deactivate (AActor *activator)
SN_StopSequence (this);
}
//==========================================================================
//
// Predefined sound sequence actors for Heretic. These use health as the
// sequence ID rather than args[0].
//
//==========================================================================
class AHereticSoundSequence : public ASoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence, ASoundSequence)
public:
void PostBeginPlay ();
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence, Heretic, -1, 0)
END_DEFAULTS
//==========================================================================
//
// AHereticSoundSequence :: PostBeginPlay
//
//==========================================================================
void AHereticSoundSequence::PostBeginPlay ()
{
args[0] = health - 1200;
Super::PostBeginPlay();
}
// SoundSequence1 -----------------------------------------------------------
class AHereticSoundSequence1 : public AHereticSoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence1, AHereticSoundSequence)
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence1, Heretic, 1200, 0)
PROP_SpawnHealth (1200)
END_DEFAULTS
// SoundSequence2 -----------------------------------------------------------
class AHereticSoundSequence2 : public AHereticSoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence2, AHereticSoundSequence)
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence2, Heretic, 1201, 0)
PROP_SpawnHealth (1201)
END_DEFAULTS
// SoundSequence3 -----------------------------------------------------------
class AHereticSoundSequence3 : public AHereticSoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence3, AHereticSoundSequence)
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence3, Heretic, 1202, 0)
PROP_SpawnHealth (1202)
END_DEFAULTS
// SoundSequence4 -----------------------------------------------------------
class AHereticSoundSequence4 : public AHereticSoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence4, AHereticSoundSequence)
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence4, Heretic, 1203, 0)
PROP_SpawnHealth (1203)
END_DEFAULTS
// SoundSequence5 -----------------------------------------------------------
class AHereticSoundSequence5 : public AHereticSoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence5, AHereticSoundSequence)
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence5, Heretic, 1204, 0)
PROP_SpawnHealth (1204)
END_DEFAULTS
// SoundSequence6 -----------------------------------------------------------
class AHereticSoundSequence6 : public AHereticSoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence6, AHereticSoundSequence)
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence6, Heretic, 1205, 0)
PROP_SpawnHealth (1205)
END_DEFAULTS
// SoundSequence7 -----------------------------------------------------------
class AHereticSoundSequence7 : public AHereticSoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence7, AHereticSoundSequence)
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence7, Heretic, 1206, 0)
PROP_SpawnHealth (1206)
END_DEFAULTS
// SoundSequence8 -----------------------------------------------------------
class AHereticSoundSequence8 : public AHereticSoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence8, AHereticSoundSequence)
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence8, Heretic, 1207, 0)
PROP_SpawnHealth (1207)
END_DEFAULTS
// SoundSequence9 -----------------------------------------------------------
class AHereticSoundSequence9 : public AHereticSoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence9, AHereticSoundSequence)
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence9, Heretic, 1208, 0)
PROP_SpawnHealth (1208)
END_DEFAULTS
// SoundSequence10 ----------------------------------------------------------
class AHereticSoundSequence10 : public AHereticSoundSequence
{
DECLARE_STATELESS_ACTOR (AHereticSoundSequence10, AHereticSoundSequence)
};
IMPLEMENT_STATELESS_ACTOR (AHereticSoundSequence10, Heretic, 1209, 0)
PROP_SpawnHealth (1209)
END_DEFAULTS