- add two parameters to GetSpriteTexture: spritenum and framenum, since some states are "####" "#"

This commit is contained in:
Rachael Alexanderson 2024-01-02 13:08:17 -05:00 committed by Christoph Oelckers
parent b31ae22f25
commit fe005b9159
2 changed files with 8 additions and 3 deletions

View file

@ -67,15 +67,20 @@ DEFINE_ACTION_FUNCTION(FState, GetSpriteTexture)
PARAM_INT(skin);
PARAM_FLOAT(scalex);
PARAM_FLOAT(scaley);
PARAM_INT(spritenum);
PARAM_INT(framenum);
int sprnum = (spritenum == -1) ? self->sprite : spritenum;
int frnum = (framenum == -1) ? self->GetFrame() : framenum;
spriteframe_t *sprframe;
if (skin == 0)
{
sprframe = &SpriteFrames[sprites[self->sprite].spriteframes + self->GetFrame()];
sprframe = &SpriteFrames[sprites[sprnum].spriteframes + frnum];
}
else
{
sprframe = &SpriteFrames[sprites[Skins[skin].sprite].spriteframes + self->GetFrame()];
sprframe = &SpriteFrames[sprites[Skins[skin].sprite].spriteframes + frnum];
scalex = Skins[skin].Scale.X;
scaley = Skins[skin].Scale.Y;
}

View file

@ -581,7 +581,7 @@ struct State native
native int DistanceTo(state other);
native bool ValidateSpriteFrame();
native TextureID, bool, Vector2 GetSpriteTexture(int rotation, int skin = 0, Vector2 scale = (0,0));
native TextureID, bool, Vector2 GetSpriteTexture(int rotation, int skin = 0, Vector2 scale = (0,0), int spritenum = -1, int framenum = -1);
native bool InStateSequence(State base);
}