diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 0a119f40e59cb048340be9d8d861094ace40ca47..25296a99fab66b726f2f7f3c82624c701dd0fe5f 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -33,6 +33,7 @@ #include "k_color.h" #include "k_hud.h" #include "k_waypoint.h" +#include "k_respawn.h" #include "d_netcmd.h" // IsPlayerAdmin #include "k_menu.h" // Player Setup menu color stuff #include "p_spec.h" // P_StartQuake @@ -4058,6 +4059,19 @@ static int lib_vsRandomPointOnArena(lua_State *L) return 2; } +static int lib_kRespawnOffset(lua_State *L) +{ + player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + boolean flip = lua_optboolean(L, 2); + + INLEVEL + if (!player) + return LUA_ErrInvalid(L, "player_t"); + + lua_pushfixed(L, K_RespawnOffset(player, flip)); + return 1; +} + static int lib_kGetFinishLineWaypoint(lua_State *L) { INLEVEL @@ -4654,6 +4668,9 @@ static luaL_Reg lib[] = { {"VS_PredictAroundArena", lib_vsPredictAroundArena}, {"VS_RandomPointOnArena", lib_vsRandomPointOnArena}, + // k_respawn + {"K_RespawnOffset", lib_kRespawnOffset}, + // k_waypoint {"K_GetFinishLineWaypoint", lib_kGetFinishLineWaypoint}, {"K_GetStartingWaypoint", lib_kGetStartingWaypoint},