From 6d3a2919a2ce8b80ed1d3e2678a0eaa3a4f43251 Mon Sep 17 00:00:00 2001 From: GoldenTails Date: Sun, 19 Apr 2020 20:41:30 -0500 Subject: [PATCH] Expose P_ZMovement to Lua. Because P_XYMovement wasn't enough. --- src/lua_baselib.c | 13 +++++++++++++ src/p_mobj.c | 2 +- src/p_mobj.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 3e1f2c2dd..68455cd65 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -946,6 +946,18 @@ static int lib_pSceneryXYMovement(lua_State *L) return 0; } +static int lib_pZMovement(lua_State *L) +{ + mobj_t *actor = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ)); + NOHUD + INLEVEL + if (!actor) + return LUA_ErrInvalid(L, "mobj_t"); + lua_pushboolean(L, P_ZMovement(actor)); + return 1; +} + + // P_USER //////////// @@ -3307,6 +3319,7 @@ static luaL_Reg lib[] = { {"P_XYMovement",lib_pXYMovement}, {"P_RingXYMovement",lib_pRingXYMovement}, {"P_SceneryXYMovement",lib_pSceneryXYMovement}, + {"P_ZMovement",lib_pZMovement}, // p_user {"P_GetPlayerHeight",lib_pGetPlayerHeight}, diff --git a/src/p_mobj.c b/src/p_mobj.c index a6886c1ad..02b9885b8 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -2337,7 +2337,7 @@ boolean P_CheckSolidLava(ffloor_t *rover) // P_ZMovement // Returns false if the mobj was killed/exploded/removed, true otherwise. // -static boolean P_ZMovement(mobj_t *mo) +boolean P_ZMovement(mobj_t *mo) { fixed_t dist, delta; boolean onground; diff --git a/src/p_mobj.h b/src/p_mobj.h index 99d091760..63095e2ff 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -473,6 +473,7 @@ void P_SetScale(mobj_t *mobj, fixed_t newscale); void P_XYMovement(mobj_t *mo); void P_RingXYMovement(mobj_t *mo); void P_SceneryXYMovement(mobj_t *mo); +boolean P_ZMovement(mobj_t *mo); void P_EmeraldManager(void); extern INT32 modulothing;