From c3f60dff44fdb3ae8c21c20d280bb50c42523f81 Mon Sep 17 00:00:00 2001 From: JugadorXEI Date: Fri, 22 Aug 2025 08:59:41 +0200 Subject: [PATCH] Expose K_ApplyTripWire to Lua, expose tripwirestate_t values to Lua --- src/deh_tables.c | 5 +++++ src/lua_baselib.c | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/deh_tables.c b/src/deh_tables.c index 0d91f51ad..c22fe33e1 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -5166,6 +5166,11 @@ struct int_const_s const INT_CONST[] = { {"FOLLOWERMODE_FLOAT",FOLLOWERMODE_FLOAT}, {"FOLLOWERMODE_GROUND",FOLLOWERMODE_GROUND}, + // tripwirestate_t + {"TRIPSTATE_NONE",TRIPSTATE_NONE}, + {"TRIPSTATE_PASSED",TRIPSTATE_PASSED}, + {"TRIPSTATE_BLOCKED",TRIPSTATE_BLOCKED}, + // tripwirepass_t {"TRIPWIRE_NONE",TRIPWIRE_NONE}, {"TRIPWIRE_IGNORE",TRIPWIRE_IGNORE}, diff --git a/src/lua_baselib.c b/src/lua_baselib.c index eb91c55c9..b5a041489 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -4829,6 +4829,18 @@ static int lib_kGetKartSpeedFromStat(lua_State *L) return 1; } +static int lib_kApplyTripwire(lua_State *L) +{ + player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + tripwirestate_t state = luaL_checkinteger(L, 2); + NOHUD + INLEVEL + if (!player) + return LUA_ErrInvalid(L, "player_t"); + K_ApplyTripWire(player, state); + return 0; +} + static int lib_kGetKartSpeed(lua_State *L) { player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); @@ -5902,6 +5914,7 @@ static luaL_Reg lib[] = { {"K_GetSpindashChargeSpeed",lib_kGetSpindashChargeSpeed}, {"K_GrowShrinkSpeedMul",lib_kGrowShrinkSpeedMul}, {"K_GetKartSpeedFromStat",lib_kGetKartSpeedFromStat}, + {"K_ApplyTripWire",lib_kApplyTripwire}, {"K_GetKartSpeed",lib_kGetKartSpeed}, {"K_GetKartAccel",lib_kGetKartAccel}, {"K_GetKartFlashing",lib_kGetKartFlashing},