diff --git a/src/lua_baselib.c b/src/lua_baselib.c index ba90912cf..23aa060fe 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -1360,6 +1360,17 @@ static int lib_pSpawnSkidDust(lua_State *L) return 0; } +static int lib_pMovePlayer(lua_State *L) +{ + player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + NOHUD + INLEVEL + if (!player) + return LUA_ErrInvalid(L, "player_t"); + P_MovePlayer(player); + return 0; +} + static int lib_pDoPlayerFinish(lua_State *L) { player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); @@ -3386,6 +3397,7 @@ static luaL_Reg lib[] = { {"P_BlackOw",lib_pBlackOw}, {"P_ElementalFire",lib_pElementalFire}, {"P_SpawnSkidDust", lib_pSpawnSkidDust}, + {"P_MovePlayer",lib_pMovePlayer}, {"P_DoPlayerFinish",lib_pDoPlayerFinish}, {"P_DoPlayerExit",lib_pDoPlayerExit}, {"P_InstaThrust",lib_pInstaThrust}, diff --git a/src/p_local.h b/src/p_local.h index 9873a20af..b6c34f357 100644 --- a/src/p_local.h +++ b/src/p_local.h @@ -177,6 +177,7 @@ void P_BlackOw(player_t *player); void P_ElementalFire(player_t *player, boolean cropcircle); void P_SpawnSkidDust(player_t *player, fixed_t radius, boolean sound); +void P_MovePlayer(player_t *player); void P_DoPityCheck(player_t *player); void P_PlayerThink(player_t *player); void P_PlayerAfterThink(player_t *player); diff --git a/src/p_user.c b/src/p_user.c index d426277ff..7dd888117 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7889,7 +7889,7 @@ static void P_SkidStuff(player_t *player) // // P_MovePlayer -static void P_MovePlayer(player_t *player) +void P_MovePlayer(player_t *player) { ticcmd_t *cmd; INT32 i;