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

Commit

Permalink
expose course_is_main_course() to Lua (#282)
Browse files Browse the repository at this point in the history
  • Loading branch information
Isaac0-dev authored Feb 18, 2023
1 parent 053d490 commit 3f7f5da
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 0 deletions.
6 changes: 6 additions & 0 deletions autogen/lua_definitions/functions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8196,6 +8196,12 @@ function camera_unfreeze()
-- ...
end

--- @param levelNum integer
--- @return boolean
function course_is_main_course(levelNum)
-- ...
end

--- @param pointer Pointer_integer
--- @return integer
function deref_s32_pointer(pointer)
Expand Down
20 changes: 20 additions & 0 deletions docs/lua/functions-4.md
Original file line number Diff line number Diff line change
Expand Up @@ -8084,6 +8084,26 @@

<br />

## [course_is_main_course](#course_is_main_course)

### Lua Example
`local booleanValue = course_is_main_course(levelNum)`

### Parameters
| Field | Type |
| ----- | ---- |
| levelNum | `integer` |

### Returns
- `boolean`

### C Prototype
`bool course_is_main_course(u16 levelNum);`

[:arrow_up_small:](#)

<br />

## [deref_s32_pointer](#deref_s32_pointer)

### Lua Example
Expand Down
1 change: 1 addition & 0 deletions docs/lua/functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -1516,6 +1516,7 @@
- [camera_config_set_y_sensitivity](functions-4.md#camera_config_set_y_sensitivity)
- [camera_freeze](functions-4.md#camera_freeze)
- [camera_unfreeze](functions-4.md#camera_unfreeze)
- [course_is_main_course](functions-4.md#course_is_main_course)
- [deref_s32_pointer](functions-4.md#deref_s32_pointer)
- [get_current_save_file_num](functions-4.md#get_current_save_file_num)
- [get_dialog_box_state](functions-4.md#get_dialog_box_state)
Expand Down
18 changes: 18 additions & 0 deletions src/pc/lua/smlua_functions_autogen.c
Original file line number Diff line number Diff line change
Expand Up @@ -26777,6 +26777,23 @@ int smlua_func_camera_unfreeze(UNUSED lua_State* L) {
return 1;
}

int smlua_func_course_is_main_course(lua_State* L) {
if (L == NULL) { return 0; }

int top = lua_gettop(L);
if (top != 1) {
LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "course_is_main_course", 1, top);
return 0;
}

u16 levelNum = smlua_to_integer(L, 1);
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "course_is_main_course"); return 0; }

lua_pushboolean(L, course_is_main_course(levelNum));

return 1;
}

int smlua_func_deref_s32_pointer(lua_State* L) {
if (L == NULL) { return 0; }

Expand Down Expand Up @@ -30152,6 +30169,7 @@ void smlua_bind_functions_autogen(void) {
smlua_bind_function(L, "camera_config_set_y_sensitivity", smlua_func_camera_config_set_y_sensitivity);
smlua_bind_function(L, "camera_freeze", smlua_func_camera_freeze);
smlua_bind_function(L, "camera_unfreeze", smlua_func_camera_unfreeze);
smlua_bind_function(L, "course_is_main_course", smlua_func_course_is_main_course);
smlua_bind_function(L, "deref_s32_pointer", smlua_func_deref_s32_pointer);
smlua_bind_function(L, "get_current_save_file_num", smlua_func_get_current_save_file_num);
smlua_bind_function(L, "get_dialog_box_state", smlua_func_get_dialog_box_state);
Expand Down
7 changes: 7 additions & 0 deletions src/pc/lua/utils/smlua_misc_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include "game/rendering_graph_node.h"
#include "game/level_update.h"
#include "pc/djui/djui_hud_utils.h"
#include "include/course_table.h"

u32 get_network_area_timer(void) {
return gNetworkAreaTimer;
Expand Down Expand Up @@ -373,3 +374,9 @@ void set_override_far(f32 far) {
void add_scroll_target(u32 index, const char* name, u32 offset, u32 size) {
dynos_add_scroll_target(index, name, offset, size);
}

///

bool course_is_main_course(u16 levelNum) {
return COURSE_IS_MAIN_COURSE(levelNum);
}
2 changes: 2 additions & 0 deletions src/pc/lua/utils/smlua_misc_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,6 @@ void add_scroll_target(u32 index, const char* name, u32 offset, u32 size);

void play_transition(s16 transType, s16 time, u8 red, u8 green, u8 blue);

bool course_is_main_course(u16 levelNum);

#endif

0 comments on commit 3f7f5da

Please sign in to comment.