Open inkoalawetrust opened 1 week ago
If you look at the setup code you will see that skins are treated as a completely separate kind of resource entity, so it is not surprising they cannot be used as regular sprites.
Just imagine what would happen otherwise if your skin was named BOSS, for example...
GZDoom version
g4.12pre-480-g14a57b8de-m
Which game are you running with GZDoom?
Doom 2
What Operating System are you using?
None
Please describe your specific OS version
No response
Relevant hardware info
No response
Have you checked that no other similar issue already exists?
A clear and concise description of what the bug is.
The sprites of player skins cannot be applied to actors.
For example, if you make a morph class that when morphed into, spawns an fake actor that takes the See: state sprites of the unmorphed player using State.GetSpriteTexture(). It will take the PLAY sprite and paste it to the fake actor.
But if you also make GetSpriteTexture() take that states' sprite while accounting for the players' skin. It will properly return the skin graphic name (i.e in the example skin I've attached, the sprite name is TRCH). But trying to then apply that sprite name to the fake actors' curstate.sprite field with GetSpriteIndex() will NOT work, it just makes the fake actor invisible, nor will directly using the spritename in GetSpriteIndex like
GetSpriteIndex("TRCH")
work. Nor will changing the fake actor to just have TRCH A as its' default sprite work. And if you say, try to make a custom Imp that uses TRCH in his' Spawn: state, the sprite will be invalid and turn the Imp into an unknown actor placeholder.Steps to reproduce the behaviour.
Explain how to reproduce
Your configuration
No response
Provide a Log
No response