From e864f5b14a865a32937013218330c6b89f1e7c5d Mon Sep 17 00:00:00 2001 From: Indev Date: Wed, 16 Aug 2023 11:53:46 +0300 Subject: [PATCH] Use lua_toboolean instead of luaL_checkboolean because kart does that for player.spectator for whatever reason --- src/lua_playerlib.c | 2 +- src/lua_udatalib.c | 4 ++++ src/lua_udatalib.h | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lua_playerlib.c b/src/lua_playerlib.c index 263a9c5cd..91f094b81 100644 --- a/src/lua_playerlib.c +++ b/src/lua_playerlib.c @@ -139,7 +139,7 @@ static const udata_field_t player_fields[] = { FIELD(player_t, awayviewmobj, udatalib_getter_mobj, player_awayviewmobj_setter), FIELD(player_t, awayviewtics, udatalib_getter_int32, player_awayviewtics_setter), FIELD(player_t, awayviewaiming, udatalib_getter_angle, udatalib_setter_angle), - FIELD(player_t, spectator, udatalib_getter_boolean, udatalib_setter_boolean), + FIELD(player_t, spectator, udatalib_getter_boolean, udatalib_setter_boolean_nocheck), // ffs FIELD(player_t, bot, udatalib_getter_uint8, player_bot_noset), FIELD(player_t, jointime, udatalib_getter_tic, udatalib_setter_tic), FIELD(player_t, spectatorreentry, udatalib_getter_tic, udatalib_setter_tic), diff --git a/src/lua_udatalib.c b/src/lua_udatalib.c index dd573f2f5..239e56e13 100644 --- a/src/lua_udatalib.c +++ b/src/lua_udatalib.c @@ -82,6 +82,10 @@ UDATALIB_SIMPLE_SETTER(const char*, luaL_checkstring) int udatalib_setter_boolean(lua_State *L) UDATALIB_SIMPLE_SETTER(boolean, luaL_checkboolean) +// ffs +int udatalib_setter_boolean_nocheck(lua_State *L) +UDATALIB_SIMPLE_SETTER(boolean, lua_toboolean) + int udatalib_setter_spritenum(lua_State *L) UDATALIB_SIMPLE_SETTER(spritenum_t, (spritenum_t)luaL_checkinteger) diff --git a/src/lua_udatalib.h b/src/lua_udatalib.h index 1b73113eb..30fb0d3a9 100644 --- a/src/lua_udatalib.h +++ b/src/lua_udatalib.h @@ -62,6 +62,7 @@ int udatalib_setter_uint64(lua_State *L); int udatalib_setter_int64(lua_State *L); int udatalib_setter_string(lua_State *L); int udatalib_setter_boolean(lua_State *L); +int udatalib_setter_boolean_nocheck(lua_State *L); int udatalib_setter_spritenum(lua_State *L); int udatalib_setter_mobj(lua_State *L); int udatalib_setter_playerstate(lua_State *L); -- 2.54.0