diff --git a/autogen/lua_definitions/functions.lua b/autogen/lua_definitions/functions.lua index 673c1a31f..365e9c465 100644 --- a/autogen/lua_definitions/functions.lua +++ b/autogen/lua_definitions/functions.lua @@ -3914,8 +3914,14 @@ function djui_hud_get_raw_mouse_y() -- ... end +--- @return boolean +--- Returns if the cursor is hidden and constrained to the window +function djui_hud_get_mouse_locked() + -- ... +end + --- @param locked boolean ---- Sets if the cursor is hidden and constrainted to the window +--- Sets if the cursor is hidden and constrained to the window function djui_hud_set_mouse_locked(locked) -- ... end @@ -3954,12 +3960,12 @@ end --- @param y number --- @param width number --- @param height number ---- Sets the viewport to the specified position and size, this will resize +--- Sets the viewport to the specified position and size, this will resize any subsequent DJUI graphics function djui_hud_set_viewport(x, y, width, height) -- ... end ---- put the description here +--- Resets the viewport to a fullscreen state function djui_hud_reset_viewport() -- ... end @@ -3968,12 +3974,12 @@ end --- @param y number --- @param width number --- @param height number ---- put the description here +--- Sets the scissor rectangle to the specified position and size, this will cut off any subsequent DJUI graphics not within the rectangle function djui_hud_set_scissor(x, y, width, height) -- ... end ---- put the description here +--- Resets the scissor rectangle to a fullscreen state function djui_hud_reset_scissor() -- ... end diff --git a/docs/lua/functions-3.md b/docs/lua/functions-3.md index 5754e7d88..05443a347 100644 --- a/docs/lua/functions-3.md +++ b/docs/lua/functions-3.md @@ -3140,10 +3140,31 @@ Returns the y coordinate of the mouse relative to the screen
+## [djui_hud_get_mouse_locked](#djui_hud_get_mouse_locked) + +### Description +Returns if the cursor is hidden and constrained to the window + +### Lua Example +`local booleanValue = djui_hud_get_mouse_locked()` + +### Parameters +- None + +### Returns +- `boolean` + +### C Prototype +`bool djui_hud_get_mouse_locked(void);` + +[:arrow_up_small:](#) + +
+ ## [djui_hud_set_mouse_locked](#djui_hud_set_mouse_locked) ### Description -Sets if the cursor is hidden and constrainted to the window +Sets if the cursor is hidden and constrained to the window ### Lua Example `djui_hud_set_mouse_locked(locked)` @@ -3271,7 +3292,7 @@ Returns the amount scrolled vertically (-down/up+) ## [djui_hud_set_viewport](#djui_hud_set_viewport) ### Description -Sets the viewport to the specified position and size, this will resize +Sets the viewport to the specified position and size, this will resize any subsequent DJUI graphics ### Lua Example `djui_hud_set_viewport(x, y, width, height)` @@ -3297,7 +3318,7 @@ Sets the viewport to the specified position and size, this will resize ## [djui_hud_reset_viewport](#djui_hud_reset_viewport) ### Description -put the description here +Resets the viewport to a fullscreen state ### Lua Example `djui_hud_reset_viewport()` @@ -3318,7 +3339,7 @@ put the description here ## [djui_hud_set_scissor](#djui_hud_set_scissor) ### Description -put the description here +Sets the scissor rectangle to the specified position and size, this will cut off any subsequent DJUI graphics not within the rectangle ### Lua Example `djui_hud_set_scissor(x, y, width, height)` @@ -3344,7 +3365,7 @@ put the description here ## [djui_hud_reset_scissor](#djui_hud_reset_scissor) ### Description -put the description here +Resets the scissor rectangle to a fullscreen state ### Lua Example `djui_hud_reset_scissor()` diff --git a/docs/lua/functions.md b/docs/lua/functions.md index 4ec201ce2..1f708793d 100644 --- a/docs/lua/functions.md +++ b/docs/lua/functions.md @@ -770,6 +770,7 @@ - [djui_hud_get_mouse_y](functions-3.md#djui_hud_get_mouse_y) - [djui_hud_get_raw_mouse_x](functions-3.md#djui_hud_get_raw_mouse_x) - [djui_hud_get_raw_mouse_y](functions-3.md#djui_hud_get_raw_mouse_y) + - [djui_hud_get_mouse_locked](functions-3.md#djui_hud_get_mouse_locked) - [djui_hud_set_mouse_locked](functions-3.md#djui_hud_set_mouse_locked) - [djui_hud_get_mouse_buttons_down](functions-3.md#djui_hud_get_mouse_buttons_down) - [djui_hud_get_mouse_buttons_pressed](functions-3.md#djui_hud_get_mouse_buttons_pressed) diff --git a/src/pc/djui/djui_hud_utils.c b/src/pc/djui/djui_hud_utils.c index ae2485891..a00e8401b 100644 --- a/src/pc/djui/djui_hud_utils.c +++ b/src/pc/djui/djui_hud_utils.c @@ -33,7 +33,7 @@ static struct DjuiColor sRefColor = { 255, 255, 255, 255 }; static bool sLegacy = false; f32 gDjuiHudUtilsZ = 0; -u8 gDjuiHudLockMouse = false; +bool gDjuiHudLockMouse = false; extern ALIGNED8 const u8 texture_hud_char_camera[]; extern ALIGNED8 const u8 texture_hud_char_lakitu[]; @@ -297,6 +297,10 @@ f32 djui_hud_get_raw_mouse_y(void) { return mouse_y; } +bool djui_hud_get_mouse_locked(void) { + return gDjuiHudLockMouse; +} + void djui_hud_set_mouse_locked(bool locked) { gDjuiHudLockMouse = locked; } diff --git a/src/pc/djui/djui_hud_utils.h b/src/pc/djui/djui_hud_utils.h index 13efed6c8..1b5382a91 100644 --- a/src/pc/djui/djui_hud_utils.h +++ b/src/pc/djui/djui_hud_utils.h @@ -52,7 +52,7 @@ struct GlobalTextures { extern struct GlobalTextures gGlobalTextures; extern f32 gDjuiHudUtilsZ; -extern u8 gDjuiHudLockMouse; +extern bool gDjuiHudLockMouse; /* |description|Gets the current DJUI HUD resolution|descriptionEnd| */ u8 djui_hud_get_resolution(void); @@ -92,7 +92,9 @@ f32 djui_hud_get_mouse_y(void); f32 djui_hud_get_raw_mouse_x(void); /* |description|Returns the y coordinate of the mouse relative to the screen|descriptionEnd| */ f32 djui_hud_get_raw_mouse_y(void); -/* |description|Sets if the cursor is hidden and constrainted to the window|descriptionEnd| */ +/* |description|Returns if the cursor is hidden and constrained to the window|descriptionEnd| */ +bool djui_hud_get_mouse_locked(void); +/* |description|Sets if the cursor is hidden and constrained to the window|descriptionEnd| */ void djui_hud_set_mouse_locked(bool locked); /* |description|Returns the flags of the mouse buttons held down|descriptionEnd| */ u8 djui_hud_get_mouse_buttons_down(void); @@ -104,13 +106,13 @@ u8 djui_hud_get_mouse_buttons_released(void); f32 djui_hud_get_mouse_scroll_x(void); /* |description|Returns the amount scrolled vertically (-down/up+)|descriptionEnd| */ f32 djui_hud_get_mouse_scroll_y(void); -/* |description|Sets the viewport to the specified position and size, this will resize |descriptionEnd| */ +/* |description|Sets the viewport to the specified position and size, this will resize any subsequent DJUI graphics|descriptionEnd| */ void djui_hud_set_viewport(f32 x, f32 y, f32 width, f32 height); -/* |description|put the description here|descriptionEnd| */ +/* |description|Resets the viewport to a fullscreen state|descriptionEnd| */ void djui_hud_reset_viewport(void); -/* |description|put the description here|descriptionEnd| */ +/* |description|Sets the scissor rectangle to the specified position and size, this will cut off any subsequent DJUI graphics not within the rectangle|descriptionEnd| */ void djui_hud_set_scissor(f32 x, f32 y, f32 width, f32 height); -/* |description|put the description here|descriptionEnd| */ +/* |description|Resets the scissor rectangle to a fullscreen state|descriptionEnd| */ void djui_hud_reset_scissor(void); /* |description|Measures the length of `message` in the current font|descriptionEnd| */ diff --git a/src/pc/lua/smlua_functions_autogen.c b/src/pc/lua/smlua_functions_autogen.c index c28245176..81cb52433 100644 --- a/src/pc/lua/smlua_functions_autogen.c +++ b/src/pc/lua/smlua_functions_autogen.c @@ -12698,6 +12698,21 @@ int smlua_func_djui_hud_get_raw_mouse_y(UNUSED lua_State* L) { return 1; } +int smlua_func_djui_hud_get_mouse_locked(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", "djui_hud_get_mouse_locked", 0, top); + return 0; + } + + + lua_pushboolean(L, djui_hud_get_mouse_locked()); + + return 1; +} + int smlua_func_djui_hud_set_mouse_locked(lua_State* L) { if (L == NULL) { return 0; } @@ -37321,6 +37336,7 @@ void smlua_bind_functions_autogen(void) { smlua_bind_function(L, "djui_hud_get_mouse_y", smlua_func_djui_hud_get_mouse_y); smlua_bind_function(L, "djui_hud_get_raw_mouse_x", smlua_func_djui_hud_get_raw_mouse_x); smlua_bind_function(L, "djui_hud_get_raw_mouse_y", smlua_func_djui_hud_get_raw_mouse_y); + smlua_bind_function(L, "djui_hud_get_mouse_locked", smlua_func_djui_hud_get_mouse_locked); smlua_bind_function(L, "djui_hud_set_mouse_locked", smlua_func_djui_hud_set_mouse_locked); smlua_bind_function(L, "djui_hud_get_mouse_buttons_down", smlua_func_djui_hud_get_mouse_buttons_down); smlua_bind_function(L, "djui_hud_get_mouse_buttons_pressed", smlua_func_djui_hud_get_mouse_buttons_pressed);