From 3c86c0c83b99be5b01c6b9251fb0ee5eed13b65e Mon Sep 17 00:00:00 2001 From: Agent X <44549182+AgentXLP@users.noreply.github.com> Date: Sun, 12 May 2024 08:28:33 -0400 Subject: [PATCH] Add is_playerlist_open() --- autogen/lua_definitions/functions.lua | 5 +++++ docs/lua/functions-5.md | 20 +++++++++++++++++++- docs/lua/functions.md | 1 + src/pc/lua/smlua_functions_autogen.c | 16 ++++++++++++++++ src/pc/lua/utils/smlua_misc_utils.c | 9 ++++++++- src/pc/lua/utils/smlua_misc_utils.h | 4 +++- 6 files changed, 52 insertions(+), 3 deletions(-) diff --git a/autogen/lua_definitions/functions.lua b/autogen/lua_definitions/functions.lua index 545fb5ea1..0ef368e80 100644 --- a/autogen/lua_definitions/functions.lua +++ b/autogen/lua_definitions/functions.lua @@ -9178,6 +9178,11 @@ function is_game_paused() -- ... end +--- @return boolean +function is_playerlist_open() + -- ... +end + --- @return boolean function is_transition_playing() -- ... diff --git a/docs/lua/functions-5.md b/docs/lua/functions-5.md index 692c48651..ebb57338a 100644 --- a/docs/lua/functions-5.md +++ b/docs/lua/functions-5.md @@ -1329,7 +1329,7 @@ - `integer` ### C Prototype -`s32 get_dialog_response();` +`s32 get_dialog_response(void);` [:arrow_up_small:](#) @@ -1955,6 +1955,24 @@
+## [is_playerlist_open](#is_playerlist_open) + +### Lua Example +`local booleanValue = is_playerlist_open()` + +### Parameters +- None + +### Returns +- `boolean` + +### C Prototype +`bool is_playerlist_open(void);` + +[:arrow_up_small:](#) + +
+ ## [is_transition_playing](#is_transition_playing) ### Lua Example diff --git a/docs/lua/functions.md b/docs/lua/functions.md index bb7aec868..09c036345 100644 --- a/docs/lua/functions.md +++ b/docs/lua/functions.md @@ -1699,6 +1699,7 @@ - [hud_set_value](functions-5.md#hud_set_value) - [hud_show](functions-5.md#hud_show) - [is_game_paused](functions-5.md#is_game_paused) + - [is_playerlist_open](functions-5.md#is_playerlist_open) - [is_transition_playing](functions-5.md#is_transition_playing) - [movtexqc_register](functions-5.md#movtexqc_register) - [play_transition](functions-5.md#play_transition) diff --git a/src/pc/lua/smlua_functions_autogen.c b/src/pc/lua/smlua_functions_autogen.c index bb3f88612..ac8db44b9 100644 --- a/src/pc/lua/smlua_functions_autogen.c +++ b/src/pc/lua/smlua_functions_autogen.c @@ -30072,6 +30072,21 @@ int smlua_func_is_game_paused(UNUSED lua_State* L) { return 1; } +int smlua_func_is_playerlist_open(UNUSED lua_State* L) { + if (L == NULL) { return 0; } + + int top = lua_gettop(L); + if (top != 0) { + LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "is_playerlist_open", 0, top); + return 0; + } + + + lua_pushboolean(L, is_playerlist_open()); + + return 1; +} + int smlua_func_is_transition_playing(UNUSED lua_State* L) { if (L == NULL) { return 0; } @@ -33761,6 +33776,7 @@ void smlua_bind_functions_autogen(void) { smlua_bind_function(L, "hud_set_value", smlua_func_hud_set_value); smlua_bind_function(L, "hud_show", smlua_func_hud_show); smlua_bind_function(L, "is_game_paused", smlua_func_is_game_paused); + smlua_bind_function(L, "is_playerlist_open", smlua_func_is_playerlist_open); smlua_bind_function(L, "is_transition_playing", smlua_func_is_transition_playing); smlua_bind_function(L, "movtexqc_register", smlua_func_movtexqc_register); smlua_bind_function(L, "play_transition", smlua_func_play_transition); diff --git a/src/pc/lua/utils/smlua_misc_utils.c b/src/pc/lua/utils/smlua_misc_utils.c index 7df4588c2..bf9a394b1 100644 --- a/src/pc/lua/utils/smlua_misc_utils.c +++ b/src/pc/lua/utils/smlua_misc_utils.c @@ -18,6 +18,7 @@ #include "game/level_update.h" #include "pc/djui/djui_console.h" #include "pc/djui/djui_hud_utils.h" +#include "pc/djui/djui_panel_playerlist.h" #include "game/skybox.h" #include "pc/gfx/gfx_pc.h" #include "include/course_table.h" @@ -631,12 +632,18 @@ u32 get_global_timer(void) { /// -s32 get_dialog_response() { +s32 get_dialog_response(void) { return gDialogResponse; } /// +bool is_playerlist_open(void) { + return gDjuiPlayerList->base.visible; +} + +/// + void set_window_title(const char* title) { WAPI.set_window_title(title); } diff --git a/src/pc/lua/utils/smlua_misc_utils.h b/src/pc/lua/utils/smlua_misc_utils.h index cc9f331d5..1753cf3ef 100644 --- a/src/pc/lua/utils/smlua_misc_utils.h +++ b/src/pc/lua/utils/smlua_misc_utils.h @@ -156,7 +156,9 @@ void set_override_envfx(s32 envfx); u32 get_global_timer(void); -s32 get_dialog_response(); +s32 get_dialog_response(void); + +bool is_playerlist_open(void); void set_window_title(const char* title); void reset_window_title(void);