Add MFE_FORCESUPER, MFE_FORCENOSUPER, and MFE_REVERSESUPER extra flags
I'm sure you all know about SF_NOSUPERSPRITES
from !1000 (merged), and how it allows custom characters to turn super without actually using their super sprites. Now, that flag is all fine and dandy, but it's hardly useful for manipulating when and where a player (or even non-player object) uses their skin's super sprites outside of the frankly extremely hardcoded bundle of fun that are super forms.
This merge request addresses that by adding in three new extra flags to be used in mobj.eflags
.
MFE_FORCESUPER
forces an object to use their skin's super sprites.
MFE_FORCENOSUPER
forces an object to not use their skin's super sprites.
MFE_REVERSESUPER
makes an object use super sprites where they would've used normal sprites, and normal sprites where they would have used super sprites. Note that this is a combination of the previous two flags, so you will need to do (mo.eflags & MFE_REVERSESUPER) == MFE_REVERSESUPER
to check for it.
Here is a Lua script used to test this merge. Hold down Custom 1 to give yourself MFE_FORCESUPER
for as long as you hold the button down. Same goes for Fire and MFE_FORCENOSUPER
. Which of the three flags you currently have will be spammed in console.