add djui_open_pause_menu() (#391)

This commit is contained in:
Isaac0-dev 2023-05-11 20:10:25 +10:00 committed by GitHub
parent f785050ccb
commit fad7984cd4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 50 additions and 3 deletions

View file

@ -3750,6 +3750,11 @@ function djui_hud_world_pos_to_screen_pos(pos, out)
-- ...
end
--- @return nil
function djui_open_pause_menu()
-- ...
end
--- @param message string
--- @param lines integer
--- @return nil

View file

@ -2444,6 +2444,24 @@
<br />
## [djui_open_pause_menu](#djui_open_pause_menu)
### Lua Example
`djui_open_pause_menu()`
### Parameters
- None
### Returns
- None
### C Prototype
`void djui_open_pause_menu(void);`
[:arrow_up_small:](#)
<br />
---
# functions from djui_popup.h

View file

@ -735,6 +735,7 @@
- [djui_hud_set_resolution](functions-3.md#djui_hud_set_resolution)
- [djui_hud_set_rotation](functions-3.md#djui_hud_set_rotation)
- [djui_hud_world_pos_to_screen_pos](functions-3.md#djui_hud_world_pos_to_screen_pos)
- [djui_open_pause_menu](functions-3.md#djui_open_pause_menu)
<br />

View file

@ -2360,7 +2360,7 @@ void pss_end_slide(struct MarioState *m) {
}
void mario_handle_special_floors(struct MarioState *m) {
if ((m->action & ACT_GROUP_MASK) == ACT_GROUP_CUTSCENE) {
if ((m->action & ACT_GROUP_MASK) == ACT_GROUP_CUTSCENE || gDjuiInMainMenu) {
return;
}

View file

@ -55,7 +55,7 @@ void play_knockback_sound(struct MarioState *m) {
s32 lava_boost_on_wall(struct MarioState *m) {
bool allow = true;
smlua_call_event_hooks_mario_param_and_int_ret_bool(HOOK_ALLOW_HAZARD_SURFACE, m, HAZARD_TYPE_LAVA_WALL, &allow);
if ((gServerSettings.enableCheats && gCheats.godMode) || (!allow)) { return FALSE; }
if ((gServerSettings.enableCheats && gCheats.godMode) || (!allow) || gDjuiInMainMenu) { return FALSE; }
m->faceAngle[1] = atan2s(m->wallNormal[2], m->wallNormal[0]);
if (m->forwardVel < 24.0f) {

View file

@ -111,7 +111,8 @@ void mario_bonk_reflection(struct MarioState *m, u32 negateSpeed) {
u32 mario_update_quicksand(struct MarioState *m, f32 sinkingSpeed) {
bool allow = true;
smlua_call_event_hooks_mario_param_and_int_ret_bool(HOOK_ALLOW_HAZARD_SURFACE, m, HAZARD_TYPE_QUICKSAND, &allow);
if (m->action & ACT_FLAG_RIDING_SHELL || (gServerSettings.enableCheats && gCheats.godMode && m->playerIndex == 0) || (!allow)) {
extern bool gDjuiInMainMenu;
if (m->action & ACT_FLAG_RIDING_SHELL || (gServerSettings.enableCheats && gCheats.godMode && m->playerIndex == 0) || (!allow) || gDjuiInMainMenu) {
m->quicksandDepth = 0.0f;
} else {
if (m->quicksandDepth < 1.1f) {

View file

@ -560,3 +560,7 @@ void djui_hud_set_render_behind_hud(bool enable) {
bool djui_hud_is_pause_menu_created(void) {
return gDjuiPanelPauseCreated;
}
void djui_open_pause_menu(void) {
djui_panel_pause_create(NULL);
}

View file

@ -69,4 +69,6 @@ void djui_hud_set_render_behind_hud(bool enable);
bool djui_hud_is_pause_menu_created(void);
void djui_open_pause_menu(void);
#endif

View file

@ -12422,6 +12422,21 @@ int smlua_func_djui_hud_world_pos_to_screen_pos(lua_State* L) {
return 1;
}
int smlua_func_djui_open_pause_menu(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_open_pause_menu", 0, top);
return 0;
}
djui_open_pause_menu();
return 1;
}
//////////////////
// djui_popup.h //
//////////////////
@ -30727,6 +30742,7 @@ void smlua_bind_functions_autogen(void) {
smlua_bind_function(L, "djui_hud_set_resolution", smlua_func_djui_hud_set_resolution);
smlua_bind_function(L, "djui_hud_set_rotation", smlua_func_djui_hud_set_rotation);
smlua_bind_function(L, "djui_hud_world_pos_to_screen_pos", smlua_func_djui_hud_world_pos_to_screen_pos);
smlua_bind_function(L, "djui_open_pause_menu", smlua_func_djui_open_pause_menu);
// djui_popup.h
smlua_bind_function(L, "djui_popup_create", smlua_func_djui_popup_create);