Added ZSprites.

- Effectively similar to Actors, but without the excess.
- Can be created with either the `level` function or the static `Spawn` function in ZSprite.
- STAT_SPRITE belongs to ZSprites only; ZSprites cannot be moved out of, nor can anything else be moved in to, this statnum.

Misc:

- Fixed (Sprite)Offset taking roll into account.

Crediting phantombeta, RicardoLuis0 and RaveYard for assistance.
This commit is contained in:
Major Cooke 2023-09-23 21:48:00 -05:00 committed by Rachael Alexanderson
commit b6b1b25035
15 changed files with 600 additions and 135 deletions

View file

@ -807,7 +807,12 @@ DEFINE_ACTION_FUNCTION_NATIVE(DThinker, ChangeStatNum, ChangeStatNum)
{
PARAM_SELF_PROLOGUE(DThinker);
PARAM_INT(stat);
ChangeStatNum(self, stat);
// do not allow ZScript to reposition thinkers in or out of particle ticking.
if (stat != STAT_SPRITE && !dynamic_cast<DZSprite*>(self))
{
ChangeStatNum(self, stat);
}
return 0;
}