expose course_is_main_course() to Lua (#282)

This commit is contained in:
Isaac0-dev 2023-02-19 07:23:51 +10:00 committed by GitHub
parent 053d4902ed
commit 3f7f5da50e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 54 additions and 0 deletions

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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; }
@ -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);

View File

@ -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;
@ -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);
}

View File

@ -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