Skip to content
This repository has been archived by the owner on Jul 2, 2024. It is now read-only.

Commit

Permalink
add djui_open_pause_menu() (sm64pc#391)
Browse files Browse the repository at this point in the history
  • Loading branch information
Isaac0-dev authored May 11, 2023
1 parent f785050 commit fad7984
Show file tree
Hide file tree
Showing 9 changed files with 50 additions and 3 deletions.
5 changes: 5 additions & 0 deletions autogen/lua_definitions/functions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
18 changes: 18 additions & 0 deletions docs/lua/functions-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
1 change: 1 addition & 0 deletions docs/lua/functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 />

Expand Down
2 changes: 1 addition & 1 deletion src/game/interaction.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down
2 changes: 1 addition & 1 deletion src/game/mario_actions_airborne.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
3 changes: 2 additions & 1 deletion src/game/mario_step.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
4 changes: 4 additions & 0 deletions src/pc/djui/djui_hud_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
2 changes: 2 additions & 0 deletions src/pc/djui/djui_hud_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
16 changes: 16 additions & 0 deletions src/pc/lua/smlua_functions_autogen.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 //
//////////////////
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit fad7984

Please sign in to comment.