diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 68455cd65..8f6c41e10 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -957,6 +957,16 @@ static int lib_pZMovement(lua_State *L) return 1; } +static int lib_pRingZMovement(lua_State *L) +{ + mobj_t *actor = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ)); + NOHUD + INLEVEL + if (!actor) + return LUA_ErrInvalid(L, "mobj_t"); + P_RingZMovement(actor); + return 0; +} // P_USER //////////// @@ -3320,6 +3330,7 @@ static luaL_Reg lib[] = { {"P_RingXYMovement",lib_pRingXYMovement}, {"P_SceneryXYMovement",lib_pSceneryXYMovement}, {"P_ZMovement",lib_pZMovement}, + {"P_RingZMovement",lib_pRingZMovement}, // p_user {"P_GetPlayerHeight",lib_pGetPlayerHeight}, diff --git a/src/p_mobj.c b/src/p_mobj.c index 02b9885b8..e9ebf571d 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -2270,7 +2270,7 @@ static void P_AdjustMobjFloorZ_PolyObjs(mobj_t *mo, subsector_t *subsec) } } -static void P_RingZMovement(mobj_t *mo) +void P_RingZMovement(mobj_t *mo) { I_Assert(mo != NULL); I_Assert(!P_MobjWasRemoved(mo)); diff --git a/src/p_mobj.h b/src/p_mobj.h index 63095e2ff..f5c14fde5 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -474,6 +474,7 @@ 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_RingZMovement(mobj_t *mo); void P_EmeraldManager(void); extern INT32 modulothing;