diff --git a/src/dehacked.c b/src/dehacked.c index 9b4082c72..e803094ad 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -9432,6 +9432,29 @@ struct { {"TC_ALLWHITE",TC_ALLWHITE}, {"TC_RAINBOW",TC_RAINBOW}, {"TC_BLINK",TC_BLINK}, + + // MFD_ draw flag enum + {"MFD_DONTDRAWP1",MFD_DONTDRAWP1}, + {"MFD_DONTDRAWP2",MFD_DONTDRAWP2}, + {"MFD_DONTDRAWP3",MFD_DONTDRAWP3}, + {"MFD_DONTDRAWP4",MFD_DONTDRAWP4}, + {"MFD_TRANS10",MFD_TRANS10}, + {"MFD_TRANS20",MFD_TRANS20}, + {"MFD_TRANS30",MFD_TRANS30}, + {"MFD_TRANS40",MFD_TRANS40}, + {"MFD_TRANS50",MFD_TRANS50}, + {"MFD_TRANS60",MFD_TRANS60}, + {"MFD_TRANS70",MFD_TRANS70}, + {"MFD_TRANS80",MFD_TRANS80}, + {"MFD_TRANS90",MFD_TRANS90}, + {"MFD_TRANSMASK",MFD_TRANSMASK}, + {"MFD_FULLBRIGHT",MFD_FULLBRIGHT}, + {"MFD_SEMIBRIGHT",MFD_SEMIBRIGHT}, + {"MFD_NOBRIGHT",MFD_NOBRIGHT}, + {"MFD_BRIGHTMASK",MFD_BRIGHTMASK}, + {"MFD_DONTDRAW",MFD_DONTDRAW}, + {"MFD_SHADOW",MFD_SHADOW}, + {"MFD_TRANSSHIFT",MFD_TRANSSHIFT}, #endif {NULL,0} diff --git a/src/lua_mobjlib.c b/src/lua_mobjlib.c index cd5f4d267..3c85c358b 100644 --- a/src/lua_mobjlib.c +++ b/src/lua_mobjlib.c @@ -51,6 +51,7 @@ enum mobj_e { mobj_flags, mobj_flags2, mobj_eflags, + mobj_drawflags, mobj_skin, mobj_color, mobj_bnext, @@ -119,6 +120,7 @@ static const char *const mobj_opt[] = { "flags", "flags2", "eflags", + "drawflags", "skin", "color", "bnext", @@ -255,6 +257,9 @@ static int mobj_get(lua_State *L) case mobj_eflags: lua_pushinteger(L, mo->eflags); break; + case mobj_drawflags: + lua_pushinteger(L, mo->drawflags); + break; case mobj_skin: // skin name or nil, not struct if (!mo->skin) return 0; @@ -541,7 +546,10 @@ static int mobj_set(lua_State *L) mo->flags2 = (UINT32)luaL_checkinteger(L, 3); break; case mobj_eflags: - mo->eflags = (UINT32)luaL_checkinteger(L, 3); + mo->eflags = (UINT16)luaL_checkinteger(L, 3); + break; + case mobj_drawflags: + mo->drawflags = (UINT16)luaL_checkinteger(L, 3); break; case mobj_skin: // set skin by name { diff --git a/src/p_mobj.h b/src/p_mobj.h index dd4d1706e..dbb3f4d58 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -333,7 +333,7 @@ typedef struct mobj_s UINT32 flags; // flags from mobjinfo tables UINT32 flags2; // MF2_ flags UINT16 eflags; // extra flags - UINT16 drawflags; // Rendering-related flags. These are not synched. + UINT16 drawflags; // Rendering-related flags. These should not be used for game logic. void *skin; // overrides 'sprite' when non-NULL (for player bodies to 'remember' the skin) // Player and mobj sprites in multiplayer modes are modified