Support for MF2_SHADOW

This commit is contained in:
NepDisk 2025-03-22 16:57:35 -04:00
parent bbd22ad1af
commit 7270ae178d
3 changed files with 9 additions and 2 deletions

View file

@ -165,7 +165,7 @@ const char *const MOBJFLAG_LIST[] = {
// \tMF2_(\S+).*// (.+) --> \t"\1", // \2
const char *const MOBJFLAG2_LIST[] = {
"AXIS", // It's a NiGHTS axis! (For faster checking)
"\x01", // free: 1<<1 (name un-matchable)
"SHADOW", // alias for RF_GHOSTLY
"DONTRESPAWN", // Don't respawn this object!
"DONTDRAW", // alias for RF_DONTDRAW
"AUTOMATIC", // Thrown ring has automatic properties

View file

@ -379,6 +379,8 @@ static int mobj_get(lua_State *L)
UINT32 flags2 = mo->flags2;
if (lua_compatmode && (mo->renderflags & RF_DONTDRAW) == RF_DONTDRAW)
flags2 |= MF2_DONTDRAW;
if (lua_compatmode && (mo->renderflags & RF_GHOSTLY) == RF_GHOSTLY)
flags2 |= MF2_SHADOW;
lua_pushinteger(L, flags2);
break;
}
@ -818,6 +820,11 @@ static int mobj_set(lua_State *L)
mo->renderflags |= RF_DONTDRAW;
else
mo->renderflags &= ~RF_DONTDRAW;
if (flags2 & MF2_SHADOW)
mo->renderflags |= RF_GHOSTLY;
else
mo->renderflags &= ~RF_GHOSTLYMASK;
}
mo->flags2 = flags2;
break;

View file

@ -173,7 +173,7 @@ typedef enum
typedef enum
{
MF2_AXIS = 1, // It's a NiGHTS axis! (For faster checking)
// free: 1<<1
MF2_SHADOW = 1<<3, // DO NOT USE: for lua compatibility only
MF2_DONTRESPAWN = 1<<2, // Don't respawn this object!
MF2_DONTDRAW = 1<<3, // DO NOT USE: for lua compatibility only
MF2_AUTOMATIC = 1<<4, // Thrown ring has automatic properties