- 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

@ -3760,7 +3760,7 @@ void P_SpawnMapThing (mapthing2_t *mthing, int position)
Printf ("Unknown type %i at (%i, %i)\n",
mthing->type,
mthing->x, mthing->y);
i = RUNTIME_CLASS(AUnknown);
i = PClass::FindClass("Unknown");
}
// [RH] If the thing's corresponding sprite has no frames, also map
// it to the unknown thing.
@ -3776,7 +3776,7 @@ void P_SpawnMapThing (mapthing2_t *mthing, int position)
{
Printf ("%s at (%i, %i) has no frames\n",
i->TypeName.GetChars(), mthing->x, mthing->y);
i = RUNTIME_CLASS(AUnknown);
i = PClass::FindClass("Unknown");
}
}
@ -3856,9 +3856,12 @@ void P_SpawnMapThing (mapthing2_t *mthing, int position)
mobj->SpawnAngle = mthing->angle;
mobj->SpawnFlags = mthing->flags;
// [RH] Set the thing's special
mobj->special = mthing->special;
for(int j=0;j<5;j++) mobj->args[j]=mthing->args[j];
if (!(mobj->flags2 & MF2_ARGSDEFINED))
{
// [RH] Set the thing's special
mobj->special = mthing->special;
for(int j=0;j<5;j++) mobj->args[j]=mthing->args[j];
}
// [RH] Add ThingID to mobj and link it in with the others
mobj->tid = mthing->thingid;