- Removed DECORATE's ParseClass because it was only used to add data to fully

internal actor classes which no longer exist.
- Changed the state structure so that the Tics value doesn't need to be hacked
  into misc1 with SF_BIGTIC anymore. 
- Changed sprite processing so that sprite names are converted to indices 
  during parsing so that an additional postprocessing step is no longer needed.
- Fixed: Sprite names in DECORATE were case sensitive.
- Exported AActor's defaults to DECORATE and removed all code for the 
  internal property parser which is no longer needed.


SVN r1146 (trunk)
This commit is contained in:
Christoph Oelckers 2008-08-10 14:19:47 +00:00
commit f4c07c45ec
33 changed files with 484 additions and 1662 deletions

View file

@ -109,7 +109,7 @@ void AScriptedMarine::Tick ()
Super::Tick ();
// Override the standard sprite, if desired
if (SpriteOverride != 0 && sprite == States[0].sprite.index)
if (SpriteOverride != 0 && sprite == GetClass()->ActorInfo->OwnedStates[0].sprite)
{
sprite = SpriteOverride;
}
@ -593,7 +593,7 @@ void AScriptedMarine::SetSprite (const PClass *source)
{
if (source == NULL || source->ActorInfo == NULL)
{ // A valid actor class wasn't passed, so use the standard sprite
SpriteOverride = sprite = States[0].sprite.index;
SpriteOverride = sprite = GetClass()->ActorInfo->OwnedStates[0].sprite;
// Copy the standard player's scaling
AActor * playerdef = GetDefaultByName("DoomPlayer");
if (playerdef == NULL) playerdef = GetDefaultByType(RUNTIME_CLASS(AScriptedMarine));
@ -602,7 +602,7 @@ void AScriptedMarine::SetSprite (const PClass *source)
}
else
{ // Use the same sprite the passed class spawns with
SpriteOverride = sprite = GetDefaultByType (source)->SpawnState->sprite.index;
SpriteOverride = sprite = GetDefaultByType (source)->SpawnState->sprite;
scaleX = GetDefaultByType(source)->scaleX;
scaleY = GetDefaultByType(source)->scaleY;
}