Skip to content

Add MFE_FORCESUPER, MFE_FORCENOSUPER, and MFE_REVERSESUPER extra flags

SMS Alfredo requested to merge SMS_Alfredo/SRB2:supersuck into next

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.

ezgif-4-da60753c62a8

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.

Edited by SMS Alfredo

Merge request reports