/* THIS FILE IS AUTOGENERATED */ /* SHOULD NOT BE MANUALLY CHANGED */ #include "smlua.h" #include "src/audio/external.h" #include "src/engine/math_util.h" #include "src/engine/surface_collision.h" #include "src/engine/surface_load.h" #include "src/game/camera.h" #include "src/game/characters.h" #include "src/game/mario_step.h" #include "src/game/mario.h" #include "src/pc/djui/djui_popup.h" #include "src/pc/network/network_utils.h" #include "src/pc/djui/djui_chat_message.h" #include "src/game/interaction.h" #include "src/game/level_info.h" #include "src/game/save_file.h" #include "src/game/sound_init.h" #include "src/pc/djui/djui_hud_utils.h" #include "src/pc/network/network_player.h" #include "src/pc/network/lag_compensation.h" #include "include/behavior_table.h" #include "src/pc/lua/utils/smlua_obj_utils.h" #include "src/pc/lua/utils/smlua_misc_utils.h" #include "src/pc/lua/utils/smlua_collision_utils.h" #include "src/pc/lua/utils/smlua_math_utils.h" #include "src/pc/lua/utils/smlua_model_utils.h" #include "src/pc/lua/utils/smlua_text_utils.h" #include "src/pc/lua/utils/smlua_audio_utils.h" #include "src/pc/lua/utils/smlua_level_utils.h" #include "src/pc/lua/utils/smlua_anim_utils.h" #include "src/pc/lua/utils/smlua_deprecated.h" #include "src/game/object_list_processor.h" #include "src/game/behavior_actions.h" #include "src/game/mario_misc.h" #include "src/pc/mods/mod_storage.c.h" #include "src/pc/utils/misc.h" #include "src/game/level_update.h" #include "src/game/area.h" #include "src/engine/level_script.h" #include "src/game/ingame_menu.h" //////////// // area.h // //////////// int smlua_func_area_get_warp_node(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", "area_get_warp_node", 1, top); return 0; } u8 id = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "area_get_warp_node"); return 0; } smlua_push_object(L, LOT_OBJECTWARPNODE, area_get_warp_node(id)); return 1; } int smlua_func_area_get_warp_node_from_params(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", "area_get_warp_node_from_params", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "area_get_warp_node_from_params"); return 0; } smlua_push_object(L, LOT_OBJECTWARPNODE, area_get_warp_node_from_params(o)); return 1; } //////////////////////// // behavior_actions.h // //////////////////////// int smlua_func_arc_to_goal_pos(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "arc_to_goal_pos", 4, top); return 0; } f32* a0 = smlua_get_vec3f_from_buffer(); a0[0] = smlua_get_number_field(1, "x"); a0[1] = smlua_get_number_field(1, "y"); a0[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "arc_to_goal_pos"); return 0; } f32* a1 = smlua_get_vec3f_from_buffer(); a1[0] = smlua_get_number_field(2, "x"); a1[1] = smlua_get_number_field(2, "y"); a1[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "arc_to_goal_pos"); return 0; } f32 yVel = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "arc_to_goal_pos"); return 0; } f32 gravity = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "arc_to_goal_pos"); return 0; } lua_pushinteger(L, arc_to_goal_pos(a0, a1, yVel, gravity)); smlua_push_number_field(1, "x", a0[0]); smlua_push_number_field(1, "y", a0[1]); smlua_push_number_field(1, "z", a0[2]); smlua_push_number_field(2, "x", a1[0]); smlua_push_number_field(2, "y", a1[1]); smlua_push_number_field(2, "z", a1[2]); return 1; } int smlua_func_bhv_1up_common_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_common_init", 0, top); return 0; } bhv_1up_common_init(); return 1; } int smlua_func_bhv_1up_hidden_in_pole_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_hidden_in_pole_loop", 0, top); return 0; } bhv_1up_hidden_in_pole_loop(); return 1; } int smlua_func_bhv_1up_hidden_in_pole_spawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_hidden_in_pole_spawner_loop", 0, top); return 0; } bhv_1up_hidden_in_pole_spawner_loop(); return 1; } int smlua_func_bhv_1up_hidden_in_pole_trigger_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_hidden_in_pole_trigger_loop", 0, top); return 0; } bhv_1up_hidden_in_pole_trigger_loop(); return 1; } int smlua_func_bhv_1up_hidden_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_hidden_loop", 0, top); return 0; } bhv_1up_hidden_loop(); return 1; } int smlua_func_bhv_1up_hidden_trigger_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_hidden_trigger_loop", 0, top); return 0; } bhv_1up_hidden_trigger_loop(); return 1; } int smlua_func_bhv_1up_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_init", 0, top); return 0; } bhv_1up_init(); return 1; } int smlua_func_bhv_1up_jump_on_approach_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_jump_on_approach_loop", 0, top); return 0; } bhv_1up_jump_on_approach_loop(); return 1; } int smlua_func_bhv_1up_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_loop", 0, top); return 0; } bhv_1up_loop(); return 1; } int smlua_func_bhv_1up_running_away_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_running_away_loop", 0, top); return 0; } bhv_1up_running_away_loop(); return 1; } int smlua_func_bhv_1up_sliding_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_sliding_loop", 0, top); return 0; } bhv_1up_sliding_loop(); return 1; } int smlua_func_bhv_1up_trigger_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_trigger_init", 0, top); return 0; } bhv_1up_trigger_init(); return 1; } int smlua_func_bhv_1up_walking_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_1up_walking_loop", 0, top); return 0; } bhv_1up_walking_loop(); return 1; } int smlua_func_bhv_act_selector_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_act_selector_init", 0, top); return 0; } bhv_act_selector_init(); return 1; } int smlua_func_bhv_act_selector_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_act_selector_loop", 0, top); return 0; } bhv_act_selector_loop(); return 1; } int smlua_func_bhv_act_selector_star_type_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_act_selector_star_type_loop", 0, top); return 0; } bhv_act_selector_star_type_loop(); return 1; } int smlua_func_bhv_activated_back_and_forth_platform_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_activated_back_and_forth_platform_init", 0, top); return 0; } bhv_activated_back_and_forth_platform_init(); return 1; } int smlua_func_bhv_activated_back_and_forth_platform_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_activated_back_and_forth_platform_update", 0, top); return 0; } bhv_activated_back_and_forth_platform_update(); return 1; } int smlua_func_bhv_alpha_boo_key_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_alpha_boo_key_loop", 0, top); return 0; } bhv_alpha_boo_key_loop(); return 1; } int smlua_func_bhv_ambient_sounds_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ambient_sounds_init", 0, top); return 0; } bhv_ambient_sounds_init(); return 1; } int smlua_func_bhv_animated_texture_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_animated_texture_loop", 0, top); return 0; } bhv_animated_texture_loop(); return 1; } int smlua_func_bhv_animates_on_floor_switch_press_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_animates_on_floor_switch_press_init", 0, top); return 0; } bhv_animates_on_floor_switch_press_init(); return 1; } int smlua_func_bhv_animates_on_floor_switch_press_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_animates_on_floor_switch_press_loop", 0, top); return 0; } bhv_animates_on_floor_switch_press_loop(); return 1; } int smlua_func_bhv_arrow_lift_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_arrow_lift_loop", 0, top); return 0; } bhv_arrow_lift_loop(); return 1; } int smlua_func_bhv_bbh_tilting_trap_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bbh_tilting_trap_platform_loop", 0, top); return 0; } bhv_bbh_tilting_trap_platform_loop(); return 1; } int smlua_func_bhv_beta_boo_key_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_boo_key_loop", 0, top); return 0; } bhv_beta_boo_key_loop(); return 1; } int smlua_func_bhv_beta_bowser_anchor_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_bowser_anchor_loop", 0, top); return 0; } bhv_beta_bowser_anchor_loop(); return 1; } int smlua_func_bhv_beta_chest_bottom_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_chest_bottom_init", 0, top); return 0; } bhv_beta_chest_bottom_init(); return 1; } int smlua_func_bhv_beta_chest_bottom_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_chest_bottom_loop", 0, top); return 0; } bhv_beta_chest_bottom_loop(); return 1; } int smlua_func_bhv_beta_chest_lid_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_chest_lid_loop", 0, top); return 0; } bhv_beta_chest_lid_loop(); return 1; } int smlua_func_bhv_beta_fish_splash_spawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_fish_splash_spawner_loop", 0, top); return 0; } bhv_beta_fish_splash_spawner_loop(); return 1; } int smlua_func_bhv_beta_holdable_object_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_holdable_object_init", 0, top); return 0; } bhv_beta_holdable_object_init(); return 1; } int smlua_func_bhv_beta_holdable_object_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_holdable_object_loop", 0, top); return 0; } bhv_beta_holdable_object_loop(); return 1; } int smlua_func_bhv_beta_moving_flames_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_moving_flames_loop", 0, top); return 0; } bhv_beta_moving_flames_loop(); return 1; } int smlua_func_bhv_beta_moving_flames_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_moving_flames_spawn_loop", 0, top); return 0; } bhv_beta_moving_flames_spawn_loop(); return 1; } int smlua_func_bhv_beta_trampoline_spring_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_trampoline_spring_loop", 0, top); return 0; } bhv_beta_trampoline_spring_loop(); return 1; } int smlua_func_bhv_beta_trampoline_top_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_beta_trampoline_top_loop", 0, top); return 0; } bhv_beta_trampoline_top_loop(); return 1; } int smlua_func_bhv_big_boo_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_big_boo_loop", 0, top); return 0; } bhv_big_boo_loop(); return 1; } int smlua_func_bhv_big_boulder_generator_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_big_boulder_generator_loop", 0, top); return 0; } bhv_big_boulder_generator_loop(); return 1; } int smlua_func_bhv_big_boulder_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_big_boulder_init", 0, top); return 0; } bhv_big_boulder_init(); return 1; } int smlua_func_bhv_big_boulder_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_big_boulder_loop", 0, top); return 0; } bhv_big_boulder_loop(); return 1; } int smlua_func_bhv_big_bully_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_big_bully_init", 0, top); return 0; } bhv_big_bully_init(); return 1; } int smlua_func_bhv_big_bully_with_minions_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_big_bully_with_minions_init", 0, top); return 0; } bhv_big_bully_with_minions_init(); return 1; } int smlua_func_bhv_big_bully_with_minions_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_big_bully_with_minions_loop", 0, top); return 0; } bhv_big_bully_with_minions_loop(); return 1; } int smlua_func_bhv_bird_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bird_update", 0, top); return 0; } bhv_bird_update(); return 1; } int smlua_func_bhv_birds_sound_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_birds_sound_loop", 0, top); return 0; } bhv_birds_sound_loop(); return 1; } int smlua_func_bhv_bitfs_sinking_cage_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bitfs_sinking_cage_platform_loop", 0, top); return 0; } bhv_bitfs_sinking_cage_platform_loop(); return 1; } int smlua_func_bhv_bitfs_sinking_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bitfs_sinking_platform_loop", 0, top); return 0; } bhv_bitfs_sinking_platform_loop(); return 1; } int smlua_func_bhv_black_smoke_bowser_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_black_smoke_bowser_loop", 0, top); return 0; } bhv_black_smoke_bowser_loop(); return 1; } int smlua_func_bhv_black_smoke_mario_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_black_smoke_mario_loop", 0, top); return 0; } bhv_black_smoke_mario_loop(); return 1; } int smlua_func_bhv_black_smoke_upward_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_black_smoke_upward_loop", 0, top); return 0; } bhv_black_smoke_upward_loop(); return 1; } int smlua_func_bhv_blue_bowser_flame_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_blue_bowser_flame_init", 0, top); return 0; } bhv_blue_bowser_flame_init(); return 1; } int smlua_func_bhv_blue_bowser_flame_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_blue_bowser_flame_loop", 0, top); return 0; } bhv_blue_bowser_flame_loop(); return 1; } int smlua_func_bhv_blue_coin_jumping_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_blue_coin_jumping_loop", 0, top); return 0; } bhv_blue_coin_jumping_loop(); return 1; } int smlua_func_bhv_blue_coin_number_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_blue_coin_number_loop", 0, top); return 0; } bhv_blue_coin_number_loop(); return 1; } int smlua_func_bhv_blue_coin_sliding_jumping_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_blue_coin_sliding_jumping_init", 0, top); return 0; } bhv_blue_coin_sliding_jumping_init(); return 1; } int smlua_func_bhv_blue_coin_sliding_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_blue_coin_sliding_loop", 0, top); return 0; } bhv_blue_coin_sliding_loop(); return 1; } int smlua_func_bhv_blue_coin_switch_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_blue_coin_switch_init", 0, top); return 0; } bhv_blue_coin_switch_init(); return 1; } int smlua_func_bhv_blue_coin_switch_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_blue_coin_switch_loop", 0, top); return 0; } bhv_blue_coin_switch_loop(); return 1; } int smlua_func_bhv_blue_fish_movement_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_blue_fish_movement_loop", 0, top); return 0; } bhv_blue_fish_movement_loop(); return 1; } int smlua_func_bhv_blue_flames_group_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_blue_flames_group_loop", 0, top); return 0; } bhv_blue_flames_group_loop(); return 1; } int smlua_func_bhv_bob_pit_bowling_ball_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bob_pit_bowling_ball_init", 0, top); return 0; } bhv_bob_pit_bowling_ball_init(); return 1; } int smlua_func_bhv_bob_pit_bowling_ball_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bob_pit_bowling_ball_loop", 0, top); return 0; } bhv_bob_pit_bowling_ball_loop(); return 1; } int smlua_func_bhv_bobomb_anchor_mario_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bobomb_anchor_mario_loop", 0, top); return 0; } bhv_bobomb_anchor_mario_loop(); return 1; } int smlua_func_bhv_bobomb_buddy_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bobomb_buddy_init", 0, top); return 0; } bhv_bobomb_buddy_init(); return 1; } int smlua_func_bhv_bobomb_buddy_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bobomb_buddy_loop", 0, top); return 0; } bhv_bobomb_buddy_loop(); return 1; } int smlua_func_bhv_bobomb_bully_death_smoke_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bobomb_bully_death_smoke_init", 0, top); return 0; } bhv_bobomb_bully_death_smoke_init(); return 1; } int smlua_func_bhv_bobomb_explosion_bubble_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bobomb_explosion_bubble_init", 0, top); return 0; } bhv_bobomb_explosion_bubble_init(); return 1; } int smlua_func_bhv_bobomb_explosion_bubble_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bobomb_explosion_bubble_loop", 0, top); return 0; } bhv_bobomb_explosion_bubble_loop(); return 1; } int smlua_func_bhv_bobomb_fuse_smoke_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bobomb_fuse_smoke_init", 0, top); return 0; } bhv_bobomb_fuse_smoke_init(); return 1; } int smlua_func_bhv_bobomb_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bobomb_init", 0, top); return 0; } bhv_bobomb_init(); return 1; } int smlua_func_bhv_bobomb_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bobomb_loop", 0, top); return 0; } bhv_bobomb_loop(); return 1; } int smlua_func_bhv_boo_boss_spawned_bridge_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_boo_boss_spawned_bridge_loop", 0, top); return 0; } bhv_boo_boss_spawned_bridge_loop(); return 1; } int smlua_func_bhv_boo_cage_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_boo_cage_init", 0, top); return 0; } bhv_boo_cage_init(); return 1; } int smlua_func_bhv_boo_cage_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_boo_cage_loop", 0, top); return 0; } bhv_boo_cage_loop(); return 1; } int smlua_func_bhv_boo_in_castle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_boo_in_castle_loop", 0, top); return 0; } bhv_boo_in_castle_loop(); return 1; } int smlua_func_bhv_boo_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_boo_init", 0, top); return 0; } bhv_boo_init(); return 1; } int smlua_func_bhv_boo_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_boo_loop", 0, top); return 0; } bhv_boo_loop(); return 1; } int smlua_func_bhv_boo_with_cage_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_boo_with_cage_init", 0, top); return 0; } bhv_boo_with_cage_init(); return 1; } int smlua_func_bhv_boo_with_cage_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_boo_with_cage_loop", 0, top); return 0; } bhv_boo_with_cage_loop(); return 1; } int smlua_func_bhv_book_switch_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_book_switch_loop", 0, top); return 0; } bhv_book_switch_loop(); return 1; } int smlua_func_bhv_bookend_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bookend_spawn_loop", 0, top); return 0; } bhv_bookend_spawn_loop(); return 1; } int smlua_func_bhv_bouncing_fireball_flame_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bouncing_fireball_flame_loop", 0, top); return 0; } bhv_bouncing_fireball_flame_loop(); return 1; } int smlua_func_bhv_bouncing_fireball_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bouncing_fireball_loop", 0, top); return 0; } bhv_bouncing_fireball_loop(); return 1; } int smlua_func_bhv_bowling_ball_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowling_ball_init", 0, top); return 0; } bhv_bowling_ball_init(); return 1; } int smlua_func_bhv_bowling_ball_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowling_ball_loop", 0, top); return 0; } bhv_bowling_ball_loop(); return 1; } int smlua_func_bhv_bowser_body_anchor_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_body_anchor_init", 0, top); return 0; } bhv_bowser_body_anchor_init(); return 1; } int smlua_func_bhv_bowser_body_anchor_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_body_anchor_loop", 0, top); return 0; } bhv_bowser_body_anchor_loop(); return 1; } int smlua_func_bhv_bowser_bomb_explosion_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_bomb_explosion_loop", 0, top); return 0; } bhv_bowser_bomb_explosion_loop(); return 1; } int smlua_func_bhv_bowser_bomb_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_bomb_loop", 0, top); return 0; } bhv_bowser_bomb_loop(); return 1; } int smlua_func_bhv_bowser_bomb_smoke_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_bomb_smoke_loop", 0, top); return 0; } bhv_bowser_bomb_smoke_loop(); return 1; } int smlua_func_bhv_bowser_course_red_coin_star_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_course_red_coin_star_loop", 0, top); return 0; } bhv_bowser_course_red_coin_star_loop(); return 1; } int smlua_func_bhv_bowser_flame_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_flame_spawn_loop", 0, top); return 0; } bhv_bowser_flame_spawn_loop(); return 1; } int smlua_func_bhv_bowser_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_init", 0, top); return 0; } bhv_bowser_init(); return 1; } int smlua_func_bhv_bowser_key_course_exit_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_key_course_exit_loop", 0, top); return 0; } bhv_bowser_key_course_exit_loop(); return 1; } int smlua_func_bhv_bowser_key_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_key_init", 0, top); return 0; } bhv_bowser_key_init(); return 1; } int smlua_func_bhv_bowser_key_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_key_loop", 0, top); return 0; } bhv_bowser_key_loop(); return 1; } int smlua_func_bhv_bowser_key_unlock_door_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_key_unlock_door_loop", 0, top); return 0; } bhv_bowser_key_unlock_door_loop(); return 1; } int smlua_func_bhv_bowser_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_loop", 0, top); return 0; } bhv_bowser_loop(); return 1; } int smlua_func_bhv_bowser_shock_wave_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_shock_wave_loop", 0, top); return 0; } bhv_bowser_shock_wave_loop(); return 1; } int smlua_func_bhv_bowser_tail_anchor_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_tail_anchor_init", 0, top); return 0; } bhv_bowser_tail_anchor_init(); return 1; } int smlua_func_bhv_bowser_tail_anchor_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowser_tail_anchor_loop", 0, top); return 0; } bhv_bowser_tail_anchor_loop(); return 1; } int smlua_func_bhv_bowsers_sub_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bowsers_sub_loop", 0, top); return 0; } bhv_bowsers_sub_loop(); return 1; } int smlua_func_bhv_breakable_box_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_breakable_box_loop", 0, top); return 0; } bhv_breakable_box_loop(); return 1; } int smlua_func_bhv_breakable_box_small_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_breakable_box_small_init", 0, top); return 0; } bhv_breakable_box_small_init(); return 1; } int smlua_func_bhv_breakable_box_small_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_breakable_box_small_loop", 0, top); return 0; } bhv_breakable_box_small_loop(); return 1; } int smlua_func_bhv_bub_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bub_loop", 0, top); return 0; } bhv_bub_loop(); return 1; } int smlua_func_bhv_bub_spawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bub_spawner_loop", 0, top); return 0; } bhv_bub_spawner_loop(); return 1; } int smlua_func_bhv_bubba_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bubba_loop", 0, top); return 0; } bhv_bubba_loop(); return 1; } int smlua_func_bhv_bubble_cannon_barrel_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bubble_cannon_barrel_loop", 0, top); return 0; } bhv_bubble_cannon_barrel_loop(); return 1; } int smlua_func_bhv_bubble_maybe_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bubble_maybe_loop", 0, top); return 0; } bhv_bubble_maybe_loop(); return 1; } int smlua_func_bhv_bubble_player_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bubble_player_loop", 0, top); return 0; } bhv_bubble_player_loop(); return 1; } int smlua_func_bhv_bubble_splash_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bubble_splash_init", 0, top); return 0; } bhv_bubble_splash_init(); return 1; } int smlua_func_bhv_bubble_wave_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bubble_wave_init", 0, top); return 0; } bhv_bubble_wave_init(); return 1; } int smlua_func_bhv_bullet_bill_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bullet_bill_init", 0, top); return 0; } bhv_bullet_bill_init(); return 1; } int smlua_func_bhv_bullet_bill_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bullet_bill_loop", 0, top); return 0; } bhv_bullet_bill_loop(); return 1; } int smlua_func_bhv_bully_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_bully_loop", 0, top); return 0; } bhv_bully_loop(); return 1; } int smlua_func_bhv_butterfly_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_butterfly_init", 0, top); return 0; } bhv_butterfly_init(); return 1; } int smlua_func_bhv_butterfly_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_butterfly_loop", 0, top); return 0; } bhv_butterfly_loop(); return 1; } int smlua_func_bhv_camera_lakitu_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_camera_lakitu_init", 0, top); return 0; } bhv_camera_lakitu_init(); return 1; } int smlua_func_bhv_camera_lakitu_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_camera_lakitu_update", 0, top); return 0; } bhv_camera_lakitu_update(); return 1; } int smlua_func_bhv_cannon_barrel_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_cannon_barrel_loop", 0, top); return 0; } bhv_cannon_barrel_loop(); return 1; } int smlua_func_bhv_cannon_base_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_cannon_base_loop", 0, top); return 0; } bhv_cannon_base_loop(); return 1; } int smlua_func_bhv_cannon_base_unused_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_cannon_base_unused_loop", 0, top); return 0; } bhv_cannon_base_unused_loop(); return 1; } int smlua_func_bhv_cannon_closed_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_cannon_closed_init", 0, top); return 0; } bhv_cannon_closed_init(); return 1; } int smlua_func_bhv_cannon_closed_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_cannon_closed_loop", 0, top); return 0; } bhv_cannon_closed_loop(); return 1; } int smlua_func_bhv_cap_switch_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_cap_switch_loop", 0, top); return 0; } bhv_cap_switch_loop(); return 1; } int smlua_func_bhv_castle_cannon_grate_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_castle_cannon_grate_init", 0, top); return 0; } bhv_castle_cannon_grate_init(); return 1; } int smlua_func_bhv_castle_flag_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_castle_flag_init", 0, top); return 0; } bhv_castle_flag_init(); return 1; } int smlua_func_bhv_castle_floor_trap_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_castle_floor_trap_init", 0, top); return 0; } bhv_castle_floor_trap_init(); return 1; } int smlua_func_bhv_castle_floor_trap_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_castle_floor_trap_loop", 0, top); return 0; } bhv_castle_floor_trap_loop(); return 1; } int smlua_func_bhv_ccm_touched_star_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ccm_touched_star_spawn_loop", 0, top); return 0; } bhv_ccm_touched_star_spawn_loop(); return 1; } int smlua_func_bhv_celebration_star_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_celebration_star_init", 0, top); return 0; } bhv_celebration_star_init(); return 1; } int smlua_func_bhv_celebration_star_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_celebration_star_loop", 0, top); return 0; } bhv_celebration_star_loop(); return 1; } int smlua_func_bhv_celebration_star_sparkle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_celebration_star_sparkle_loop", 0, top); return 0; } bhv_celebration_star_sparkle_loop(); return 1; } int smlua_func_bhv_chain_chomp_chain_part_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_chain_chomp_chain_part_update", 0, top); return 0; } bhv_chain_chomp_chain_part_update(); return 1; } int smlua_func_bhv_chain_chomp_gate_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_chain_chomp_gate_init", 0, top); return 0; } bhv_chain_chomp_gate_init(); return 1; } int smlua_func_bhv_chain_chomp_gate_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_chain_chomp_gate_update", 0, top); return 0; } bhv_chain_chomp_gate_update(); return 1; } int smlua_func_bhv_chain_chomp_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_chain_chomp_update", 0, top); return 0; } bhv_chain_chomp_update(); return 1; } int smlua_func_bhv_checkerboard_elevator_group_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_checkerboard_elevator_group_init", 0, top); return 0; } bhv_checkerboard_elevator_group_init(); return 1; } int smlua_func_bhv_checkerboard_elevator_group_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_checkerboard_elevator_group_loop", 0, top); return 0; } bhv_checkerboard_elevator_group_loop(); return 1; } int smlua_func_bhv_checkerboard_platform_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_checkerboard_platform_init", 0, top); return 0; } bhv_checkerboard_platform_init(); return 1; } int smlua_func_bhv_checkerboard_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_checkerboard_platform_loop", 0, top); return 0; } bhv_checkerboard_platform_loop(); return 1; } int smlua_func_bhv_chuckya_anchor_mario_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_chuckya_anchor_mario_loop", 0, top); return 0; } bhv_chuckya_anchor_mario_loop(); return 1; } int smlua_func_bhv_chuckya_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_chuckya_loop", 0, top); return 0; } bhv_chuckya_loop(); return 1; } int smlua_func_bhv_circling_amp_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_circling_amp_init", 0, top); return 0; } bhv_circling_amp_init(); return 1; } int smlua_func_bhv_circling_amp_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_circling_amp_loop", 0, top); return 0; } bhv_circling_amp_loop(); return 1; } int smlua_func_bhv_clam_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_clam_loop", 0, top); return 0; } bhv_clam_loop(); return 1; } int smlua_func_bhv_cloud_part_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_cloud_part_update", 0, top); return 0; } bhv_cloud_part_update(); return 1; } int smlua_func_bhv_cloud_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_cloud_update", 0, top); return 0; } bhv_cloud_update(); return 1; } int smlua_func_bhv_coffin_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_coffin_loop", 0, top); return 0; } bhv_coffin_loop(); return 1; } int smlua_func_bhv_coffin_spawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_coffin_spawner_loop", 0, top); return 0; } bhv_coffin_spawner_loop(); return 1; } int smlua_func_bhv_coin_formation_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_coin_formation_init", 0, top); return 0; } bhv_coin_formation_init(); return 1; } int smlua_func_bhv_coin_formation_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_coin_formation_loop", 0, top); return 0; } bhv_coin_formation_loop(); return 1; } int smlua_func_bhv_coin_formation_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_coin_formation_spawn_loop", 0, top); return 0; } bhv_coin_formation_spawn_loop(); return 1; } int smlua_func_bhv_coin_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_coin_init", 0, top); return 0; } bhv_coin_init(); return 1; } int smlua_func_bhv_coin_inside_boo_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_coin_inside_boo_loop", 0, top); return 0; } bhv_coin_inside_boo_loop(); return 1; } int smlua_func_bhv_coin_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_coin_loop", 0, top); return 0; } bhv_coin_loop(); return 1; } int smlua_func_bhv_coin_sparkles_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_coin_sparkles_loop", 0, top); return 0; } bhv_coin_sparkles_loop(); return 1; } int smlua_func_bhv_collect_star_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_collect_star_init", 0, top); return 0; } bhv_collect_star_init(); return 1; } int smlua_func_bhv_collect_star_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_collect_star_loop", 0, top); return 0; } bhv_collect_star_loop(); return 1; } int smlua_func_bhv_controllable_platform_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_controllable_platform_init", 0, top); return 0; } bhv_controllable_platform_init(); return 1; } int smlua_func_bhv_controllable_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_controllable_platform_loop", 0, top); return 0; } bhv_controllable_platform_loop(); return 1; } int smlua_func_bhv_controllable_platform_sub_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_controllable_platform_sub_loop", 0, top); return 0; } bhv_controllable_platform_sub_loop(); return 1; } int smlua_func_bhv_courtyard_boo_triplet_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_courtyard_boo_triplet_init", 0, top); return 0; } bhv_courtyard_boo_triplet_init(); return 1; } int smlua_func_bhv_ddd_moving_pole_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ddd_moving_pole_loop", 0, top); return 0; } bhv_ddd_moving_pole_loop(); return 1; } int smlua_func_bhv_ddd_pole_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ddd_pole_init", 0, top); return 0; } bhv_ddd_pole_init(); return 1; } int smlua_func_bhv_ddd_pole_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ddd_pole_update", 0, top); return 0; } bhv_ddd_pole_update(); return 1; } int smlua_func_bhv_ddd_warp_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ddd_warp_loop", 0, top); return 0; } bhv_ddd_warp_loop(); return 1; } int smlua_func_bhv_decorative_pendulum_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_decorative_pendulum_init", 0, top); return 0; } bhv_decorative_pendulum_init(); return 1; } int smlua_func_bhv_decorative_pendulum_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_decorative_pendulum_loop", 0, top); return 0; } bhv_decorative_pendulum_loop(); return 1; } int smlua_func_bhv_donut_platform_spawner_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_donut_platform_spawner_update", 0, top); return 0; } bhv_donut_platform_spawner_update(); return 1; } int smlua_func_bhv_donut_platform_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_donut_platform_update", 0, top); return 0; } bhv_donut_platform_update(); return 1; } int smlua_func_bhv_door_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_door_init", 0, top); return 0; } bhv_door_init(); return 1; } int smlua_func_bhv_door_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_door_loop", 0, top); return 0; } bhv_door_loop(); return 1; } int smlua_func_bhv_dorrie_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_dorrie_update", 0, top); return 0; } bhv_dorrie_update(); return 1; } int smlua_func_bhv_elevator_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_elevator_init", 0, top); return 0; } bhv_elevator_init(); return 1; } int smlua_func_bhv_elevator_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_elevator_loop", 0, top); return 0; } bhv_elevator_loop(); return 1; } int smlua_func_bhv_end_birds_1_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_end_birds_1_loop", 0, top); return 0; } bhv_end_birds_1_loop(); return 1; } int smlua_func_bhv_end_birds_2_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_end_birds_2_loop", 0, top); return 0; } bhv_end_birds_2_loop(); return 1; } int smlua_func_bhv_enemy_lakitu_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_enemy_lakitu_update", 0, top); return 0; } bhv_enemy_lakitu_update(); return 1; } int smlua_func_bhv_exclamation_box_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_exclamation_box_init", 0, top); return 0; } bhv_exclamation_box_init(); return 1; } int smlua_func_bhv_exclamation_box_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_exclamation_box_loop", 0, top); return 0; } bhv_exclamation_box_loop(); return 1; } int smlua_func_bhv_explosion_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_explosion_init", 0, top); return 0; } bhv_explosion_init(); return 1; } int smlua_func_bhv_explosion_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_explosion_loop", 0, top); return 0; } bhv_explosion_loop(); return 1; } int smlua_func_bhv_eyerok_boss_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_eyerok_boss_init", 0, top); return 0; } bhv_eyerok_boss_init(); return 1; } int smlua_func_bhv_eyerok_boss_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_eyerok_boss_loop", 0, top); return 0; } bhv_eyerok_boss_loop(); return 1; } int smlua_func_bhv_eyerok_hand_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_eyerok_hand_loop", 0, top); return 0; } bhv_eyerok_hand_loop(); return 1; } int smlua_func_bhv_fading_warp_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_fading_warp_loop", 0, top); return 0; } bhv_fading_warp_loop(); return 1; } int smlua_func_bhv_falling_bowser_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_falling_bowser_platform_loop", 0, top); return 0; } bhv_falling_bowser_platform_loop(); return 1; } int smlua_func_bhv_falling_pillar_hitbox_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_falling_pillar_hitbox_loop", 0, top); return 0; } bhv_falling_pillar_hitbox_loop(); return 1; } int smlua_func_bhv_falling_pillar_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_falling_pillar_init", 0, top); return 0; } bhv_falling_pillar_init(); return 1; } int smlua_func_bhv_falling_pillar_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_falling_pillar_loop", 0, top); return 0; } bhv_falling_pillar_loop(); return 1; } int smlua_func_bhv_ferris_wheel_axle_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ferris_wheel_axle_init", 0, top); return 0; } bhv_ferris_wheel_axle_init(); return 1; } int smlua_func_bhv_ferris_wheel_platform_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ferris_wheel_platform_update", 0, top); return 0; } bhv_ferris_wheel_platform_update(); return 1; } int smlua_func_bhv_fire_piranha_plant_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_fire_piranha_plant_init", 0, top); return 0; } bhv_fire_piranha_plant_init(); return 1; } int smlua_func_bhv_fire_piranha_plant_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_fire_piranha_plant_update", 0, top); return 0; } bhv_fire_piranha_plant_update(); return 1; } int smlua_func_bhv_fire_spitter_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_fire_spitter_update", 0, top); return 0; } bhv_fire_spitter_update(); return 1; } int smlua_func_bhv_fish_group_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_fish_group_loop", 0, top); return 0; } bhv_fish_group_loop(); return 1; } int smlua_func_bhv_fish_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_fish_loop", 0, top); return 0; } bhv_fish_loop(); return 1; } int smlua_func_bhv_fish_spawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_fish_spawner_loop", 0, top); return 0; } bhv_fish_spawner_loop(); return 1; } int smlua_func_bhv_flame_bouncing_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flame_bouncing_init", 0, top); return 0; } bhv_flame_bouncing_init(); return 1; } int smlua_func_bhv_flame_bouncing_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flame_bouncing_loop", 0, top); return 0; } bhv_flame_bouncing_loop(); return 1; } int smlua_func_bhv_flame_bowser_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flame_bowser_init", 0, top); return 0; } bhv_flame_bowser_init(); return 1; } int smlua_func_bhv_flame_bowser_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flame_bowser_loop", 0, top); return 0; } bhv_flame_bowser_loop(); return 1; } int smlua_func_bhv_flame_floating_landing_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flame_floating_landing_init", 0, top); return 0; } bhv_flame_floating_landing_init(); return 1; } int smlua_func_bhv_flame_floating_landing_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flame_floating_landing_loop", 0, top); return 0; } bhv_flame_floating_landing_loop(); return 1; } int smlua_func_bhv_flame_large_burning_out_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flame_large_burning_out_init", 0, top); return 0; } bhv_flame_large_burning_out_init(); return 1; } int smlua_func_bhv_flame_mario_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flame_mario_loop", 0, top); return 0; } bhv_flame_mario_loop(); return 1; } int smlua_func_bhv_flame_moving_forward_growing_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flame_moving_forward_growing_init", 0, top); return 0; } bhv_flame_moving_forward_growing_init(); return 1; } int smlua_func_bhv_flame_moving_forward_growing_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flame_moving_forward_growing_loop", 0, top); return 0; } bhv_flame_moving_forward_growing_loop(); return 1; } int smlua_func_bhv_flamethrower_flame_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flamethrower_flame_loop", 0, top); return 0; } bhv_flamethrower_flame_loop(); return 1; } int smlua_func_bhv_flamethrower_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flamethrower_loop", 0, top); return 0; } bhv_flamethrower_loop(); return 1; } int smlua_func_bhv_floating_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_floating_platform_loop", 0, top); return 0; } bhv_floating_platform_loop(); return 1; } int smlua_func_bhv_floor_trap_in_castle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_floor_trap_in_castle_loop", 0, top); return 0; } bhv_floor_trap_in_castle_loop(); return 1; } int smlua_func_bhv_fly_guy_flame_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_fly_guy_flame_loop", 0, top); return 0; } bhv_fly_guy_flame_loop(); return 1; } int smlua_func_bhv_fly_guy_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_fly_guy_update", 0, top); return 0; } bhv_fly_guy_update(); return 1; } int smlua_func_bhv_flying_bookend_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_flying_bookend_loop", 0, top); return 0; } bhv_flying_bookend_loop(); return 1; } int smlua_func_bhv_free_bowling_ball_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_free_bowling_ball_init", 0, top); return 0; } bhv_free_bowling_ball_init(); return 1; } int smlua_func_bhv_free_bowling_ball_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_free_bowling_ball_loop", 0, top); return 0; } bhv_free_bowling_ball_loop(); return 1; } int smlua_func_bhv_generic_bowling_ball_spawner_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_generic_bowling_ball_spawner_init", 0, top); return 0; } bhv_generic_bowling_ball_spawner_init(); return 1; } int smlua_func_bhv_generic_bowling_ball_spawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_generic_bowling_ball_spawner_loop", 0, top); return 0; } bhv_generic_bowling_ball_spawner_loop(); return 1; } int smlua_func_bhv_giant_pole_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_giant_pole_loop", 0, top); return 0; } bhv_giant_pole_loop(); return 1; } int smlua_func_bhv_golden_coin_sparkles_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_golden_coin_sparkles_loop", 0, top); return 0; } bhv_golden_coin_sparkles_loop(); return 1; } int smlua_func_bhv_goomba_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_goomba_init", 0, top); return 0; } bhv_goomba_init(); return 1; } int smlua_func_bhv_goomba_triplet_spawner_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_goomba_triplet_spawner_update", 0, top); return 0; } bhv_goomba_triplet_spawner_update(); return 1; } int smlua_func_bhv_goomba_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_goomba_update", 0, top); return 0; } bhv_goomba_update(); return 1; } int smlua_func_bhv_grand_star_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_grand_star_init", 0, top); return 0; } bhv_grand_star_init(); return 1; } int smlua_func_bhv_grand_star_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_grand_star_loop", 0, top); return 0; } bhv_grand_star_loop(); return 1; } int smlua_func_bhv_grindel_thwomp_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_grindel_thwomp_loop", 0, top); return 0; } bhv_grindel_thwomp_loop(); return 1; } int smlua_func_bhv_ground_sand_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ground_sand_init", 0, top); return 0; } bhv_ground_sand_init(); return 1; } int smlua_func_bhv_ground_snow_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ground_snow_init", 0, top); return 0; } bhv_ground_snow_init(); return 1; } int smlua_func_bhv_haunted_bookshelf_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_haunted_bookshelf_loop", 0, top); return 0; } bhv_haunted_bookshelf_loop(); return 1; } int smlua_func_bhv_haunted_bookshelf_manager_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_haunted_bookshelf_manager_loop", 0, top); return 0; } bhv_haunted_bookshelf_manager_loop(); return 1; } int smlua_func_bhv_haunted_chair_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_haunted_chair_init", 0, top); return 0; } bhv_haunted_chair_init(); return 1; } int smlua_func_bhv_haunted_chair_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_haunted_chair_loop", 0, top); return 0; } bhv_haunted_chair_loop(); return 1; } int smlua_func_bhv_heave_ho_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_heave_ho_loop", 0, top); return 0; } bhv_heave_ho_loop(); return 1; } int smlua_func_bhv_heave_ho_throw_mario_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_heave_ho_throw_mario_loop", 0, top); return 0; } bhv_heave_ho_throw_mario_loop(); return 1; } int smlua_func_bhv_hidden_blue_coin_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_hidden_blue_coin_loop", 0, top); return 0; } bhv_hidden_blue_coin_loop(); return 1; } int smlua_func_bhv_hidden_object_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_hidden_object_loop", 0, top); return 0; } bhv_hidden_object_loop(); return 1; } int smlua_func_bhv_hidden_red_coin_star_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_hidden_red_coin_star_init", 0, top); return 0; } bhv_hidden_red_coin_star_init(); return 1; } int smlua_func_bhv_hidden_red_coin_star_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_hidden_red_coin_star_loop", 0, top); return 0; } bhv_hidden_red_coin_star_loop(); return 1; } int smlua_func_bhv_hidden_star_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_hidden_star_init", 0, top); return 0; } bhv_hidden_star_init(); return 1; } int smlua_func_bhv_hidden_star_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_hidden_star_loop", 0, top); return 0; } bhv_hidden_star_loop(); return 1; } int smlua_func_bhv_hidden_star_trigger_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_hidden_star_trigger_loop", 0, top); return 0; } bhv_hidden_star_trigger_loop(); return 1; } int smlua_func_bhv_homing_amp_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_homing_amp_init", 0, top); return 0; } bhv_homing_amp_init(); return 1; } int smlua_func_bhv_homing_amp_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_homing_amp_loop", 0, top); return 0; } bhv_homing_amp_loop(); return 1; } int smlua_func_bhv_hoot_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_hoot_init", 0, top); return 0; } bhv_hoot_init(); return 1; } int smlua_func_bhv_hoot_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_hoot_loop", 0, top); return 0; } bhv_hoot_loop(); return 1; } int smlua_func_bhv_horizontal_grindel_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_horizontal_grindel_init", 0, top); return 0; } bhv_horizontal_grindel_init(); return 1; } int smlua_func_bhv_horizontal_grindel_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_horizontal_grindel_update", 0, top); return 0; } bhv_horizontal_grindel_update(); return 1; } int smlua_func_bhv_idle_water_wave_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_idle_water_wave_loop", 0, top); return 0; } bhv_idle_water_wave_loop(); return 1; } int smlua_func_bhv_init_changing_water_level_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_init_changing_water_level_loop", 0, top); return 0; } bhv_init_changing_water_level_loop(); return 1; } int smlua_func_bhv_intro_lakitu_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_intro_lakitu_loop", 0, top); return 0; } bhv_intro_lakitu_loop(); return 1; } int smlua_func_bhv_intro_peach_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_intro_peach_loop", 0, top); return 0; } bhv_intro_peach_loop(); return 1; } int smlua_func_bhv_intro_scene_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_intro_scene_loop", 0, top); return 0; } bhv_intro_scene_loop(); return 1; } int smlua_func_bhv_invisible_objects_under_bridge_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_invisible_objects_under_bridge_init", 0, top); return 0; } bhv_invisible_objects_under_bridge_init(); return 1; } int smlua_func_bhv_invisible_objects_under_bridge_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_invisible_objects_under_bridge_loop", 0, top); return 0; } bhv_invisible_objects_under_bridge_loop(); return 1; } int smlua_func_bhv_jet_stream_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_jet_stream_loop", 0, top); return 0; } bhv_jet_stream_loop(); return 1; } int smlua_func_bhv_jet_stream_ring_spawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_jet_stream_ring_spawner_loop", 0, top); return 0; } bhv_jet_stream_ring_spawner_loop(); return 1; } int smlua_func_bhv_jet_stream_water_ring_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_jet_stream_water_ring_init", 0, top); return 0; } bhv_jet_stream_water_ring_init(); return 1; } int smlua_func_bhv_jet_stream_water_ring_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_jet_stream_water_ring_loop", 0, top); return 0; } bhv_jet_stream_water_ring_loop(); return 1; } int smlua_func_bhv_jrb_floating_box_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_jrb_floating_box_loop", 0, top); return 0; } bhv_jrb_floating_box_loop(); return 1; } int smlua_func_bhv_jrb_sliding_box_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_jrb_sliding_box_loop", 0, top); return 0; } bhv_jrb_sliding_box_loop(); return 1; } int smlua_func_bhv_jumping_box_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_jumping_box_loop", 0, top); return 0; } bhv_jumping_box_loop(); return 1; } int smlua_func_bhv_kickable_board_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_kickable_board_loop", 0, top); return 0; } bhv_kickable_board_loop(); return 1; } int smlua_func_bhv_king_bobomb_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_king_bobomb_loop", 0, top); return 0; } bhv_king_bobomb_loop(); return 1; } int smlua_func_bhv_klepto_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_klepto_init", 0, top); return 0; } bhv_klepto_init(); return 1; } int smlua_func_bhv_klepto_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_klepto_update", 0, top); return 0; } bhv_klepto_update(); return 1; } int smlua_func_bhv_koopa_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_koopa_init", 0, top); return 0; } bhv_koopa_init(); return 1; } int smlua_func_bhv_koopa_race_endpoint_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_koopa_race_endpoint_update", 0, top); return 0; } bhv_koopa_race_endpoint_update(); return 1; } int smlua_func_bhv_koopa_shell_flame_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_koopa_shell_flame_loop", 0, top); return 0; } bhv_koopa_shell_flame_loop(); return 1; } int smlua_func_bhv_koopa_shell_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_koopa_shell_loop", 0, top); return 0; } bhv_koopa_shell_loop(); return 1; } int smlua_func_bhv_koopa_shell_underwater_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_koopa_shell_underwater_loop", 0, top); return 0; } bhv_koopa_shell_underwater_loop(); return 1; } int smlua_func_bhv_koopa_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_koopa_update", 0, top); return 0; } bhv_koopa_update(); return 1; } int smlua_func_bhv_large_bomp_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_large_bomp_init", 0, top); return 0; } bhv_large_bomp_init(); return 1; } int smlua_func_bhv_large_bomp_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_large_bomp_loop", 0, top); return 0; } bhv_large_bomp_loop(); return 1; } int smlua_func_bhv_lll_bowser_puzzle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_bowser_puzzle_loop", 0, top); return 0; } bhv_lll_bowser_puzzle_loop(); return 1; } int smlua_func_bhv_lll_bowser_puzzle_piece_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_bowser_puzzle_piece_loop", 0, top); return 0; } bhv_lll_bowser_puzzle_piece_loop(); return 1; } int smlua_func_bhv_lll_drawbridge_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_drawbridge_loop", 0, top); return 0; } bhv_lll_drawbridge_loop(); return 1; } int smlua_func_bhv_lll_drawbridge_spawner_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_drawbridge_spawner_init", 0, top); return 0; } bhv_lll_drawbridge_spawner_init(); return 1; } int smlua_func_bhv_lll_drawbridge_spawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_drawbridge_spawner_loop", 0, top); return 0; } bhv_lll_drawbridge_spawner_loop(); return 1; } int smlua_func_bhv_lll_floating_wood_bridge_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_floating_wood_bridge_loop", 0, top); return 0; } bhv_lll_floating_wood_bridge_loop(); return 1; } int smlua_func_bhv_lll_moving_octagonal_mesh_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_moving_octagonal_mesh_platform_loop", 0, top); return 0; } bhv_lll_moving_octagonal_mesh_platform_loop(); return 1; } int smlua_func_bhv_lll_rolling_log_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_rolling_log_init", 0, top); return 0; } bhv_lll_rolling_log_init(); return 1; } int smlua_func_bhv_lll_rotating_block_fire_bars_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_rotating_block_fire_bars_loop", 0, top); return 0; } bhv_lll_rotating_block_fire_bars_loop(); return 1; } int smlua_func_bhv_lll_rotating_hex_flame_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_rotating_hex_flame_loop", 0, top); return 0; } bhv_lll_rotating_hex_flame_loop(); return 1; } int smlua_func_bhv_lll_rotating_hexagonal_ring_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_rotating_hexagonal_ring_loop", 0, top); return 0; } bhv_lll_rotating_hexagonal_ring_loop(); return 1; } int smlua_func_bhv_lll_sinking_rectangular_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_sinking_rectangular_platform_loop", 0, top); return 0; } bhv_lll_sinking_rectangular_platform_loop(); return 1; } int smlua_func_bhv_lll_sinking_rock_block_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_sinking_rock_block_loop", 0, top); return 0; } bhv_lll_sinking_rock_block_loop(); return 1; } int smlua_func_bhv_lll_sinking_square_platforms_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_sinking_square_platforms_loop", 0, top); return 0; } bhv_lll_sinking_square_platforms_loop(); return 1; } int smlua_func_bhv_lll_wood_piece_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_lll_wood_piece_loop", 0, top); return 0; } bhv_lll_wood_piece_loop(); return 1; } int smlua_func_bhv_mad_piano_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_mad_piano_update", 0, top); return 0; } bhv_mad_piano_update(); return 1; } int smlua_func_bhv_manta_ray_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_manta_ray_init", 0, top); return 0; } bhv_manta_ray_init(); return 1; } int smlua_func_bhv_manta_ray_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_manta_ray_loop", 0, top); return 0; } bhv_manta_ray_loop(); return 1; } int smlua_func_bhv_manta_ray_water_ring_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_manta_ray_water_ring_init", 0, top); return 0; } bhv_manta_ray_water_ring_init(); return 1; } int smlua_func_bhv_manta_ray_water_ring_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_manta_ray_water_ring_loop", 0, top); return 0; } bhv_manta_ray_water_ring_loop(); return 1; } int smlua_func_bhv_menu_button_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_menu_button_init", 0, top); return 0; } bhv_menu_button_init(); return 1; } int smlua_func_bhv_menu_button_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_menu_button_loop", 0, top); return 0; } bhv_menu_button_loop(); return 1; } int smlua_func_bhv_menu_button_manager_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_menu_button_manager_init", 0, top); return 0; } bhv_menu_button_manager_init(); return 1; } int smlua_func_bhv_menu_button_manager_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_menu_button_manager_loop", 0, top); return 0; } bhv_menu_button_manager_loop(); return 1; } int smlua_func_bhv_merry_go_round_boo_manager_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_merry_go_round_boo_manager_loop", 0, top); return 0; } bhv_merry_go_round_boo_manager_loop(); return 1; } int smlua_func_bhv_merry_go_round_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_merry_go_round_loop", 0, top); return 0; } bhv_merry_go_round_loop(); return 1; } int smlua_func_bhv_metal_cap_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_metal_cap_init", 0, top); return 0; } bhv_metal_cap_init(); return 1; } int smlua_func_bhv_metal_cap_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_metal_cap_loop", 0, top); return 0; } bhv_metal_cap_loop(); return 1; } int smlua_func_bhv_mips_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_mips_init", 0, top); return 0; } bhv_mips_init(); return 1; } int smlua_func_bhv_mips_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_mips_loop", 0, top); return 0; } bhv_mips_loop(); return 1; } int smlua_func_bhv_moat_grills_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_moat_grills_loop", 0, top); return 0; } bhv_moat_grills_loop(); return 1; } int smlua_func_bhv_moneybag_hidden_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_moneybag_hidden_loop", 0, top); return 0; } bhv_moneybag_hidden_loop(); return 1; } int smlua_func_bhv_moneybag_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_moneybag_init", 0, top); return 0; } bhv_moneybag_init(); return 1; } int smlua_func_bhv_moneybag_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_moneybag_loop", 0, top); return 0; } bhv_moneybag_loop(); return 1; } int smlua_func_bhv_monty_mole_hole_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_monty_mole_hole_update", 0, top); return 0; } bhv_monty_mole_hole_update(); return 1; } int smlua_func_bhv_monty_mole_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_monty_mole_init", 0, top); return 0; } bhv_monty_mole_init(); return 1; } int smlua_func_bhv_monty_mole_rock_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_monty_mole_rock_update", 0, top); return 0; } bhv_monty_mole_rock_update(); return 1; } int smlua_func_bhv_monty_mole_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_monty_mole_update", 0, top); return 0; } bhv_monty_mole_update(); return 1; } int smlua_func_bhv_moving_blue_coin_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_moving_blue_coin_init", 0, top); return 0; } bhv_moving_blue_coin_init(); return 1; } int smlua_func_bhv_moving_blue_coin_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_moving_blue_coin_loop", 0, top); return 0; } bhv_moving_blue_coin_loop(); return 1; } int smlua_func_bhv_moving_yellow_coin_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_moving_yellow_coin_init", 0, top); return 0; } bhv_moving_yellow_coin_init(); return 1; } int smlua_func_bhv_moving_yellow_coin_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_moving_yellow_coin_loop", 0, top); return 0; } bhv_moving_yellow_coin_loop(); return 1; } int smlua_func_bhv_mr_blizzard_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_mr_blizzard_init", 0, top); return 0; } bhv_mr_blizzard_init(); return 1; } int smlua_func_bhv_mr_blizzard_snowball(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_mr_blizzard_snowball", 0, top); return 0; } bhv_mr_blizzard_snowball(); return 1; } int smlua_func_bhv_mr_blizzard_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_mr_blizzard_update", 0, top); return 0; } bhv_mr_blizzard_update(); return 1; } int smlua_func_bhv_mr_i_body_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_mr_i_body_loop", 0, top); return 0; } bhv_mr_i_body_loop(); return 1; } int smlua_func_bhv_mr_i_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_mr_i_loop", 0, top); return 0; } bhv_mr_i_loop(); return 1; } int smlua_func_bhv_mr_i_particle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_mr_i_particle_loop", 0, top); return 0; } bhv_mr_i_particle_loop(); return 1; } int smlua_func_bhv_normal_cap_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_normal_cap_init", 0, top); return 0; } bhv_normal_cap_init(); return 1; } int smlua_func_bhv_normal_cap_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_normal_cap_loop", 0, top); return 0; } bhv_normal_cap_loop(); return 1; } int smlua_func_bhv_object_bubble_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_object_bubble_init", 0, top); return 0; } bhv_object_bubble_init(); return 1; } int smlua_func_bhv_object_bubble_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_object_bubble_loop", 0, top); return 0; } bhv_object_bubble_loop(); return 1; } int smlua_func_bhv_object_water_wave_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_object_water_wave_init", 0, top); return 0; } bhv_object_water_wave_init(); return 1; } int smlua_func_bhv_object_water_wave_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_object_water_wave_loop", 0, top); return 0; } bhv_object_water_wave_loop(); return 1; } int smlua_func_bhv_openable_cage_door_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_openable_cage_door_loop", 0, top); return 0; } bhv_openable_cage_door_loop(); return 1; } int smlua_func_bhv_openable_grill_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_openable_grill_loop", 0, top); return 0; } bhv_openable_grill_loop(); return 1; } int smlua_func_bhv_orange_number_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_orange_number_init", 0, top); return 0; } bhv_orange_number_init(); return 1; } int smlua_func_bhv_orange_number_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_orange_number_loop", 0, top); return 0; } bhv_orange_number_loop(); return 1; } int smlua_func_bhv_particle_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_particle_init", 0, top); return 0; } bhv_particle_init(); return 1; } int smlua_func_bhv_particle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_particle_loop", 0, top); return 0; } bhv_particle_loop(); return 1; } int smlua_func_bhv_penguin_race_finish_line_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_penguin_race_finish_line_update", 0, top); return 0; } bhv_penguin_race_finish_line_update(); return 1; } int smlua_func_bhv_penguin_race_shortcut_check_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_penguin_race_shortcut_check_update", 0, top); return 0; } bhv_penguin_race_shortcut_check_update(); return 1; } int smlua_func_bhv_piranha_particle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_piranha_particle_loop", 0, top); return 0; } bhv_piranha_particle_loop(); return 1; } int smlua_func_bhv_piranha_plant_bubble_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_piranha_plant_bubble_loop", 0, top); return 0; } bhv_piranha_plant_bubble_loop(); return 1; } int smlua_func_bhv_piranha_plant_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_piranha_plant_loop", 0, top); return 0; } bhv_piranha_plant_loop(); return 1; } int smlua_func_bhv_piranha_plant_waking_bubbles_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_piranha_plant_waking_bubbles_loop", 0, top); return 0; } bhv_piranha_plant_waking_bubbles_loop(); return 1; } int smlua_func_bhv_platform_normals_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_platform_normals_init", 0, top); return 0; } bhv_platform_normals_init(); return 1; } int smlua_func_bhv_platform_on_track_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_platform_on_track_init", 0, top); return 0; } bhv_platform_on_track_init(); return 1; } int smlua_func_bhv_platform_on_track_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_platform_on_track_update", 0, top); return 0; } bhv_platform_on_track_update(); return 1; } #ifndef VERSION_JP int smlua_func_bhv_play_music_track_when_touched_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_play_music_track_when_touched_loop", 0, top); return 0; } bhv_play_music_track_when_touched_loop(); return 1; } #endif int smlua_func_bhv_pokey_body_part_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pokey_body_part_update", 0, top); return 0; } bhv_pokey_body_part_update(); return 1; } int smlua_func_bhv_pokey_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pokey_update", 0, top); return 0; } bhv_pokey_update(); return 1; } int smlua_func_bhv_pole_base_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pole_base_loop", 0, top); return 0; } bhv_pole_base_loop(); return 1; } int smlua_func_bhv_pole_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pole_init", 0, top); return 0; } bhv_pole_init(); return 1; } int smlua_func_bhv_pound_tiny_star_particle_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pound_tiny_star_particle_init", 0, top); return 0; } bhv_pound_tiny_star_particle_init(); return 1; } int smlua_func_bhv_pound_tiny_star_particle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pound_tiny_star_particle_loop", 0, top); return 0; } bhv_pound_tiny_star_particle_loop(); return 1; } int smlua_func_bhv_pound_white_puffs_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pound_white_puffs_init", 0, top); return 0; } bhv_pound_white_puffs_init(); return 1; } int smlua_func_bhv_punch_tiny_triangle_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_punch_tiny_triangle_init", 0, top); return 0; } bhv_punch_tiny_triangle_init(); return 1; } int smlua_func_bhv_punch_tiny_triangle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_punch_tiny_triangle_loop", 0, top); return 0; } bhv_punch_tiny_triangle_loop(); return 1; } int smlua_func_bhv_purple_switch_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_purple_switch_loop", 0, top); return 0; } bhv_purple_switch_loop(); return 1; } int smlua_func_bhv_pushable_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pushable_loop", 0, top); return 0; } bhv_pushable_loop(); return 1; } int smlua_func_bhv_pyramid_elevator_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pyramid_elevator_init", 0, top); return 0; } bhv_pyramid_elevator_init(); return 1; } int smlua_func_bhv_pyramid_elevator_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pyramid_elevator_loop", 0, top); return 0; } bhv_pyramid_elevator_loop(); return 1; } int smlua_func_bhv_pyramid_elevator_trajectory_marker_ball_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pyramid_elevator_trajectory_marker_ball_loop", 0, top); return 0; } bhv_pyramid_elevator_trajectory_marker_ball_loop(); return 1; } int smlua_func_bhv_pyramid_pillar_touch_detector_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pyramid_pillar_touch_detector_loop", 0, top); return 0; } bhv_pyramid_pillar_touch_detector_loop(); return 1; } int smlua_func_bhv_pyramid_top_fragment_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pyramid_top_fragment_init", 0, top); return 0; } bhv_pyramid_top_fragment_init(); return 1; } int smlua_func_bhv_pyramid_top_fragment_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pyramid_top_fragment_loop", 0, top); return 0; } bhv_pyramid_top_fragment_loop(); return 1; } int smlua_func_bhv_pyramid_top_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pyramid_top_init", 0, top); return 0; } bhv_pyramid_top_init(); return 1; } int smlua_func_bhv_pyramid_top_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_pyramid_top_loop", 0, top); return 0; } bhv_pyramid_top_loop(); return 1; } int smlua_func_bhv_racing_penguin_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_racing_penguin_init", 0, top); return 0; } bhv_racing_penguin_init(); return 1; } int smlua_func_bhv_racing_penguin_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_racing_penguin_update", 0, top); return 0; } bhv_racing_penguin_update(); return 1; } int smlua_func_bhv_recovery_heart_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_recovery_heart_loop", 0, top); return 0; } bhv_recovery_heart_loop(); return 1; } int smlua_func_bhv_red_coin_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_red_coin_init", 0, top); return 0; } bhv_red_coin_init(); return 1; } int smlua_func_bhv_red_coin_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_red_coin_loop", 0, top); return 0; } bhv_red_coin_loop(); return 1; } int smlua_func_bhv_red_coin_star_marker_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_red_coin_star_marker_init", 0, top); return 0; } bhv_red_coin_star_marker_init(); return 1; } int smlua_func_bhv_respawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_respawner_loop", 0, top); return 0; } bhv_respawner_loop(); return 1; } int smlua_func_bhv_rolling_log_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_rolling_log_loop", 0, top); return 0; } bhv_rolling_log_loop(); return 1; } int smlua_func_bhv_rotating_clock_arm_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_rotating_clock_arm_loop", 0, top); return 0; } bhv_rotating_clock_arm_loop(); return 1; } int smlua_func_bhv_rotating_exclamation_box_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_rotating_exclamation_box_loop", 0, top); return 0; } bhv_rotating_exclamation_box_loop(); return 1; } int smlua_func_bhv_rotating_octagonal_plat_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_rotating_octagonal_plat_init", 0, top); return 0; } bhv_rotating_octagonal_plat_init(); return 1; } int smlua_func_bhv_rotating_octagonal_plat_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_rotating_octagonal_plat_loop", 0, top); return 0; } bhv_rotating_octagonal_plat_loop(); return 1; } int smlua_func_bhv_rotating_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_rotating_platform_loop", 0, top); return 0; } bhv_rotating_platform_loop(); return 1; } int smlua_func_bhv_rr_cruiser_wing_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_rr_cruiser_wing_init", 0, top); return 0; } bhv_rr_cruiser_wing_init(); return 1; } int smlua_func_bhv_rr_cruiser_wing_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_rr_cruiser_wing_loop", 0, top); return 0; } bhv_rr_cruiser_wing_loop(); return 1; } int smlua_func_bhv_rr_rotating_bridge_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_rr_rotating_bridge_platform_loop", 0, top); return 0; } bhv_rr_rotating_bridge_platform_loop(); return 1; } int smlua_func_bhv_sand_sound_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sand_sound_loop", 0, top); return 0; } bhv_sand_sound_loop(); return 1; } int smlua_func_bhv_scuttlebug_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_scuttlebug_loop", 0, top); return 0; } bhv_scuttlebug_loop(); return 1; } int smlua_func_bhv_scuttlebug_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_scuttlebug_spawn_loop", 0, top); return 0; } bhv_scuttlebug_spawn_loop(); return 1; } int smlua_func_bhv_seaweed_bundle_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_seaweed_bundle_init", 0, top); return 0; } bhv_seaweed_bundle_init(); return 1; } int smlua_func_bhv_seaweed_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_seaweed_init", 0, top); return 0; } bhv_seaweed_init(); return 1; } int smlua_func_bhv_seesaw_platform_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_seesaw_platform_init", 0, top); return 0; } bhv_seesaw_platform_init(); return 1; } int smlua_func_bhv_seesaw_platform_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_seesaw_platform_update", 0, top); return 0; } bhv_seesaw_platform_update(); return 1; } int smlua_func_bhv_shallow_water_splash_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_shallow_water_splash_init", 0, top); return 0; } bhv_shallow_water_splash_init(); return 1; } int smlua_func_bhv_ship_part_3_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ship_part_3_loop", 0, top); return 0; } bhv_ship_part_3_loop(); return 1; } int smlua_func_bhv_skeeter_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_skeeter_update", 0, top); return 0; } bhv_skeeter_update(); return 1; } int smlua_func_bhv_skeeter_wave_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_skeeter_wave_update", 0, top); return 0; } bhv_skeeter_wave_update(); return 1; } int smlua_func_bhv_sl_snowman_wind_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sl_snowman_wind_loop", 0, top); return 0; } bhv_sl_snowman_wind_loop(); return 1; } int smlua_func_bhv_sl_walking_penguin_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sl_walking_penguin_loop", 0, top); return 0; } bhv_sl_walking_penguin_loop(); return 1; } int smlua_func_bhv_sliding_plat_2_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sliding_plat_2_init", 0, top); return 0; } bhv_sliding_plat_2_init(); return 1; } int smlua_func_bhv_sliding_plat_2_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sliding_plat_2_loop", 0, top); return 0; } bhv_sliding_plat_2_loop(); return 1; } int smlua_func_bhv_sliding_snow_mound_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sliding_snow_mound_loop", 0, top); return 0; } bhv_sliding_snow_mound_loop(); return 1; } int smlua_func_bhv_small_bomp_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_small_bomp_init", 0, top); return 0; } bhv_small_bomp_init(); return 1; } int smlua_func_bhv_small_bomp_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_small_bomp_loop", 0, top); return 0; } bhv_small_bomp_loop(); return 1; } int smlua_func_bhv_small_bubbles_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_small_bubbles_loop", 0, top); return 0; } bhv_small_bubbles_loop(); return 1; } int smlua_func_bhv_small_bully_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_small_bully_init", 0, top); return 0; } bhv_small_bully_init(); return 1; } int smlua_func_bhv_small_penguin_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_small_penguin_loop", 0, top); return 0; } bhv_small_penguin_loop(); return 1; } int smlua_func_bhv_small_piranha_flame_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_small_piranha_flame_loop", 0, top); return 0; } bhv_small_piranha_flame_loop(); return 1; } int smlua_func_bhv_small_water_wave_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_small_water_wave_loop", 0, top); return 0; } bhv_small_water_wave_loop(); return 1; } int smlua_func_bhv_snow_leaf_particle_spawn_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_snow_leaf_particle_spawn_init", 0, top); return 0; } bhv_snow_leaf_particle_spawn_init(); return 1; } int smlua_func_bhv_snow_mound_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_snow_mound_spawn_loop", 0, top); return 0; } bhv_snow_mound_spawn_loop(); return 1; } int smlua_func_bhv_snowmans_body_checkpoint_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_snowmans_body_checkpoint_loop", 0, top); return 0; } bhv_snowmans_body_checkpoint_loop(); return 1; } int smlua_func_bhv_snowmans_bottom_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_snowmans_bottom_init", 0, top); return 0; } bhv_snowmans_bottom_init(); return 1; } int smlua_func_bhv_snowmans_bottom_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_snowmans_bottom_loop", 0, top); return 0; } bhv_snowmans_bottom_loop(); return 1; } int smlua_func_bhv_snowmans_head_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_snowmans_head_init", 0, top); return 0; } bhv_snowmans_head_init(); return 1; } int smlua_func_bhv_snowmans_head_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_snowmans_head_loop", 0, top); return 0; } bhv_snowmans_head_loop(); return 1; } int smlua_func_bhv_snufit_balls_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_snufit_balls_loop", 0, top); return 0; } bhv_snufit_balls_loop(); return 1; } int smlua_func_bhv_snufit_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_snufit_loop", 0, top); return 0; } bhv_snufit_loop(); return 1; } int smlua_func_bhv_sound_spawner_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sound_spawner_init", 0, top); return 0; } bhv_sound_spawner_init(); return 1; } int smlua_func_bhv_sparkle_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sparkle_spawn_loop", 0, top); return 0; } bhv_sparkle_spawn_loop(); return 1; } int smlua_func_bhv_spawn_star_no_level_exit(lua_State* L) { if (!gCurrentObject) { return 0; } if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "bhv_spawn_star_no_level_exit", 3, top); return 0; } struct Object* object = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "bhv_spawn_star_no_level_exit"); return 0; } u32 params = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "bhv_spawn_star_no_level_exit"); return 0; } u8 networkSendEvent = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "bhv_spawn_star_no_level_exit"); return 0; } bhv_spawn_star_no_level_exit(object, params, networkSendEvent); return 1; } int smlua_func_bhv_spawned_star_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_spawned_star_init", 0, top); return 0; } bhv_spawned_star_init(); return 1; } int smlua_func_bhv_spawned_star_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_spawned_star_loop", 0, top); return 0; } bhv_spawned_star_loop(); return 1; } int smlua_func_bhv_spindel_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_spindel_init", 0, top); return 0; } bhv_spindel_init(); return 1; } int smlua_func_bhv_spindel_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_spindel_loop", 0, top); return 0; } bhv_spindel_loop(); return 1; } int smlua_func_bhv_spindrift_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_spindrift_loop", 0, top); return 0; } bhv_spindrift_loop(); return 1; } int smlua_func_bhv_spiny_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_spiny_update", 0, top); return 0; } bhv_spiny_update(); return 1; } int smlua_func_bhv_squarish_path_moving_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_squarish_path_moving_loop", 0, top); return 0; } bhv_squarish_path_moving_loop(); return 1; } int smlua_func_bhv_squarish_path_parent_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_squarish_path_parent_init", 0, top); return 0; } bhv_squarish_path_parent_init(); return 1; } int smlua_func_bhv_squarish_path_parent_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_squarish_path_parent_loop", 0, top); return 0; } bhv_squarish_path_parent_loop(); return 1; } int smlua_func_bhv_squishable_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_squishable_platform_loop", 0, top); return 0; } bhv_squishable_platform_loop(); return 1; } int smlua_func_bhv_ssl_moving_pyramid_wall_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ssl_moving_pyramid_wall_init", 0, top); return 0; } bhv_ssl_moving_pyramid_wall_init(); return 1; } int smlua_func_bhv_ssl_moving_pyramid_wall_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ssl_moving_pyramid_wall_loop", 0, top); return 0; } bhv_ssl_moving_pyramid_wall_loop(); return 1; } int smlua_func_bhv_star_door_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_star_door_loop", 0, top); return 0; } bhv_star_door_loop(); return 1; } int smlua_func_bhv_star_door_loop_2(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_star_door_loop_2", 0, top); return 0; } bhv_star_door_loop_2(); return 1; } int smlua_func_bhv_star_key_collection_puff_spawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_star_key_collection_puff_spawner_loop", 0, top); return 0; } bhv_star_key_collection_puff_spawner_loop(); return 1; } int smlua_func_bhv_star_number_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_star_number_loop", 0, top); return 0; } bhv_star_number_loop(); return 1; } int smlua_func_bhv_star_spawn_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_star_spawn_init", 0, top); return 0; } bhv_star_spawn_init(); return 1; } int smlua_func_bhv_star_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_star_spawn_loop", 0, top); return 0; } bhv_star_spawn_loop(); return 1; } int smlua_func_bhv_static_checkered_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_static_checkered_platform_loop", 0, top); return 0; } bhv_static_checkered_platform_loop(); return 1; } int smlua_func_bhv_strong_wind_particle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_strong_wind_particle_loop", 0, top); return 0; } bhv_strong_wind_particle_loop(); return 1; } int smlua_func_bhv_sunken_ship_part_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sunken_ship_part_loop", 0, top); return 0; } bhv_sunken_ship_part_loop(); return 1; } int smlua_func_bhv_sushi_shark_collision_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sushi_shark_collision_loop", 0, top); return 0; } bhv_sushi_shark_collision_loop(); return 1; } int smlua_func_bhv_sushi_shark_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_sushi_shark_loop", 0, top); return 0; } bhv_sushi_shark_loop(); return 1; } int smlua_func_bhv_swing_platform_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_swing_platform_init", 0, top); return 0; } bhv_swing_platform_init(); return 1; } int smlua_func_bhv_swing_platform_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_swing_platform_update", 0, top); return 0; } bhv_swing_platform_update(); return 1; } int smlua_func_bhv_swoop_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_swoop_update", 0, top); return 0; } bhv_swoop_update(); return 1; } int smlua_func_bhv_tank_fish_group_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tank_fish_group_loop", 0, top); return 0; } bhv_tank_fish_group_loop(); return 1; } int smlua_func_bhv_temp_coin_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_temp_coin_loop", 0, top); return 0; } bhv_temp_coin_loop(); return 1; } int smlua_func_bhv_thi_bowling_ball_spawner_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_thi_bowling_ball_spawner_loop", 0, top); return 0; } bhv_thi_bowling_ball_spawner_loop(); return 1; } int smlua_func_bhv_thi_huge_island_top_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_thi_huge_island_top_loop", 0, top); return 0; } bhv_thi_huge_island_top_loop(); return 1; } int smlua_func_bhv_thi_tiny_island_top_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_thi_tiny_island_top_loop", 0, top); return 0; } bhv_thi_tiny_island_top_loop(); return 1; } int smlua_func_bhv_tilting_bowser_lava_platform_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tilting_bowser_lava_platform_init", 0, top); return 0; } bhv_tilting_bowser_lava_platform_init(); return 1; } int smlua_func_bhv_tilting_inverted_pyramid_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tilting_inverted_pyramid_loop", 0, top); return 0; } bhv_tilting_inverted_pyramid_loop(); return 1; } int smlua_func_bhv_tiny_star_particles_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tiny_star_particles_init", 0, top); return 0; } bhv_tiny_star_particles_init(); return 1; } int smlua_func_bhv_tower_door_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tower_door_loop", 0, top); return 0; } bhv_tower_door_loop(); return 1; } int smlua_func_bhv_tower_platform_group_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tower_platform_group_init", 0, top); return 0; } bhv_tower_platform_group_init(); return 1; } int smlua_func_bhv_tower_platform_group_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tower_platform_group_loop", 0, top); return 0; } bhv_tower_platform_group_loop(); return 1; } int smlua_func_bhv_tox_box_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tox_box_loop", 0, top); return 0; } bhv_tox_box_loop(); return 1; } int smlua_func_bhv_track_ball_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_track_ball_update", 0, top); return 0; } bhv_track_ball_update(); return 1; } int smlua_func_bhv_treasure_chest_bottom_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_treasure_chest_bottom_init", 0, top); return 0; } bhv_treasure_chest_bottom_init(); return 1; } int smlua_func_bhv_treasure_chest_bottom_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_treasure_chest_bottom_loop", 0, top); return 0; } bhv_treasure_chest_bottom_loop(); return 1; } int smlua_func_bhv_treasure_chest_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_treasure_chest_init", 0, top); return 0; } bhv_treasure_chest_init(); return 1; } int smlua_func_bhv_treasure_chest_jrb_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_treasure_chest_jrb_init", 0, top); return 0; } bhv_treasure_chest_jrb_init(); return 1; } int smlua_func_bhv_treasure_chest_jrb_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_treasure_chest_jrb_loop", 0, top); return 0; } bhv_treasure_chest_jrb_loop(); return 1; } int smlua_func_bhv_treasure_chest_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_treasure_chest_loop", 0, top); return 0; } bhv_treasure_chest_loop(); return 1; } int smlua_func_bhv_treasure_chest_ship_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_treasure_chest_ship_init", 0, top); return 0; } bhv_treasure_chest_ship_init(); return 1; } int smlua_func_bhv_treasure_chest_ship_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_treasure_chest_ship_loop", 0, top); return 0; } bhv_treasure_chest_ship_loop(); return 1; } int smlua_func_bhv_treasure_chest_top_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_treasure_chest_top_loop", 0, top); return 0; } bhv_treasure_chest_top_loop(); return 1; } int smlua_func_bhv_tree_snow_or_leaf_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tree_snow_or_leaf_loop", 0, top); return 0; } bhv_tree_snow_or_leaf_loop(); return 1; } int smlua_func_bhv_triplet_butterfly_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_triplet_butterfly_update", 0, top); return 0; } bhv_triplet_butterfly_update(); return 1; } int smlua_func_bhv_ttc_2d_rotator_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_2d_rotator_init", 0, top); return 0; } bhv_ttc_2d_rotator_init(); return 1; } int smlua_func_bhv_ttc_2d_rotator_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_2d_rotator_update", 0, top); return 0; } bhv_ttc_2d_rotator_update(); return 1; } int smlua_func_bhv_ttc_cog_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_cog_init", 0, top); return 0; } bhv_ttc_cog_init(); return 1; } int smlua_func_bhv_ttc_cog_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_cog_update", 0, top); return 0; } bhv_ttc_cog_update(); return 1; } int smlua_func_bhv_ttc_elevator_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_elevator_init", 0, top); return 0; } bhv_ttc_elevator_init(); return 1; } int smlua_func_bhv_ttc_elevator_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_elevator_update", 0, top); return 0; } bhv_ttc_elevator_update(); return 1; } int smlua_func_bhv_ttc_moving_bar_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_moving_bar_init", 0, top); return 0; } bhv_ttc_moving_bar_init(); return 1; } int smlua_func_bhv_ttc_moving_bar_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_moving_bar_update", 0, top); return 0; } bhv_ttc_moving_bar_update(); return 1; } int smlua_func_bhv_ttc_pendulum_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_pendulum_init", 0, top); return 0; } bhv_ttc_pendulum_init(); return 1; } int smlua_func_bhv_ttc_pendulum_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_pendulum_update", 0, top); return 0; } bhv_ttc_pendulum_update(); return 1; } int smlua_func_bhv_ttc_pit_block_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_pit_block_init", 0, top); return 0; } bhv_ttc_pit_block_init(); return 1; } int smlua_func_bhv_ttc_pit_block_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_pit_block_update", 0, top); return 0; } bhv_ttc_pit_block_update(); return 1; } int smlua_func_bhv_ttc_rotating_solid_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_rotating_solid_init", 0, top); return 0; } bhv_ttc_rotating_solid_init(); return 1; } int smlua_func_bhv_ttc_rotating_solid_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_rotating_solid_update", 0, top); return 0; } bhv_ttc_rotating_solid_update(); return 1; } int smlua_func_bhv_ttc_spinner_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_spinner_update", 0, top); return 0; } bhv_ttc_spinner_update(); return 1; } int smlua_func_bhv_ttc_treadmill_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_treadmill_init", 0, top); return 0; } bhv_ttc_treadmill_init(); return 1; } int smlua_func_bhv_ttc_treadmill_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttc_treadmill_update", 0, top); return 0; } bhv_ttc_treadmill_update(); return 1; } int smlua_func_bhv_ttm_rolling_log_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ttm_rolling_log_init", 0, top); return 0; } bhv_ttm_rolling_log_init(); return 1; } int smlua_func_bhv_tumbling_bridge_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tumbling_bridge_loop", 0, top); return 0; } bhv_tumbling_bridge_loop(); return 1; } int smlua_func_bhv_tumbling_bridge_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tumbling_bridge_platform_loop", 0, top); return 0; } bhv_tumbling_bridge_platform_loop(); return 1; } int smlua_func_bhv_tuxies_mother_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tuxies_mother_loop", 0, top); return 0; } bhv_tuxies_mother_loop(); return 1; } int smlua_func_bhv_tweester_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tweester_loop", 0, top); return 0; } bhv_tweester_loop(); return 1; } int smlua_func_bhv_tweester_sand_particle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_tweester_sand_particle_loop", 0, top); return 0; } bhv_tweester_sand_particle_loop(); return 1; } int smlua_func_bhv_ukiki_cage_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ukiki_cage_loop", 0, top); return 0; } bhv_ukiki_cage_loop(); return 1; } int smlua_func_bhv_ukiki_cage_star_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ukiki_cage_star_loop", 0, top); return 0; } bhv_ukiki_cage_star_loop(); return 1; } int smlua_func_bhv_ukiki_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ukiki_init", 0, top); return 0; } bhv_ukiki_init(); return 1; } int smlua_func_bhv_ukiki_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_ukiki_loop", 0, top); return 0; } bhv_ukiki_loop(); return 1; } int smlua_func_bhv_unagi_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_unagi_init", 0, top); return 0; } bhv_unagi_init(); return 1; } int smlua_func_bhv_unagi_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_unagi_loop", 0, top); return 0; } bhv_unagi_loop(); return 1; } int smlua_func_bhv_unagi_subobject_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_unagi_subobject_loop", 0, top); return 0; } bhv_unagi_subobject_loop(); return 1; } int smlua_func_bhv_unused_particle_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_unused_particle_spawn_loop", 0, top); return 0; } bhv_unused_particle_spawn_loop(); return 1; } int smlua_func_bhv_unused_poundable_platform(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_unused_poundable_platform", 0, top); return 0; } bhv_unused_poundable_platform(); return 1; } int smlua_func_bhv_vanish_cap_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_vanish_cap_init", 0, top); return 0; } bhv_vanish_cap_init(); return 1; } int smlua_func_bhv_volcano_flames_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_volcano_flames_loop", 0, top); return 0; } bhv_volcano_flames_loop(); return 1; } int smlua_func_bhv_volcano_sound_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_volcano_sound_loop", 0, top); return 0; } bhv_volcano_sound_loop(); return 1; } int smlua_func_bhv_volcano_trap_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_volcano_trap_loop", 0, top); return 0; } bhv_volcano_trap_loop(); return 1; } int smlua_func_bhv_wall_tiny_star_particle_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wall_tiny_star_particle_loop", 0, top); return 0; } bhv_wall_tiny_star_particle_loop(); return 1; } int smlua_func_bhv_warp_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_warp_loop", 0, top); return 0; } bhv_warp_loop(); return 1; } int smlua_func_bhv_water_air_bubble_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_air_bubble_init", 0, top); return 0; } bhv_water_air_bubble_init(); return 1; } int smlua_func_bhv_water_air_bubble_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_air_bubble_loop", 0, top); return 0; } bhv_water_air_bubble_loop(); return 1; } int smlua_func_bhv_water_bomb_cannon_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_bomb_cannon_loop", 0, top); return 0; } bhv_water_bomb_cannon_loop(); return 1; } int smlua_func_bhv_water_bomb_shadow_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_bomb_shadow_update", 0, top); return 0; } bhv_water_bomb_shadow_update(); return 1; } int smlua_func_bhv_water_bomb_spawner_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_bomb_spawner_update", 0, top); return 0; } bhv_water_bomb_spawner_update(); return 1; } int smlua_func_bhv_water_bomb_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_bomb_update", 0, top); return 0; } bhv_water_bomb_update(); return 1; } int smlua_func_bhv_water_droplet_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_droplet_loop", 0, top); return 0; } bhv_water_droplet_loop(); return 1; } int smlua_func_bhv_water_droplet_splash_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_droplet_splash_init", 0, top); return 0; } bhv_water_droplet_splash_init(); return 1; } int smlua_func_bhv_water_level_diamond_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_level_diamond_loop", 0, top); return 0; } bhv_water_level_diamond_loop(); return 1; } int smlua_func_bhv_water_level_pillar_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_level_pillar_init", 0, top); return 0; } bhv_water_level_pillar_init(); return 1; } int smlua_func_bhv_water_level_pillar_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_level_pillar_loop", 0, top); return 0; } bhv_water_level_pillar_loop(); return 1; } int smlua_func_bhv_water_mist_2_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_mist_2_loop", 0, top); return 0; } bhv_water_mist_2_loop(); return 1; } int smlua_func_bhv_water_mist_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_mist_loop", 0, top); return 0; } bhv_water_mist_loop(); return 1; } int smlua_func_bhv_water_mist_spawn_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_mist_spawn_loop", 0, top); return 0; } bhv_water_mist_spawn_loop(); return 1; } int smlua_func_bhv_water_splash_spawn_droplets(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_splash_spawn_droplets", 0, top); return 0; } bhv_water_splash_spawn_droplets(); return 1; } int smlua_func_bhv_water_waves_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_water_waves_init", 0, top); return 0; } bhv_water_waves_init(); return 1; } int smlua_func_bhv_waterfall_sound_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_waterfall_sound_loop", 0, top); return 0; } bhv_waterfall_sound_loop(); return 1; } int smlua_func_bhv_wave_trail_shrink(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wave_trail_shrink", 0, top); return 0; } bhv_wave_trail_shrink(); return 1; } int smlua_func_bhv_wdw_express_elevator_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wdw_express_elevator_loop", 0, top); return 0; } bhv_wdw_express_elevator_loop(); return 1; } int smlua_func_bhv_wf_breakable_wall_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wf_breakable_wall_loop", 0, top); return 0; } bhv_wf_breakable_wall_loop(); return 1; } int smlua_func_bhv_wf_elevator_tower_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wf_elevator_tower_platform_loop", 0, top); return 0; } bhv_wf_elevator_tower_platform_loop(); return 1; } int smlua_func_bhv_wf_rotating_wooden_platform_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wf_rotating_wooden_platform_init", 0, top); return 0; } bhv_wf_rotating_wooden_platform_init(); return 1; } int smlua_func_bhv_wf_rotating_wooden_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wf_rotating_wooden_platform_loop", 0, top); return 0; } bhv_wf_rotating_wooden_platform_loop(); return 1; } int smlua_func_bhv_wf_sliding_platform_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wf_sliding_platform_init", 0, top); return 0; } bhv_wf_sliding_platform_init(); return 1; } int smlua_func_bhv_wf_sliding_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wf_sliding_platform_loop", 0, top); return 0; } bhv_wf_sliding_platform_loop(); return 1; } int smlua_func_bhv_wf_sliding_tower_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wf_sliding_tower_platform_loop", 0, top); return 0; } bhv_wf_sliding_tower_platform_loop(); return 1; } int smlua_func_bhv_wf_solid_tower_platform_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wf_solid_tower_platform_loop", 0, top); return 0; } bhv_wf_solid_tower_platform_loop(); return 1; } int smlua_func_bhv_whirlpool_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_whirlpool_init", 0, top); return 0; } bhv_whirlpool_init(); return 1; } int smlua_func_bhv_whirlpool_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_whirlpool_loop", 0, top); return 0; } bhv_whirlpool_loop(); return 1; } int smlua_func_bhv_white_puff_1_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_white_puff_1_loop", 0, top); return 0; } bhv_white_puff_1_loop(); return 1; } int smlua_func_bhv_white_puff_2_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_white_puff_2_loop", 0, top); return 0; } bhv_white_puff_2_loop(); return 1; } int smlua_func_bhv_white_puff_exploding_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_white_puff_exploding_loop", 0, top); return 0; } bhv_white_puff_exploding_loop(); return 1; } int smlua_func_bhv_white_puff_smoke_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_white_puff_smoke_init", 0, top); return 0; } bhv_white_puff_smoke_init(); return 1; } int smlua_func_bhv_whomp_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_whomp_loop", 0, top); return 0; } bhv_whomp_loop(); return 1; } int smlua_func_bhv_wiggler_body_part_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wiggler_body_part_update", 0, top); return 0; } bhv_wiggler_body_part_update(); return 1; } int smlua_func_bhv_wiggler_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wiggler_update", 0, top); return 0; } bhv_wiggler_update(); return 1; } int smlua_func_bhv_wind_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wind_loop", 0, top); return 0; } bhv_wind_loop(); return 1; } int smlua_func_bhv_wing_cap_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wing_cap_init", 0, top); return 0; } bhv_wing_cap_init(); return 1; } int smlua_func_bhv_wing_vanish_cap_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wing_vanish_cap_loop", 0, top); return 0; } bhv_wing_vanish_cap_loop(); return 1; } int smlua_func_bhv_wooden_post_update(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_wooden_post_update", 0, top); return 0; } bhv_wooden_post_update(); return 1; } int smlua_func_bhv_yellow_coin_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_yellow_coin_init", 0, top); return 0; } bhv_yellow_coin_init(); return 1; } int smlua_func_bhv_yellow_coin_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_yellow_coin_loop", 0, top); return 0; } bhv_yellow_coin_loop(); return 1; } int smlua_func_bhv_yoshi_init(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_yoshi_init", 0, top); return 0; } bhv_yoshi_init(); return 1; } int smlua_func_bhv_yoshi_loop(UNUSED lua_State* L) { if (!gCurrentObject) { return 0; } 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", "bhv_yoshi_loop", 0, top); return 0; } bhv_yoshi_loop(); return 1; } int smlua_func_check_if_moving_over_floor(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "check_if_moving_over_floor", 2, top); return 0; } f32 a0 = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_if_moving_over_floor"); return 0; } f32 a1 = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "check_if_moving_over_floor"); return 0; } lua_pushinteger(L, check_if_moving_over_floor(a0, a1)); return 1; } int smlua_func_clear_particle_flags(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", "clear_particle_flags", 1, top); return 0; } u32 flags = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "clear_particle_flags"); return 0; } clear_particle_flags(flags); return 1; } int smlua_func_common_anchor_mario_behavior(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "common_anchor_mario_behavior", 3, top); return 0; } f32 sp28 = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "common_anchor_mario_behavior"); return 0; } f32 sp2C = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "common_anchor_mario_behavior"); return 0; } s32 sp30 = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "common_anchor_mario_behavior"); return 0; } common_anchor_mario_behavior(sp28, sp2C, sp30); return 1; } int smlua_func_cur_obj_spawn_strong_wind_particles(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_spawn_strong_wind_particles", 5, top); return 0; } s32 windSpread = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_spawn_strong_wind_particles"); return 0; } f32 scale = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_spawn_strong_wind_particles"); return 0; } f32 relPosX = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_spawn_strong_wind_particles"); return 0; } f32 relPosY = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "cur_obj_spawn_strong_wind_particles"); return 0; } f32 relPosZ = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "cur_obj_spawn_strong_wind_particles"); return 0; } cur_obj_spawn_strong_wind_particles(windSpread, scale, relPosX, relPosY, relPosZ); return 1; } /* int smlua_func_geo_bits_bowser_coloring(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_bits_bowser_coloring", 3, top); return 0; } s32 run = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_bits_bowser_coloring"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_bits_bowser_coloring"); return 0; } s32 a2 = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_bits_bowser_coloring"); return 0; } UNIMPLEMENTED -->(L, geo_bits_bowser_coloring(run, node, a2)); return 1; } */ /* int smlua_func_geo_move_mario_part_from_parent(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_move_mario_part_from_parent", 3, top); return 0; } s32 run = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_move_mario_part_from_parent"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_move_mario_part_from_parent"); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(3, "a"); mtx[0][1] = smlua_get_number_field(3, "b"); mtx[0][2] = smlua_get_number_field(3, "c"); mtx[0][3] = smlua_get_number_field(3, "d"); mtx[1][0] = smlua_get_number_field(3, "e"); mtx[1][1] = smlua_get_number_field(3, "f"); mtx[1][2] = smlua_get_number_field(3, "g"); mtx[1][3] = smlua_get_number_field(3, "h"); mtx[2][0] = smlua_get_number_field(3, "i"); mtx[2][1] = smlua_get_number_field(3, "j"); mtx[2][2] = smlua_get_number_field(3, "k"); mtx[2][3] = smlua_get_number_field(3, "l"); mtx[3][0] = smlua_get_number_field(3, "m"); mtx[3][1] = smlua_get_number_field(3, "n"); mtx[3][2] = smlua_get_number_field(3, "o"); mtx[3][3] = smlua_get_number_field(3, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_move_mario_part_from_parent"); return 0; } UNIMPLEMENTED -->(L, geo_move_mario_part_from_parent(run, node, mtx)); smlua_push_number_field(3, "a", mtx[0][0]); smlua_push_number_field(3, "b", mtx[0][1]); smlua_push_number_field(3, "c", mtx[0][2]); smlua_push_number_field(3, "d", mtx[0][3]); smlua_push_number_field(3, "e", mtx[1][0]); smlua_push_number_field(3, "f", mtx[1][1]); smlua_push_number_field(3, "g", mtx[1][2]); smlua_push_number_field(3, "h", mtx[1][3]); smlua_push_number_field(3, "i", mtx[2][0]); smlua_push_number_field(3, "j", mtx[2][1]); smlua_push_number_field(3, "k", mtx[2][2]); smlua_push_number_field(3, "l", mtx[2][3]); smlua_push_number_field(3, "m", mtx[3][0]); smlua_push_number_field(3, "n", mtx[3][1]); smlua_push_number_field(3, "o", mtx[3][2]); smlua_push_number_field(3, "p", mtx[3][3]); return 1; } */ /* int smlua_func_geo_scale_bowser_key(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_scale_bowser_key", 3, top); return 0; } s32 run = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_scale_bowser_key"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_scale_bowser_key"); return 0; } f32 mtx[4][4] = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_scale_bowser_key"); return 0; } UNIMPLEMENTED -->(L, geo_scale_bowser_key(run, node, mtx[4][4])); return 1; } */ /* int smlua_func_geo_snufit_move_mask(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_snufit_move_mask", 3, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_snufit_move_mask"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_snufit_move_mask"); return 0; } Mat4 * c = (Mat4 *)smlua_to_cpointer(L, 3, LVT_COBJECT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_snufit_move_mask"); return 0; } UNIMPLEMENTED -->(L, geo_snufit_move_mask(callContext, node, c)); return 1; } */ /* int smlua_func_geo_snufit_scale_body(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_snufit_scale_body", 3, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_snufit_scale_body"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_snufit_scale_body"); return 0; } Mat4 * c = (Mat4 *)smlua_to_cpointer(L, 3, LVT_COBJECT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_snufit_scale_body"); return 0; } UNIMPLEMENTED -->(L, geo_snufit_scale_body(callContext, node, c)); return 1; } */ /* int smlua_func_geo_switch_bowser_eyes(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_switch_bowser_eyes", 3, top); return 0; } s32 run = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_switch_bowser_eyes"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_switch_bowser_eyes"); return 0; } Mat4 * mtx = (Mat4 *)smlua_to_cpointer(L, 3, LVT_COBJECT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_switch_bowser_eyes"); return 0; } UNIMPLEMENTED -->(L, geo_switch_bowser_eyes(run, node, mtx)); return 1; } */ /* int smlua_func_geo_switch_tuxie_mother_eyes(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_switch_tuxie_mother_eyes", 3, top); return 0; } s32 run = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_switch_tuxie_mother_eyes"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_switch_tuxie_mother_eyes"); return 0; } Mat4 * mtx = (Mat4 *)smlua_to_cpointer(L, 3, LVT_COBJECT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_switch_tuxie_mother_eyes"); return 0; } UNIMPLEMENTED -->(L, geo_switch_tuxie_mother_eyes(run, node, mtx)); return 1; } */ /* int smlua_func_geo_update_body_rot_from_parent(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_update_body_rot_from_parent", 3, top); return 0; } s32 run = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_update_body_rot_from_parent"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_update_body_rot_from_parent"); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(3, "a"); mtx[0][1] = smlua_get_number_field(3, "b"); mtx[0][2] = smlua_get_number_field(3, "c"); mtx[0][3] = smlua_get_number_field(3, "d"); mtx[1][0] = smlua_get_number_field(3, "e"); mtx[1][1] = smlua_get_number_field(3, "f"); mtx[1][2] = smlua_get_number_field(3, "g"); mtx[1][3] = smlua_get_number_field(3, "h"); mtx[2][0] = smlua_get_number_field(3, "i"); mtx[2][1] = smlua_get_number_field(3, "j"); mtx[2][2] = smlua_get_number_field(3, "k"); mtx[2][3] = smlua_get_number_field(3, "l"); mtx[3][0] = smlua_get_number_field(3, "m"); mtx[3][1] = smlua_get_number_field(3, "n"); mtx[3][2] = smlua_get_number_field(3, "o"); mtx[3][3] = smlua_get_number_field(3, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_update_body_rot_from_parent"); return 0; } UNIMPLEMENTED -->(L, geo_update_body_rot_from_parent(run, node, mtx)); smlua_push_number_field(3, "a", mtx[0][0]); smlua_push_number_field(3, "b", mtx[0][1]); smlua_push_number_field(3, "c", mtx[0][2]); smlua_push_number_field(3, "d", mtx[0][3]); smlua_push_number_field(3, "e", mtx[1][0]); smlua_push_number_field(3, "f", mtx[1][1]); smlua_push_number_field(3, "g", mtx[1][2]); smlua_push_number_field(3, "h", mtx[1][3]); smlua_push_number_field(3, "i", mtx[2][0]); smlua_push_number_field(3, "j", mtx[2][1]); smlua_push_number_field(3, "k", mtx[2][2]); smlua_push_number_field(3, "l", mtx[2][3]); smlua_push_number_field(3, "m", mtx[3][0]); smlua_push_number_field(3, "n", mtx[3][1]); smlua_push_number_field(3, "o", mtx[3][2]); smlua_push_number_field(3, "p", mtx[3][3]); return 1; } */ /* int smlua_func_geo_update_held_mario_pos(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_update_held_mario_pos", 3, top); return 0; } s32 run = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_update_held_mario_pos"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_update_held_mario_pos"); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(3, "a"); mtx[0][1] = smlua_get_number_field(3, "b"); mtx[0][2] = smlua_get_number_field(3, "c"); mtx[0][3] = smlua_get_number_field(3, "d"); mtx[1][0] = smlua_get_number_field(3, "e"); mtx[1][1] = smlua_get_number_field(3, "f"); mtx[1][2] = smlua_get_number_field(3, "g"); mtx[1][3] = smlua_get_number_field(3, "h"); mtx[2][0] = smlua_get_number_field(3, "i"); mtx[2][1] = smlua_get_number_field(3, "j"); mtx[2][2] = smlua_get_number_field(3, "k"); mtx[2][3] = smlua_get_number_field(3, "l"); mtx[3][0] = smlua_get_number_field(3, "m"); mtx[3][1] = smlua_get_number_field(3, "n"); mtx[3][2] = smlua_get_number_field(3, "o"); mtx[3][3] = smlua_get_number_field(3, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_update_held_mario_pos"); return 0; } UNIMPLEMENTED -->(L, geo_update_held_mario_pos(run, node, mtx)); smlua_push_number_field(3, "a", mtx[0][0]); smlua_push_number_field(3, "b", mtx[0][1]); smlua_push_number_field(3, "c", mtx[0][2]); smlua_push_number_field(3, "d", mtx[0][3]); smlua_push_number_field(3, "e", mtx[1][0]); smlua_push_number_field(3, "f", mtx[1][1]); smlua_push_number_field(3, "g", mtx[1][2]); smlua_push_number_field(3, "h", mtx[1][3]); smlua_push_number_field(3, "i", mtx[2][0]); smlua_push_number_field(3, "j", mtx[2][1]); smlua_push_number_field(3, "k", mtx[2][2]); smlua_push_number_field(3, "l", mtx[2][3]); smlua_push_number_field(3, "m", mtx[3][0]); smlua_push_number_field(3, "n", mtx[3][1]); smlua_push_number_field(3, "o", mtx[3][2]); smlua_push_number_field(3, "p", mtx[3][3]); return 1; } */ int smlua_func_mario_moving_fast_enough_to_make_piranha_plant_bite(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", "mario_moving_fast_enough_to_make_piranha_plant_bite", 0, top); return 0; } lua_pushinteger(L, mario_moving_fast_enough_to_make_piranha_plant_bite()); return 1; } int smlua_func_obj_set_secondary_camera_focus(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", "obj_set_secondary_camera_focus", 0, top); return 0; } obj_set_secondary_camera_focus(); return 1; } int smlua_func_play_penguin_walking_sound(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", "play_penguin_walking_sound", 1, top); return 0; } s32 walk = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_penguin_walking_sound"); return 0; } play_penguin_walking_sound(walk); return 1; } int smlua_func_spawn_default_star(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_default_star", 3, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_default_star"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_default_star"); return 0; } f32 z = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "spawn_default_star"); return 0; } smlua_push_object(L, LOT_OBJECT, spawn_default_star(x, y, z)); return 1; } int smlua_func_spawn_mist_from_global(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", "spawn_mist_from_global", 0, top); return 0; } spawn_mist_from_global(); return 1; } int smlua_func_spawn_mist_particles_variable(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_mist_particles_variable", 3, top); return 0; } s32 count = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_mist_particles_variable"); return 0; } s32 offsetY = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_mist_particles_variable"); return 0; } f32 size = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "spawn_mist_particles_variable"); return 0; } spawn_mist_particles_variable(count, offsetY, size); return 1; } int smlua_func_spawn_no_exit_star(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_no_exit_star", 3, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_no_exit_star"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_no_exit_star"); return 0; } f32 z = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "spawn_no_exit_star"); return 0; } smlua_push_object(L, LOT_OBJECT, spawn_no_exit_star(x, y, z)); return 1; } int smlua_func_spawn_red_coin_cutscene_star(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_red_coin_cutscene_star", 3, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_red_coin_cutscene_star"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_red_coin_cutscene_star"); return 0; } f32 z = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "spawn_red_coin_cutscene_star"); return 0; } smlua_push_object(L, LOT_OBJECT, spawn_red_coin_cutscene_star(x, y, z)); return 1; } int smlua_func_spawn_star_number(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", "spawn_star_number", 0, top); return 0; } spawn_star_number(); return 1; } int smlua_func_spawn_triangle_break_particles(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_triangle_break_particles", 4, top); return 0; } s16 numTris = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_triangle_break_particles"); return 0; } s16 triModel = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_triangle_break_particles"); return 0; } f32 triSize = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "spawn_triangle_break_particles"); return 0; } s16 triAnimState = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "spawn_triangle_break_particles"); return 0; } spawn_triangle_break_particles(numTris, triModel, triSize, triAnimState); return 1; } int smlua_func_spawn_wind_particles(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_wind_particles", 2, top); return 0; } s16 pitch = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_wind_particles"); return 0; } s16 yaw = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_wind_particles"); return 0; } spawn_wind_particles(pitch, yaw); return 1; } int smlua_func_tox_box_move(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "tox_box_move", 4, top); return 0; } f32 forwardVel = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "tox_box_move"); return 0; } f32 a1 = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "tox_box_move"); return 0; } s16 deltaPitch = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "tox_box_move"); return 0; } s16 deltaRoll = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "tox_box_move"); return 0; } tox_box_move(forwardVel, a1, deltaPitch, deltaRoll); return 1; } int smlua_func_update_angle_from_move_flags(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", "update_angle_from_move_flags", 1, top); return 0; } s32 * angle = (s32 *)smlua_to_cpointer(L, 1, LVT_S32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_angle_from_move_flags"); return 0; } lua_pushinteger(L, update_angle_from_move_flags(angle)); return 1; } int smlua_func_uv_update_scroll(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", "uv_update_scroll", 0, top); return 0; } uv_update_scroll(); return 1; } int smlua_func_vec3f_copy_2(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_copy_2", 2, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_copy_2"); return 0; } f32* src = smlua_get_vec3f_from_buffer(); src[0] = smlua_get_number_field(2, "x"); src[1] = smlua_get_number_field(2, "y"); src[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_copy_2"); return 0; } vec3f_copy_2(dest, src); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_number_field(2, "x", src[0]); smlua_push_number_field(2, "y", src[1]); smlua_push_number_field(2, "z", src[2]); return 1; } ////////////////////// // behavior_table.h // ////////////////////// int smlua_func_get_behavior_from_id(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", "get_behavior_from_id", 1, top); return 0; } int id = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_behavior_from_id"); return 0; } smlua_push_pointer(L, LVT_BEHAVIORSCRIPT_P, (void*)get_behavior_from_id(id)); return 1; } int smlua_func_get_behavior_name_from_id(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", "get_behavior_name_from_id", 1, top); return 0; } int id = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_behavior_name_from_id"); return 0; } lua_pushstring(L, get_behavior_name_from_id(id)); return 1; } int smlua_func_get_id_from_behavior(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", "get_id_from_behavior", 1, top); return 0; } BehaviorScript* behavior = (BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_id_from_behavior"); return 0; } lua_pushinteger(L, get_id_from_behavior(behavior)); return 1; } int smlua_func_get_id_from_behavior_name(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", "get_id_from_behavior_name", 1, top); return 0; } const char* name = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_id_from_behavior_name"); return 0; } lua_pushinteger(L, get_id_from_behavior_name(name)); return 1; } int smlua_func_get_id_from_vanilla_behavior(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", "get_id_from_vanilla_behavior", 1, top); return 0; } BehaviorScript* behavior = (BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_id_from_vanilla_behavior"); return 0; } lua_pushinteger(L, get_id_from_vanilla_behavior(behavior)); return 1; } ////////////// // camera.h // ////////////// int smlua_func_approach_camera_height(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_camera_height", 3, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_camera_height"); return 0; } f32 goal = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_camera_height"); return 0; } f32 inc = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_camera_height"); return 0; } approach_camera_height(c, goal, inc); return 1; } int smlua_func_approach_f32_asymptotic(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_f32_asymptotic", 3, top); return 0; } f32 current = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_f32_asymptotic"); return 0; } f32 target = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_f32_asymptotic"); return 0; } f32 multiplier = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_f32_asymptotic"); return 0; } lua_pushnumber(L, approach_f32_asymptotic(current, target, multiplier)); return 1; } int smlua_func_approach_f32_asymptotic_bool(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_f32_asymptotic_bool", 3, top); return 0; } f32 * current = (f32 *)smlua_to_cpointer(L, 1, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_f32_asymptotic_bool"); return 0; } f32 target = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_f32_asymptotic_bool"); return 0; } f32 multiplier = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_f32_asymptotic_bool"); return 0; } lua_pushinteger(L, approach_f32_asymptotic_bool(current, target, multiplier)); return 1; } int smlua_func_approach_s16_asymptotic(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_s16_asymptotic", 3, top); return 0; } s16 current = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_s16_asymptotic"); return 0; } s16 target = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_s16_asymptotic"); return 0; } s16 divisor = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_s16_asymptotic"); return 0; } lua_pushinteger(L, approach_s16_asymptotic(current, target, divisor)); return 1; } int smlua_func_approach_s16_asymptotic_bool(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_s16_asymptotic_bool", 3, top); return 0; } s16 * current = (s16 *)smlua_to_cpointer(L, 1, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_s16_asymptotic_bool"); return 0; } s16 target = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_s16_asymptotic_bool"); return 0; } s16 divisor = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_s16_asymptotic_bool"); return 0; } lua_pushinteger(L, approach_s16_asymptotic_bool(current, target, divisor)); return 1; } int smlua_func_approach_vec3f_asymptotic(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_vec3f_asymptotic", 5, top); return 0; } f32* current = smlua_get_vec3f_from_buffer(); current[0] = smlua_get_number_field(1, "x"); current[1] = smlua_get_number_field(1, "y"); current[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_vec3f_asymptotic"); return 0; } f32* target = smlua_get_vec3f_from_buffer(); target[0] = smlua_get_number_field(2, "x"); target[1] = smlua_get_number_field(2, "y"); target[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_vec3f_asymptotic"); return 0; } f32 xMul = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_vec3f_asymptotic"); return 0; } f32 yMul = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "approach_vec3f_asymptotic"); return 0; } f32 zMul = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "approach_vec3f_asymptotic"); return 0; } approach_vec3f_asymptotic(current, target, xMul, yMul, zMul); smlua_push_number_field(1, "x", current[0]); smlua_push_number_field(1, "y", current[1]); smlua_push_number_field(1, "z", current[2]); smlua_push_number_field(2, "x", target[0]); smlua_push_number_field(2, "y", target[1]); smlua_push_number_field(2, "z", target[2]); return 1; } int smlua_func_calc_abs_dist(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "calc_abs_dist", 2, top); return 0; } f32* a = smlua_get_vec3f_from_buffer(); a[0] = smlua_get_number_field(1, "x"); a[1] = smlua_get_number_field(1, "y"); a[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "calc_abs_dist"); return 0; } f32* b = smlua_get_vec3f_from_buffer(); b[0] = smlua_get_number_field(2, "x"); b[1] = smlua_get_number_field(2, "y"); b[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "calc_abs_dist"); return 0; } lua_pushnumber(L, calc_abs_dist(a, b)); smlua_push_number_field(1, "x", a[0]); smlua_push_number_field(1, "y", a[1]); smlua_push_number_field(1, "z", a[2]); smlua_push_number_field(2, "x", b[0]); smlua_push_number_field(2, "y", b[1]); smlua_push_number_field(2, "z", b[2]); return 1; } int smlua_func_calc_hor_dist(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "calc_hor_dist", 2, top); return 0; } f32* a = smlua_get_vec3f_from_buffer(); a[0] = smlua_get_number_field(1, "x"); a[1] = smlua_get_number_field(1, "y"); a[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "calc_hor_dist"); return 0; } f32* b = smlua_get_vec3f_from_buffer(); b[0] = smlua_get_number_field(2, "x"); b[1] = smlua_get_number_field(2, "y"); b[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "calc_hor_dist"); return 0; } lua_pushnumber(L, calc_hor_dist(a, b)); smlua_push_number_field(1, "x", a[0]); smlua_push_number_field(1, "y", a[1]); smlua_push_number_field(1, "z", a[2]); smlua_push_number_field(2, "x", b[0]); smlua_push_number_field(2, "y", b[1]); smlua_push_number_field(2, "z", b[2]); return 1; } int smlua_func_calculate_angles(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "calculate_angles", 4, top); return 0; } f32* from = smlua_get_vec3f_from_buffer(); from[0] = smlua_get_number_field(1, "x"); from[1] = smlua_get_number_field(1, "y"); from[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "calculate_angles"); return 0; } f32* to = smlua_get_vec3f_from_buffer(); to[0] = smlua_get_number_field(2, "x"); to[1] = smlua_get_number_field(2, "y"); to[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "calculate_angles"); return 0; } s16 * pitch = (s16 *)smlua_to_cpointer(L, 3, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "calculate_angles"); return 0; } s16 * yaw = (s16 *)smlua_to_cpointer(L, 4, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "calculate_angles"); return 0; } calculate_angles(from, to, pitch, yaw); smlua_push_number_field(1, "x", from[0]); smlua_push_number_field(1, "y", from[1]); smlua_push_number_field(1, "z", from[2]); smlua_push_number_field(2, "x", to[0]); smlua_push_number_field(2, "y", to[1]); smlua_push_number_field(2, "z", to[2]); return 1; } int smlua_func_calculate_pitch(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "calculate_pitch", 2, top); return 0; } f32* from = smlua_get_vec3f_from_buffer(); from[0] = smlua_get_number_field(1, "x"); from[1] = smlua_get_number_field(1, "y"); from[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "calculate_pitch"); return 0; } f32* to = smlua_get_vec3f_from_buffer(); to[0] = smlua_get_number_field(2, "x"); to[1] = smlua_get_number_field(2, "y"); to[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "calculate_pitch"); return 0; } lua_pushinteger(L, calculate_pitch(from, to)); smlua_push_number_field(1, "x", from[0]); smlua_push_number_field(1, "y", from[1]); smlua_push_number_field(1, "z", from[2]); smlua_push_number_field(2, "x", to[0]); smlua_push_number_field(2, "y", to[1]); smlua_push_number_field(2, "z", to[2]); return 1; } int smlua_func_calculate_yaw(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "calculate_yaw", 2, top); return 0; } f32* from = smlua_get_vec3f_from_buffer(); from[0] = smlua_get_number_field(1, "x"); from[1] = smlua_get_number_field(1, "y"); from[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "calculate_yaw"); return 0; } f32* to = smlua_get_vec3f_from_buffer(); to[0] = smlua_get_number_field(2, "x"); to[1] = smlua_get_number_field(2, "y"); to[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "calculate_yaw"); return 0; } lua_pushinteger(L, calculate_yaw(from, to)); smlua_push_number_field(1, "x", from[0]); smlua_push_number_field(1, "y", from[1]); smlua_push_number_field(1, "z", from[2]); smlua_push_number_field(2, "x", to[0]); smlua_push_number_field(2, "y", to[1]); smlua_push_number_field(2, "z", to[2]); return 1; } int smlua_func_cam_select_alt_mode(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", "cam_select_alt_mode", 1, top); return 0; } s32 angle = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cam_select_alt_mode"); return 0; } lua_pushinteger(L, cam_select_alt_mode(angle)); return 1; } int smlua_func_camera_approach_f32_symmetric(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "camera_approach_f32_symmetric", 3, top); return 0; } f32 value = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_approach_f32_symmetric"); return 0; } f32 target = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "camera_approach_f32_symmetric"); return 0; } f32 increment = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "camera_approach_f32_symmetric"); return 0; } lua_pushnumber(L, camera_approach_f32_symmetric(value, target, increment)); return 1; } int smlua_func_camera_approach_f32_symmetric_bool(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "camera_approach_f32_symmetric_bool", 3, top); return 0; } f32 * current = (f32 *)smlua_to_cpointer(L, 1, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_approach_f32_symmetric_bool"); return 0; } f32 target = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "camera_approach_f32_symmetric_bool"); return 0; } f32 increment = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "camera_approach_f32_symmetric_bool"); return 0; } lua_pushinteger(L, camera_approach_f32_symmetric_bool(current, target, increment)); return 1; } int smlua_func_camera_approach_s16_symmetric_bool(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "camera_approach_s16_symmetric_bool", 3, top); return 0; } s16 * current = (s16 *)smlua_to_cpointer(L, 1, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_approach_s16_symmetric_bool"); return 0; } s16 target = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "camera_approach_s16_symmetric_bool"); return 0; } s16 increment = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "camera_approach_s16_symmetric_bool"); return 0; } lua_pushinteger(L, camera_approach_s16_symmetric_bool(current, target, increment)); return 1; } int smlua_func_camera_course_processing(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", "camera_course_processing", 1, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_course_processing"); return 0; } lua_pushinteger(L, camera_course_processing(c)); return 1; } int smlua_func_camera_set_use_course_specific_settings(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", "camera_set_use_course_specific_settings", 1, top); return 0; } u8 enable = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_set_use_course_specific_settings"); return 0; } camera_set_use_course_specific_settings(enable); return 1; } int smlua_func_center_rom_hack_camera(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", "center_rom_hack_camera", 0, top); return 0; } center_rom_hack_camera(); return 1; } int smlua_func_clamp_pitch(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "clamp_pitch", 4, top); return 0; } f32* from = smlua_get_vec3f_from_buffer(); from[0] = smlua_get_number_field(1, "x"); from[1] = smlua_get_number_field(1, "y"); from[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "clamp_pitch"); return 0; } f32* to = smlua_get_vec3f_from_buffer(); to[0] = smlua_get_number_field(2, "x"); to[1] = smlua_get_number_field(2, "y"); to[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "clamp_pitch"); return 0; } s16 maxPitch = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "clamp_pitch"); return 0; } s16 minPitch = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "clamp_pitch"); return 0; } lua_pushinteger(L, clamp_pitch(from, to, maxPitch, minPitch)); smlua_push_number_field(1, "x", from[0]); smlua_push_number_field(1, "y", from[1]); smlua_push_number_field(1, "z", from[2]); smlua_push_number_field(2, "x", to[0]); smlua_push_number_field(2, "y", to[1]); smlua_push_number_field(2, "z", to[2]); return 1; } int smlua_func_clamp_positions_and_find_yaw(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "clamp_positions_and_find_yaw", 6, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "clamp_positions_and_find_yaw"); return 0; } f32* origin = smlua_get_vec3f_from_buffer(); origin[0] = smlua_get_number_field(2, "x"); origin[1] = smlua_get_number_field(2, "y"); origin[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "clamp_positions_and_find_yaw"); return 0; } f32 xMax = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "clamp_positions_and_find_yaw"); return 0; } f32 xMin = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "clamp_positions_and_find_yaw"); return 0; } f32 zMax = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "clamp_positions_and_find_yaw"); return 0; } f32 zMin = smlua_to_number(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "clamp_positions_and_find_yaw"); return 0; } lua_pushinteger(L, clamp_positions_and_find_yaw(pos, origin, xMax, xMin, zMax, zMin)); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); smlua_push_number_field(2, "x", origin[0]); smlua_push_number_field(2, "y", origin[1]); smlua_push_number_field(2, "z", origin[2]); return 1; } int smlua_func_collide_with_walls(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "collide_with_walls", 3, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "collide_with_walls"); return 0; } f32 offsetY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "collide_with_walls"); return 0; } f32 radius = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "collide_with_walls"); return 0; } lua_pushinteger(L, collide_with_walls(pos, offsetY, radius)); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); return 1; } /* int smlua_func_cutscene_event(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cutscene_event", 4, top); return 0; } // CameraEvent event = (CameraEvent)smlua_to_cobject(L, 1, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cutscene_event"); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 2, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cutscene_event"); return 0; } s16 start = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cutscene_event"); return 0; } s16 end = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "cutscene_event"); return 0; } lua_pushinteger(L, cutscene_event(event, c, start, end)); return 1; } */ int smlua_func_cutscene_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cutscene_object", 2, top); return 0; } u8 cutscene = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cutscene_object"); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cutscene_object"); return 0; } lua_pushinteger(L, cutscene_object(cutscene, o)); return 1; } int smlua_func_cutscene_object_with_dialog(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cutscene_object_with_dialog", 3, top); return 0; } u8 cutscene = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cutscene_object_with_dialog"); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cutscene_object_with_dialog"); return 0; } s16 dialogID = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cutscene_object_with_dialog"); return 0; } lua_pushinteger(L, cutscene_object_with_dialog(cutscene, o, dialogID)); return 1; } int smlua_func_cutscene_object_without_dialog(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cutscene_object_without_dialog", 2, top); return 0; } u8 cutscene = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cutscene_object_without_dialog"); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cutscene_object_without_dialog"); return 0; } lua_pushinteger(L, cutscene_object_without_dialog(cutscene, o)); return 1; } int smlua_func_cutscene_set_fov_shake_preset(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", "cutscene_set_fov_shake_preset", 1, top); return 0; } u8 preset = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cutscene_set_fov_shake_preset"); return 0; } cutscene_set_fov_shake_preset(preset); return 1; } int smlua_func_cutscene_spawn_obj(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cutscene_spawn_obj", 2, top); return 0; } u32 obj = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cutscene_spawn_obj"); return 0; } s16 frame = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cutscene_spawn_obj"); return 0; } lua_pushinteger(L, cutscene_spawn_obj(obj, frame)); return 1; } int smlua_func_find_c_buttons_pressed(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_c_buttons_pressed", 3, top); return 0; } u16 currentState = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_c_buttons_pressed"); return 0; } u16 buttonsPressed = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_c_buttons_pressed"); return 0; } u16 buttonsDown = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "find_c_buttons_pressed"); return 0; } lua_pushinteger(L, find_c_buttons_pressed(currentState, buttonsPressed, buttonsDown)); return 1; } int smlua_func_find_mario_floor_and_ceil(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", "find_mario_floor_and_ceil", 1, top); return 0; } struct PlayerGeometry* pg = (struct PlayerGeometry*)smlua_to_cobject(L, 1, LOT_PLAYERGEOMETRY); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_mario_floor_and_ceil"); return 0; } find_mario_floor_and_ceil(pg); return 1; } /* int smlua_func_geo_camera_fov(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_camera_fov", 3, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_camera_fov"); return 0; } struct GraphNode* g = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_camera_fov"); return 0; } // void * context = (void *)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_camera_fov"); return 0; } UNIMPLEMENTED -->(L, geo_camera_fov(callContext, g, context)); return 1; } */ /* int smlua_func_geo_camera_main(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_camera_main", 3, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_camera_main"); return 0; } struct GraphNode* g = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_camera_main"); return 0; } // void * context = (void *)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_camera_main"); return 0; } UNIMPLEMENTED -->(L, geo_camera_main(callContext, g, context)); return 1; } */ int smlua_func_get_cutscene_from_mario_status(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", "get_cutscene_from_mario_status", 1, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_cutscene_from_mario_status"); return 0; } lua_pushinteger(L, get_cutscene_from_mario_status(c)); return 1; } int smlua_func_handle_c_button_movement(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", "handle_c_button_movement", 1, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "handle_c_button_movement"); return 0; } handle_c_button_movement(c); return 1; } int smlua_func_is_range_behind_surface(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "is_range_behind_surface", 5, top); return 0; } f32* from = smlua_get_vec3f_from_buffer(); from[0] = smlua_get_number_field(1, "x"); from[1] = smlua_get_number_field(1, "y"); from[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_range_behind_surface"); return 0; } f32* to = smlua_get_vec3f_from_buffer(); to[0] = smlua_get_number_field(2, "x"); to[1] = smlua_get_number_field(2, "y"); to[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "is_range_behind_surface"); return 0; } struct Surface* surf = (struct Surface*)smlua_to_cobject(L, 3, LOT_SURFACE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "is_range_behind_surface"); return 0; } s16 range = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "is_range_behind_surface"); return 0; } s16 surfType = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "is_range_behind_surface"); return 0; } lua_pushinteger(L, is_range_behind_surface(from, to, surf, range, surfType)); smlua_push_number_field(1, "x", from[0]); smlua_push_number_field(1, "y", from[1]); smlua_push_number_field(1, "z", from[2]); smlua_push_number_field(2, "x", to[0]); smlua_push_number_field(2, "y", to[1]); smlua_push_number_field(2, "z", to[2]); return 1; } int smlua_func_is_within_100_units_of_mario(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "is_within_100_units_of_mario", 3, top); return 0; } f32 posX = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_within_100_units_of_mario"); return 0; } f32 posY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "is_within_100_units_of_mario"); return 0; } f32 posZ = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "is_within_100_units_of_mario"); return 0; } lua_pushinteger(L, is_within_100_units_of_mario(posX, posY, posZ)); return 1; } int smlua_func_move_mario_head_c_up(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", "move_mario_head_c_up", 1, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "move_mario_head_c_up"); return 0; } move_mario_head_c_up(c); return 1; } int smlua_func_next_lakitu_state(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 7) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "next_lakitu_state", 7, top); return 0; } f32* newPos = smlua_get_vec3f_from_buffer(); newPos[0] = smlua_get_number_field(1, "x"); newPos[1] = smlua_get_number_field(1, "y"); newPos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "next_lakitu_state"); return 0; } f32* newFoc = smlua_get_vec3f_from_buffer(); newFoc[0] = smlua_get_number_field(2, "x"); newFoc[1] = smlua_get_number_field(2, "y"); newFoc[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "next_lakitu_state"); return 0; } f32* curPos = smlua_get_vec3f_from_buffer(); curPos[0] = smlua_get_number_field(3, "x"); curPos[1] = smlua_get_number_field(3, "y"); curPos[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "next_lakitu_state"); return 0; } f32* curFoc = smlua_get_vec3f_from_buffer(); curFoc[0] = smlua_get_number_field(4, "x"); curFoc[1] = smlua_get_number_field(4, "y"); curFoc[2] = smlua_get_number_field(4, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "next_lakitu_state"); return 0; } f32* oldPos = smlua_get_vec3f_from_buffer(); oldPos[0] = smlua_get_number_field(5, "x"); oldPos[1] = smlua_get_number_field(5, "y"); oldPos[2] = smlua_get_number_field(5, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "next_lakitu_state"); return 0; } f32* oldFoc = smlua_get_vec3f_from_buffer(); oldFoc[0] = smlua_get_number_field(6, "x"); oldFoc[1] = smlua_get_number_field(6, "y"); oldFoc[2] = smlua_get_number_field(6, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "next_lakitu_state"); return 0; } s16 yaw = smlua_to_integer(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "next_lakitu_state"); return 0; } lua_pushinteger(L, next_lakitu_state(newPos, newFoc, curPos, curFoc, oldPos, oldFoc, yaw)); smlua_push_number_field(1, "x", newPos[0]); smlua_push_number_field(1, "y", newPos[1]); smlua_push_number_field(1, "z", newPos[2]); smlua_push_number_field(2, "x", newFoc[0]); smlua_push_number_field(2, "y", newFoc[1]); smlua_push_number_field(2, "z", newFoc[2]); smlua_push_number_field(3, "x", curPos[0]); smlua_push_number_field(3, "y", curPos[1]); smlua_push_number_field(3, "z", curPos[2]); smlua_push_number_field(4, "x", curFoc[0]); smlua_push_number_field(4, "y", curFoc[1]); smlua_push_number_field(4, "z", curFoc[2]); smlua_push_number_field(5, "x", oldPos[0]); smlua_push_number_field(5, "y", oldPos[1]); smlua_push_number_field(5, "z", oldPos[2]); smlua_push_number_field(6, "x", oldFoc[0]); smlua_push_number_field(6, "y", oldFoc[1]); smlua_push_number_field(6, "z", oldFoc[2]); return 1; } int smlua_func_obj_rotate_towards_point(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_rotate_towards_point", 6, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_rotate_towards_point"); return 0; } f32* point = smlua_get_vec3f_from_buffer(); point[0] = smlua_get_number_field(2, "x"); point[1] = smlua_get_number_field(2, "y"); point[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_rotate_towards_point"); return 0; } s16 pitchOff = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_rotate_towards_point"); return 0; } s16 yawOff = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_rotate_towards_point"); return 0; } s16 pitchDiv = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "obj_rotate_towards_point"); return 0; } s16 yawDiv = smlua_to_integer(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "obj_rotate_towards_point"); return 0; } obj_rotate_towards_point(o, point, pitchOff, yawOff, pitchDiv, yawDiv); smlua_push_number_field(2, "x", point[0]); smlua_push_number_field(2, "y", point[1]); smlua_push_number_field(2, "z", point[2]); return 1; } int smlua_func_object_pos_to_vec3f(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "object_pos_to_vec3f", 2, top); return 0; } f32* dst = smlua_get_vec3f_from_buffer(); dst[0] = smlua_get_number_field(1, "x"); dst[1] = smlua_get_number_field(1, "y"); dst[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "object_pos_to_vec3f"); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "object_pos_to_vec3f"); return 0; } object_pos_to_vec3f(dst, o); smlua_push_number_field(1, "x", dst[0]); smlua_push_number_field(1, "y", dst[1]); smlua_push_number_field(1, "z", dst[2]); return 1; } int smlua_func_offset_rotated(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "offset_rotated", 4, top); return 0; } f32* dst = smlua_get_vec3f_from_buffer(); dst[0] = smlua_get_number_field(1, "x"); dst[1] = smlua_get_number_field(1, "y"); dst[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "offset_rotated"); return 0; } f32* from = smlua_get_vec3f_from_buffer(); from[0] = smlua_get_number_field(2, "x"); from[1] = smlua_get_number_field(2, "y"); from[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "offset_rotated"); return 0; } f32* to = smlua_get_vec3f_from_buffer(); to[0] = smlua_get_number_field(3, "x"); to[1] = smlua_get_number_field(3, "y"); to[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "offset_rotated"); return 0; } s16* rotation = smlua_get_vec3s_from_buffer(); rotation[0] = smlua_get_integer_field(4, "x"); rotation[1] = smlua_get_integer_field(4, "y"); rotation[2] = smlua_get_integer_field(4, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "offset_rotated"); return 0; } offset_rotated(dst, from, to, rotation); smlua_push_number_field(1, "x", dst[0]); smlua_push_number_field(1, "y", dst[1]); smlua_push_number_field(1, "z", dst[2]); smlua_push_number_field(2, "x", from[0]); smlua_push_number_field(2, "y", from[1]); smlua_push_number_field(2, "z", from[2]); smlua_push_number_field(3, "x", to[0]); smlua_push_number_field(3, "y", to[1]); smlua_push_number_field(3, "z", to[2]); smlua_push_integer_field(4, "x", rotation[0]); smlua_push_integer_field(4, "y", rotation[1]); smlua_push_integer_field(4, "z", rotation[2]); return 1; } int smlua_func_offset_yaw_outward_radial(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "offset_yaw_outward_radial", 2, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "offset_yaw_outward_radial"); return 0; } s16 areaYaw = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "offset_yaw_outward_radial"); return 0; } lua_pushinteger(L, offset_yaw_outward_radial(c, areaYaw)); return 1; } int smlua_func_play_camera_buzz_if_c_sideways(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", "play_camera_buzz_if_c_sideways", 0, top); return 0; } play_camera_buzz_if_c_sideways(); return 1; } int smlua_func_play_camera_buzz_if_cbutton(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", "play_camera_buzz_if_cbutton", 0, top); return 0; } play_camera_buzz_if_cbutton(); return 1; } int smlua_func_play_camera_buzz_if_cdown(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", "play_camera_buzz_if_cdown", 0, top); return 0; } play_camera_buzz_if_cdown(); return 1; } int smlua_func_play_cutscene(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", "play_cutscene", 1, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_cutscene"); return 0; } play_cutscene(c); return 1; } int smlua_func_play_sound_button_change_blocked(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", "play_sound_button_change_blocked", 0, top); return 0; } play_sound_button_change_blocked(); return 1; } int smlua_func_play_sound_cbutton_down(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", "play_sound_cbutton_down", 0, top); return 0; } play_sound_cbutton_down(); return 1; } int smlua_func_play_sound_cbutton_side(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", "play_sound_cbutton_side", 0, top); return 0; } play_sound_cbutton_side(); return 1; } int smlua_func_play_sound_cbutton_up(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", "play_sound_cbutton_up", 0, top); return 0; } play_sound_cbutton_up(); return 1; } int smlua_func_play_sound_if_cam_switched_to_lakitu_or_mario(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", "play_sound_if_cam_switched_to_lakitu_or_mario", 0, top); return 0; } play_sound_if_cam_switched_to_lakitu_or_mario(); return 1; } int smlua_func_play_sound_rbutton_changed(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", "play_sound_rbutton_changed", 0, top); return 0; } play_sound_rbutton_changed(); return 1; } int smlua_func_radial_camera_input(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "radial_camera_input", 2, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "radial_camera_input"); return 0; } f32 unused = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "radial_camera_input"); return 0; } lua_pushinteger(L, radial_camera_input(c, unused)); return 1; } int smlua_func_random_vec3s(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "random_vec3s", 4, top); return 0; } s16* dst = smlua_get_vec3s_from_buffer(); dst[0] = smlua_get_integer_field(1, "x"); dst[1] = smlua_get_integer_field(1, "y"); dst[2] = smlua_get_integer_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "random_vec3s"); return 0; } s16 xRange = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "random_vec3s"); return 0; } s16 yRange = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "random_vec3s"); return 0; } s16 zRange = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "random_vec3s"); return 0; } random_vec3s(dst, xRange, yRange, zRange); smlua_push_integer_field(1, "x", dst[0]); smlua_push_integer_field(1, "y", dst[1]); smlua_push_integer_field(1, "z", dst[2]); return 1; } int smlua_func_reset_camera(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", "reset_camera", 1, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "reset_camera"); return 0; } reset_camera(c); return 1; } int smlua_func_resolve_geometry_collisions(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "resolve_geometry_collisions", 2, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "resolve_geometry_collisions"); return 0; } f32* lastGood = smlua_get_vec3f_from_buffer(); lastGood[0] = smlua_get_number_field(2, "x"); lastGood[1] = smlua_get_number_field(2, "y"); lastGood[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "resolve_geometry_collisions"); return 0; } resolve_geometry_collisions(pos, lastGood); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); smlua_push_number_field(2, "x", lastGood[0]); smlua_push_number_field(2, "y", lastGood[1]); smlua_push_number_field(2, "z", lastGood[2]); return 1; } int smlua_func_rom_hack_cam_set_collisions(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", "rom_hack_cam_set_collisions", 1, top); return 0; } u8 enable = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "rom_hack_cam_set_collisions"); return 0; } rom_hack_cam_set_collisions(enable); return 1; } int smlua_func_rotate_camera_around_walls(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "rotate_camera_around_walls", 4, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "rotate_camera_around_walls"); return 0; } f32* cPos = smlua_get_vec3f_from_buffer(); cPos[0] = smlua_get_number_field(2, "x"); cPos[1] = smlua_get_number_field(2, "y"); cPos[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "rotate_camera_around_walls"); return 0; } s16 * avoidYaw = (s16 *)smlua_to_cpointer(L, 3, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "rotate_camera_around_walls"); return 0; } s16 yawRange = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "rotate_camera_around_walls"); return 0; } lua_pushinteger(L, rotate_camera_around_walls(c, cPos, avoidYaw, yawRange)); smlua_push_number_field(2, "x", cPos[0]); smlua_push_number_field(2, "y", cPos[1]); smlua_push_number_field(2, "z", cPos[2]); return 1; } int smlua_func_rotate_in_xz(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "rotate_in_xz", 3, top); return 0; } f32* dst = smlua_get_vec3f_from_buffer(); dst[0] = smlua_get_number_field(1, "x"); dst[1] = smlua_get_number_field(1, "y"); dst[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "rotate_in_xz"); return 0; } f32* src = smlua_get_vec3f_from_buffer(); src[0] = smlua_get_number_field(2, "x"); src[1] = smlua_get_number_field(2, "y"); src[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "rotate_in_xz"); return 0; } s16 yaw = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "rotate_in_xz"); return 0; } rotate_in_xz(dst, src, yaw); smlua_push_number_field(1, "x", dst[0]); smlua_push_number_field(1, "y", dst[1]); smlua_push_number_field(1, "z", dst[2]); smlua_push_number_field(2, "x", src[0]); smlua_push_number_field(2, "y", src[1]); smlua_push_number_field(2, "z", src[2]); return 1; } int smlua_func_rotate_in_yz(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "rotate_in_yz", 3, top); return 0; } f32* dst = smlua_get_vec3f_from_buffer(); dst[0] = smlua_get_number_field(1, "x"); dst[1] = smlua_get_number_field(1, "y"); dst[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "rotate_in_yz"); return 0; } f32* src = smlua_get_vec3f_from_buffer(); src[0] = smlua_get_number_field(2, "x"); src[1] = smlua_get_number_field(2, "y"); src[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "rotate_in_yz"); return 0; } s16 pitch = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "rotate_in_yz"); return 0; } rotate_in_yz(dst, src, pitch); smlua_push_number_field(1, "x", dst[0]); smlua_push_number_field(1, "y", dst[1]); smlua_push_number_field(1, "z", dst[2]); smlua_push_number_field(2, "x", src[0]); smlua_push_number_field(2, "y", src[1]); smlua_push_number_field(2, "z", src[2]); return 1; } int smlua_func_scale_along_line(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "scale_along_line", 4, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "scale_along_line"); return 0; } f32* from = smlua_get_vec3f_from_buffer(); from[0] = smlua_get_number_field(2, "x"); from[1] = smlua_get_number_field(2, "y"); from[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "scale_along_line"); return 0; } f32* to = smlua_get_vec3f_from_buffer(); to[0] = smlua_get_number_field(3, "x"); to[1] = smlua_get_number_field(3, "y"); to[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "scale_along_line"); return 0; } f32 scale = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "scale_along_line"); return 0; } scale_along_line(dest, from, to, scale); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_number_field(2, "x", from[0]); smlua_push_number_field(2, "y", from[1]); smlua_push_number_field(2, "z", from[2]); smlua_push_number_field(3, "x", to[0]); smlua_push_number_field(3, "y", to[1]); smlua_push_number_field(3, "z", to[2]); return 1; } int smlua_func_select_mario_cam_mode(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", "select_mario_cam_mode", 0, top); return 0; } select_mario_cam_mode(); return 1; } int smlua_func_set_cam_angle(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", "set_cam_angle", 1, top); return 0; } s32 mode = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_cam_angle"); return 0; } lua_pushinteger(L, set_cam_angle(mode)); return 1; } int smlua_func_set_camera_mode(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_camera_mode", 3, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_camera_mode"); return 0; } s16 mode = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_camera_mode"); return 0; } s16 frames = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_camera_mode"); return 0; } set_camera_mode(c, mode, frames); return 1; } int smlua_func_set_camera_mode_fixed(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_camera_mode_fixed", 4, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_camera_mode_fixed"); return 0; } s16 x = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_camera_mode_fixed"); return 0; } s16 y = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_camera_mode_fixed"); return 0; } s16 z = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "set_camera_mode_fixed"); return 0; } lua_pushinteger(L, set_camera_mode_fixed(c, x, y, z)); return 1; } int smlua_func_set_camera_pitch_shake(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_camera_pitch_shake", 3, top); return 0; } s16 mag = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_camera_pitch_shake"); return 0; } s16 decay = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_camera_pitch_shake"); return 0; } s16 inc = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_camera_pitch_shake"); return 0; } set_camera_pitch_shake(mag, decay, inc); return 1; } int smlua_func_set_camera_roll_shake(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_camera_roll_shake", 3, top); return 0; } s16 mag = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_camera_roll_shake"); return 0; } s16 decay = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_camera_roll_shake"); return 0; } s16 inc = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_camera_roll_shake"); return 0; } set_camera_roll_shake(mag, decay, inc); return 1; } int smlua_func_set_camera_shake_from_hit(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", "set_camera_shake_from_hit", 1, top); return 0; } s16 shake = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_camera_shake_from_hit"); return 0; } set_camera_shake_from_hit(shake); return 1; } int smlua_func_set_camera_shake_from_point(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_camera_shake_from_point", 4, top); return 0; } s16 shake = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_camera_shake_from_point"); return 0; } f32 posX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_camera_shake_from_point"); return 0; } f32 posY = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_camera_shake_from_point"); return 0; } f32 posZ = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "set_camera_shake_from_point"); return 0; } set_camera_shake_from_point(shake, posX, posY, posZ); return 1; } int smlua_func_set_camera_yaw_shake(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_camera_yaw_shake", 3, top); return 0; } s16 mag = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_camera_yaw_shake"); return 0; } s16 decay = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_camera_yaw_shake"); return 0; } s16 inc = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_camera_yaw_shake"); return 0; } set_camera_yaw_shake(mag, decay, inc); return 1; } int smlua_func_set_environmental_camera_shake(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", "set_environmental_camera_shake", 1, top); return 0; } s16 shake = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_environmental_camera_shake"); return 0; } set_environmental_camera_shake(shake); return 1; } int smlua_func_set_fixed_cam_axis_sa_lobby(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", "set_fixed_cam_axis_sa_lobby", 1, top); return 0; } s16 preset = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_fixed_cam_axis_sa_lobby"); return 0; } set_fixed_cam_axis_sa_lobby(preset); return 1; } int smlua_func_set_fov_function(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", "set_fov_function", 1, top); return 0; } u8 func = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_fov_function"); return 0; } set_fov_function(func); return 1; } int smlua_func_set_fov_shake(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_fov_shake", 3, top); return 0; } s16 amplitude = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_fov_shake"); return 0; } s16 decay = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_fov_shake"); return 0; } s16 shakeSpeed = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_fov_shake"); return 0; } set_fov_shake(amplitude, decay, shakeSpeed); return 1; } int smlua_func_set_fov_shake_from_point_preset(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_fov_shake_from_point_preset", 4, top); return 0; } u8 preset = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_fov_shake_from_point_preset"); return 0; } f32 posX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_fov_shake_from_point_preset"); return 0; } f32 posY = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_fov_shake_from_point_preset"); return 0; } f32 posZ = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "set_fov_shake_from_point_preset"); return 0; } set_fov_shake_from_point_preset(preset, posX, posY, posZ); return 1; } int smlua_func_set_handheld_shake(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", "set_handheld_shake", 1, top); return 0; } u8 mode = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_handheld_shake"); return 0; } set_handheld_shake(mode); return 1; } int smlua_func_set_or_approach_f32_asymptotic(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_or_approach_f32_asymptotic", 3, top); return 0; } f32 * dst = (f32 *)smlua_to_cpointer(L, 1, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_or_approach_f32_asymptotic"); return 0; } f32 goal = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_or_approach_f32_asymptotic"); return 0; } f32 scale = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_or_approach_f32_asymptotic"); return 0; } lua_pushinteger(L, set_or_approach_f32_asymptotic(dst, goal, scale)); return 1; } int smlua_func_set_or_approach_s16_symmetric(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_or_approach_s16_symmetric", 3, top); return 0; } s16 * current = (s16 *)smlua_to_cpointer(L, 1, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_or_approach_s16_symmetric"); return 0; } s16 target = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_or_approach_s16_symmetric"); return 0; } s16 increment = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_or_approach_s16_symmetric"); return 0; } lua_pushinteger(L, set_or_approach_s16_symmetric(current, target, increment)); return 1; } int smlua_func_set_or_approach_vec3f_asymptotic(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_or_approach_vec3f_asymptotic", 5, top); return 0; } f32* dst = smlua_get_vec3f_from_buffer(); dst[0] = smlua_get_number_field(1, "x"); dst[1] = smlua_get_number_field(1, "y"); dst[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_or_approach_vec3f_asymptotic"); return 0; } f32* goal = smlua_get_vec3f_from_buffer(); goal[0] = smlua_get_number_field(2, "x"); goal[1] = smlua_get_number_field(2, "y"); goal[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_or_approach_vec3f_asymptotic"); return 0; } f32 xMul = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_or_approach_vec3f_asymptotic"); return 0; } f32 yMul = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "set_or_approach_vec3f_asymptotic"); return 0; } f32 zMul = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "set_or_approach_vec3f_asymptotic"); return 0; } set_or_approach_vec3f_asymptotic(dst, goal, xMul, yMul, zMul); smlua_push_number_field(1, "x", dst[0]); smlua_push_number_field(1, "y", dst[1]); smlua_push_number_field(1, "z", dst[2]); smlua_push_number_field(2, "x", goal[0]); smlua_push_number_field(2, "y", goal[1]); smlua_push_number_field(2, "z", goal[2]); return 1; } int smlua_func_set_pitch_shake_from_point(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 7) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_pitch_shake_from_point", 7, top); return 0; } s16 mag = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_pitch_shake_from_point"); return 0; } s16 decay = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_pitch_shake_from_point"); return 0; } s16 inc = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_pitch_shake_from_point"); return 0; } f32 maxDist = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "set_pitch_shake_from_point"); return 0; } f32 posX = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "set_pitch_shake_from_point"); return 0; } f32 posY = smlua_to_number(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "set_pitch_shake_from_point"); return 0; } f32 posZ = smlua_to_number(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "set_pitch_shake_from_point"); return 0; } set_pitch_shake_from_point(mag, decay, inc, maxDist, posX, posY, posZ); return 1; } int smlua_func_shake_camera_handheld(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "shake_camera_handheld", 2, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "shake_camera_handheld"); return 0; } f32* focus = smlua_get_vec3f_from_buffer(); focus[0] = smlua_get_number_field(2, "x"); focus[1] = smlua_get_number_field(2, "y"); focus[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "shake_camera_handheld"); return 0; } shake_camera_handheld(pos, focus); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); smlua_push_number_field(2, "x", focus[0]); smlua_push_number_field(2, "y", focus[1]); smlua_push_number_field(2, "z", focus[2]); return 1; } int smlua_func_shake_camera_pitch(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "shake_camera_pitch", 2, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "shake_camera_pitch"); return 0; } f32* focus = smlua_get_vec3f_from_buffer(); focus[0] = smlua_get_number_field(2, "x"); focus[1] = smlua_get_number_field(2, "y"); focus[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "shake_camera_pitch"); return 0; } shake_camera_pitch(pos, focus); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); smlua_push_number_field(2, "x", focus[0]); smlua_push_number_field(2, "y", focus[1]); smlua_push_number_field(2, "z", focus[2]); return 1; } int smlua_func_shake_camera_roll(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", "shake_camera_roll", 1, top); return 0; } s16 * roll = (s16 *)smlua_to_cpointer(L, 1, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "shake_camera_roll"); return 0; } shake_camera_roll(roll); return 1; } int smlua_func_shake_camera_yaw(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "shake_camera_yaw", 2, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "shake_camera_yaw"); return 0; } f32* focus = smlua_get_vec3f_from_buffer(); focus[0] = smlua_get_number_field(2, "x"); focus[1] = smlua_get_number_field(2, "y"); focus[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "shake_camera_yaw"); return 0; } shake_camera_yaw(pos, focus); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); smlua_push_number_field(2, "x", focus[0]); smlua_push_number_field(2, "y", focus[1]); smlua_push_number_field(2, "z", focus[2]); return 1; } int smlua_func_soft_reset_camera(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", "soft_reset_camera", 1, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "soft_reset_camera"); return 0; } soft_reset_camera(c); return 1; } int smlua_func_start_cutscene(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "start_cutscene", 2, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "start_cutscene"); return 0; } u8 cutscene = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "start_cutscene"); return 0; } start_cutscene(c, cutscene); return 1; } int smlua_func_start_object_cutscene_without_focus(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", "start_object_cutscene_without_focus", 1, top); return 0; } u8 cutscene = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "start_object_cutscene_without_focus"); return 0; } lua_pushinteger(L, start_object_cutscene_without_focus(cutscene)); return 1; } int smlua_func_transition_next_state(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "transition_next_state", 2, top); return 0; } struct Camera* c = (struct Camera*)smlua_to_cobject(L, 1, LOT_CAMERA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "transition_next_state"); return 0; } s16 frames = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "transition_next_state"); return 0; } transition_next_state(c, frames); return 1; } int smlua_func_trigger_cutscene_dialog(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", "trigger_cutscene_dialog", 1, top); return 0; } s32 trigger = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "trigger_cutscene_dialog"); return 0; } lua_pushinteger(L, trigger_cutscene_dialog(trigger)); return 1; } int smlua_func_vec3f_sub(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_sub", 2, top); return 0; } f32* dst = smlua_get_vec3f_from_buffer(); dst[0] = smlua_get_number_field(1, "x"); dst[1] = smlua_get_number_field(1, "y"); dst[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_sub"); return 0; } f32* src = smlua_get_vec3f_from_buffer(); src[0] = smlua_get_number_field(2, "x"); src[1] = smlua_get_number_field(2, "y"); src[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_sub"); return 0; } vec3f_sub(dst, src); smlua_push_number_field(1, "x", dst[0]); smlua_push_number_field(1, "y", dst[1]); smlua_push_number_field(1, "z", dst[2]); smlua_push_number_field(2, "x", src[0]); smlua_push_number_field(2, "y", src[1]); smlua_push_number_field(2, "z", src[2]); return 1; } int smlua_func_vec3f_to_object_pos(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_to_object_pos", 2, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_to_object_pos"); return 0; } f32* src = smlua_get_vec3f_from_buffer(); src[0] = smlua_get_number_field(2, "x"); src[1] = smlua_get_number_field(2, "y"); src[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_to_object_pos"); return 0; } vec3f_to_object_pos(o, src); smlua_push_number_field(2, "x", src[0]); smlua_push_number_field(2, "y", src[1]); smlua_push_number_field(2, "z", src[2]); return 1; } int smlua_func_warp_camera(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "warp_camera", 3, top); return 0; } f32 displacementX = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "warp_camera"); return 0; } f32 displacementY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "warp_camera"); return 0; } f32 displacementZ = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "warp_camera"); return 0; } warp_camera(displacementX, displacementY, displacementZ); return 1; } ////////////////// // characters.h // ////////////////// int smlua_func_get_character(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", "get_character", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_character"); return 0; } smlua_push_object(L, LOT_CHARACTER, get_character(m)); return 1; } int smlua_func_get_character_anim_offset(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", "get_character_anim_offset", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_character_anim_offset"); return 0; } lua_pushnumber(L, get_character_anim_offset(m)); return 1; } int smlua_func_play_character_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_character_sound", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_character_sound"); return 0; } int characterSound = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_character_sound"); return 0; } play_character_sound(m, characterSound); return 1; } int smlua_func_play_character_sound_if_no_flag(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_character_sound_if_no_flag", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_character_sound_if_no_flag"); return 0; } int characterSound = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_character_sound_if_no_flag"); return 0; } u32 flags = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_character_sound_if_no_flag"); return 0; } play_character_sound_if_no_flag(m, characterSound, flags); return 1; } int smlua_func_play_character_sound_offset(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_character_sound_offset", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_character_sound_offset"); return 0; } int characterSound = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_character_sound_offset"); return 0; } u32 offset = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_character_sound_offset"); return 0; } play_character_sound_offset(m, characterSound, offset); return 1; } int smlua_func_update_character_anim_offset(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", "update_character_anim_offset", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_character_anim_offset"); return 0; } update_character_anim_offset(m); return 1; } ///////////////////////// // djui_chat_message.h // ///////////////////////// int smlua_func_djui_chat_message_create(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", "djui_chat_message_create", 1, top); return 0; } const char* message = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_chat_message_create"); return 0; } djui_chat_message_create(message); return 1; } ////////////////////// // djui_hud_utils.h // ////////////////////// int smlua_func_djui_hud_get_mouse_x(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_x", 0, top); return 0; } lua_pushnumber(L, djui_hud_get_mouse_x()); return 1; } int smlua_func_djui_hud_get_mouse_y(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_y", 0, top); return 0; } lua_pushnumber(L, djui_hud_get_mouse_y()); return 1; } int smlua_func_djui_hud_get_raw_mouse_x(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_raw_mouse_x", 0, top); return 0; } lua_pushnumber(L, djui_hud_get_raw_mouse_x()); return 1; } int smlua_func_djui_hud_get_raw_mouse_y(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_raw_mouse_y", 0, top); return 0; } lua_pushnumber(L, djui_hud_get_raw_mouse_y()); return 1; } int smlua_func_djui_hud_get_screen_height(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_screen_height", 0, top); return 0; } lua_pushinteger(L, djui_hud_get_screen_height()); return 1; } int smlua_func_djui_hud_get_screen_width(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_screen_width", 0, top); return 0; } lua_pushinteger(L, djui_hud_get_screen_width()); return 1; } int smlua_func_djui_hud_is_pause_menu_created(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_is_pause_menu_created", 0, top); return 0; } lua_pushboolean(L, djui_hud_is_pause_menu_created()); return 1; } int smlua_func_djui_hud_measure_text(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", "djui_hud_measure_text", 1, top); return 0; } const char* message = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_measure_text"); return 0; } lua_pushnumber(L, djui_hud_measure_text(message)); return 1; } int smlua_func_djui_hud_print_text(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_print_text", 4, top); return 0; } const char* message = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_print_text"); return 0; } f32 x = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_print_text"); return 0; } f32 y = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "djui_hud_print_text"); return 0; } f32 scale = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "djui_hud_print_text"); return 0; } djui_hud_print_text(message, x, y, scale); return 1; } int smlua_func_djui_hud_print_text_interpolated(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 7) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_print_text_interpolated", 7, top); return 0; } const char* message = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_print_text_interpolated"); return 0; } f32 prevX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_print_text_interpolated"); return 0; } f32 prevY = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "djui_hud_print_text_interpolated"); return 0; } f32 prevScale = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "djui_hud_print_text_interpolated"); return 0; } f32 x = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "djui_hud_print_text_interpolated"); return 0; } f32 y = smlua_to_number(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "djui_hud_print_text_interpolated"); return 0; } f32 scale = smlua_to_number(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "djui_hud_print_text_interpolated"); return 0; } djui_hud_print_text_interpolated(message, prevX, prevY, prevScale, x, y, scale); return 1; } int smlua_func_djui_hud_render_rect(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_render_rect", 4, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_render_rect"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_render_rect"); return 0; } f32 width = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "djui_hud_render_rect"); return 0; } f32 height = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "djui_hud_render_rect"); return 0; } djui_hud_render_rect(x, y, width, height); return 1; } int smlua_func_djui_hud_render_rect_interpolated(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 8) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_render_rect_interpolated", 8, top); return 0; } f32 prevX = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_render_rect_interpolated"); return 0; } f32 prevY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_render_rect_interpolated"); return 0; } f32 prevWidth = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "djui_hud_render_rect_interpolated"); return 0; } f32 prevHeight = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "djui_hud_render_rect_interpolated"); return 0; } f32 x = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "djui_hud_render_rect_interpolated"); return 0; } f32 y = smlua_to_number(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "djui_hud_render_rect_interpolated"); return 0; } f32 width = smlua_to_number(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "djui_hud_render_rect_interpolated"); return 0; } f32 height = smlua_to_number(L, 8); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 8, "djui_hud_render_rect_interpolated"); return 0; } djui_hud_render_rect_interpolated(prevX, prevY, prevWidth, prevHeight, x, y, width, height); return 1; } int smlua_func_djui_hud_reset_color(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_reset_color", 0, top); return 0; } djui_hud_reset_color(); return 1; } int smlua_func_djui_hud_set_color(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_set_color", 4, top); return 0; } u8 r = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_set_color"); return 0; } u8 g = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_set_color"); return 0; } u8 b = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "djui_hud_set_color"); return 0; } u8 a = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "djui_hud_set_color"); return 0; } djui_hud_set_color(r, g, b, a); return 1; } int smlua_func_djui_hud_set_font(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", "djui_hud_set_font", 1, top); return 0; } int fontType = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_set_font"); return 0; } djui_hud_set_font(fontType); return 1; } int smlua_func_djui_hud_set_mouse_locked(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", "djui_hud_set_mouse_locked", 1, top); return 0; } bool locked = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_set_mouse_locked"); return 0; } djui_hud_set_mouse_locked(locked); return 1; } int smlua_func_djui_hud_set_render_behind_hud(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", "djui_hud_set_render_behind_hud", 1, top); return 0; } bool enable = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_set_render_behind_hud"); return 0; } djui_hud_set_render_behind_hud(enable); return 1; } int smlua_func_djui_hud_set_resolution(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", "djui_hud_set_resolution", 1, top); return 0; } int resolutionType = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_set_resolution"); return 0; } djui_hud_set_resolution(resolutionType); return 1; } int smlua_func_djui_hud_set_rotation(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_set_rotation", 3, top); return 0; } s16 rotation = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_set_rotation"); return 0; } f32 pivotX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_set_rotation"); return 0; } f32 pivotY = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "djui_hud_set_rotation"); return 0; } djui_hud_set_rotation(rotation, pivotX, pivotY); return 1; } int smlua_func_djui_hud_world_pos_to_screen_pos(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_world_pos_to_screen_pos", 2, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_world_pos_to_screen_pos"); return 0; } f32* out = smlua_get_vec3f_from_buffer(); out[0] = smlua_get_number_field(2, "x"); out[1] = smlua_get_number_field(2, "y"); out[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_world_pos_to_screen_pos"); return 0; } lua_pushboolean(L, djui_hud_world_pos_to_screen_pos(pos, out)); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); smlua_push_number_field(2, "x", out[0]); smlua_push_number_field(2, "y", out[1]); smlua_push_number_field(2, "z", out[2]); 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 // ////////////////// int smlua_func_djui_popup_create(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_popup_create", 2, top); return 0; } const char* message = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_popup_create"); return 0; } int lines = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_popup_create"); return 0; } djui_popup_create(message, lines); return 1; } //////////////// // external.h // //////////////// int smlua_func_drop_queued_background_music(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", "drop_queued_background_music", 0, top); return 0; } drop_queued_background_music(); return 1; } int smlua_func_fade_volume_scale(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "fade_volume_scale", 3, top); return 0; } u8 player = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "fade_volume_scale"); return 0; } u8 targetScale = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "fade_volume_scale"); return 0; } u16 fadeDuration = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "fade_volume_scale"); return 0; } fade_volume_scale(player, targetScale, fadeDuration); return 1; } int smlua_func_fadeout_background_music(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "fadeout_background_music", 2, top); return 0; } u16 arg0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "fadeout_background_music"); return 0; } u16 fadeOut = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "fadeout_background_music"); return 0; } fadeout_background_music(arg0, fadeOut); return 1; } int smlua_func_get_current_background_music(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", "get_current_background_music", 0, top); return 0; } lua_pushinteger(L, get_current_background_music()); return 1; } int smlua_func_get_current_background_music_default_volume(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", "get_current_background_music_default_volume", 0, top); return 0; } lua_pushinteger(L, get_current_background_music_default_volume()); return 1; } int smlua_func_get_current_background_music_max_target_volume(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", "get_current_background_music_max_target_volume", 0, top); return 0; } lua_pushinteger(L, get_current_background_music_max_target_volume()); return 1; } int smlua_func_get_current_background_music_target_volume(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", "get_current_background_music_target_volume", 0, top); return 0; } lua_pushinteger(L, get_current_background_music_target_volume()); return 1; } int smlua_func_is_current_background_music_volume_lowered(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", "is_current_background_music_volume_lowered", 0, top); return 0; } lua_pushinteger(L, is_current_background_music_volume_lowered()); return 1; } int smlua_func_play_course_clear(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", "play_course_clear", 0, top); return 0; } play_course_clear(); return 1; } int smlua_func_play_dialog_sound(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", "play_dialog_sound", 1, top); return 0; } u8 dialogID = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_dialog_sound"); return 0; } play_dialog_sound(dialogID); return 1; } int smlua_func_play_music(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_music", 3, top); return 0; } u8 player = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_music"); return 0; } u16 seqArgs = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_music"); return 0; } u16 fadeTimer = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_music"); return 0; } play_music(player, seqArgs, fadeTimer); return 1; } int smlua_func_play_peachs_jingle(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", "play_peachs_jingle", 0, top); return 0; } play_peachs_jingle(); return 1; } int smlua_func_play_power_star_jingle(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", "play_power_star_jingle", 1, top); return 0; } u8 arg0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_power_star_jingle"); return 0; } play_power_star_jingle(arg0); return 1; } int smlua_func_play_puzzle_jingle(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", "play_puzzle_jingle", 0, top); return 0; } play_puzzle_jingle(); return 1; } int smlua_func_play_race_fanfare(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", "play_race_fanfare", 0, top); return 0; } play_race_fanfare(); return 1; } int smlua_func_play_secondary_music(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_secondary_music", 4, top); return 0; } u8 seqId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_secondary_music"); return 0; } u8 bgMusicVolume = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_secondary_music"); return 0; } u8 volume = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_secondary_music"); return 0; } u16 fadeTimer = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "play_secondary_music"); return 0; } play_secondary_music(seqId, bgMusicVolume, volume, fadeTimer); return 1; } int smlua_func_play_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_sound", 2, top); return 0; } s32 soundBits = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_sound"); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(2, "x"); pos[1] = smlua_get_number_field(2, "y"); pos[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_sound"); return 0; } play_sound(soundBits, pos); smlua_push_number_field(2, "x", pos[0]); smlua_push_number_field(2, "y", pos[1]); smlua_push_number_field(2, "z", pos[2]); return 1; } int smlua_func_play_sound_with_freq_scale(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_sound_with_freq_scale", 3, top); return 0; } s32 soundBits = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_sound_with_freq_scale"); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(2, "x"); pos[1] = smlua_get_number_field(2, "y"); pos[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_sound_with_freq_scale"); return 0; } f32 freqScale = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_sound_with_freq_scale"); return 0; } play_sound_with_freq_scale(soundBits, pos, freqScale); smlua_push_number_field(2, "x", pos[0]); smlua_push_number_field(2, "y", pos[1]); smlua_push_number_field(2, "z", pos[2]); return 1; } int smlua_func_play_star_fanfare(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", "play_star_fanfare", 0, top); return 0; } play_star_fanfare(); return 1; } int smlua_func_play_toads_jingle(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", "play_toads_jingle", 0, top); return 0; } play_toads_jingle(); return 1; } int smlua_func_seq_player_fade_out(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "seq_player_fade_out", 2, top); return 0; } u8 player = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "seq_player_fade_out"); return 0; } u16 fadeDuration = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "seq_player_fade_out"); return 0; } seq_player_fade_out(player, fadeDuration); return 1; } int smlua_func_seq_player_lower_volume(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "seq_player_lower_volume", 3, top); return 0; } u8 player = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "seq_player_lower_volume"); return 0; } u16 fadeDuration = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "seq_player_lower_volume"); return 0; } u8 percentage = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "seq_player_lower_volume"); return 0; } seq_player_lower_volume(player, fadeDuration, percentage); return 1; } int smlua_func_seq_player_unlower_volume(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "seq_player_unlower_volume", 2, top); return 0; } u8 player = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "seq_player_unlower_volume"); return 0; } u16 fadeDuration = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "seq_player_unlower_volume"); return 0; } seq_player_unlower_volume(player, fadeDuration); return 1; } int smlua_func_set_audio_fadeout(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", "set_audio_fadeout", 1, top); return 0; } u16 fadeOutTime = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_audio_fadeout"); return 0; } set_audio_fadeout(fadeOutTime); return 1; } int smlua_func_sound_banks_disable(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "sound_banks_disable", 2, top); return 0; } u8 player = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "sound_banks_disable"); return 0; } u16 bankMask = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "sound_banks_disable"); return 0; } sound_banks_disable(player, bankMask); return 1; } int smlua_func_sound_banks_enable(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "sound_banks_enable", 2, top); return 0; } u8 player = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "sound_banks_enable"); return 0; } u16 bankMask = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "sound_banks_enable"); return 0; } sound_banks_enable(player, bankMask); return 1; } int smlua_func_stop_background_music(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", "stop_background_music", 1, top); return 0; } u16 seqId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "stop_background_music"); return 0; } stop_background_music(seqId); return 1; } int smlua_func_stop_secondary_music(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", "stop_secondary_music", 1, top); return 0; } u16 fadeTimer = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "stop_secondary_music"); return 0; } stop_secondary_music(fadeTimer); return 1; } int smlua_func_stop_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "stop_sound", 2, top); return 0; } u32 soundBits = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "stop_sound"); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(2, "x"); pos[1] = smlua_get_number_field(2, "y"); pos[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "stop_sound"); return 0; } stop_sound(soundBits, pos); smlua_push_number_field(2, "x", pos[0]); smlua_push_number_field(2, "y", pos[1]); smlua_push_number_field(2, "z", pos[2]); return 1; } int smlua_func_stop_sounds_from_source(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", "stop_sounds_from_source", 1, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "stop_sounds_from_source"); return 0; } stop_sounds_from_source(pos); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); return 1; } int smlua_func_stop_sounds_in_continuous_banks(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", "stop_sounds_in_continuous_banks", 0, top); return 0; } stop_sounds_in_continuous_banks(); return 1; } /////////////////// // ingame_menu.h // /////////////////// int smlua_func_reset_dialog_override_color(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", "reset_dialog_override_color", 0, top); return 0; } reset_dialog_override_color(); return 1; } int smlua_func_reset_dialog_override_pos(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", "reset_dialog_override_pos", 0, top); return 0; } reset_dialog_override_pos(); return 1; } int smlua_func_set_dialog_override_color(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 8) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_dialog_override_color", 8, top); return 0; } u8 bgR = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_dialog_override_color"); return 0; } u8 bgG = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_dialog_override_color"); return 0; } u8 bgB = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_dialog_override_color"); return 0; } u8 bgA = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "set_dialog_override_color"); return 0; } u8 textR = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "set_dialog_override_color"); return 0; } u8 textG = smlua_to_integer(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "set_dialog_override_color"); return 0; } u8 textB = smlua_to_integer(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "set_dialog_override_color"); return 0; } u8 textA = smlua_to_integer(L, 8); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 8, "set_dialog_override_color"); return 0; } set_dialog_override_color(bgR, bgG, bgB, bgA, textR, textG, textB, textA); return 1; } int smlua_func_set_dialog_override_pos(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_dialog_override_pos", 2, top); return 0; } s16 x = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_dialog_override_pos"); return 0; } s16 y = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_dialog_override_pos"); return 0; } set_dialog_override_pos(x, y); return 1; } int smlua_func_set_min_dialog_width(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", "set_min_dialog_width", 1, top); return 0; } s16 width = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_min_dialog_width"); return 0; } set_min_dialog_width(width); return 1; } /////////////////// // interaction.h // /////////////////// int smlua_func_determine_interaction(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "determine_interaction", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "determine_interaction"); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "determine_interaction"); return 0; } lua_pushinteger(L, determine_interaction(m, o)); return 1; } int smlua_func_does_mario_have_normal_cap_on_head(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", "does_mario_have_normal_cap_on_head", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "does_mario_have_normal_cap_on_head"); return 0; } lua_pushinteger(L, does_mario_have_normal_cap_on_head(m)); return 1; } int smlua_func_get_door_save_file_flag(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", "get_door_save_file_flag", 1, top); return 0; } struct Object* door = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_door_save_file_flag"); return 0; } lua_pushinteger(L, get_door_save_file_flag(door)); return 1; } int smlua_func_interact_damage(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "interact_damage", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "interact_damage"); return 0; } u32 interactType = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "interact_damage"); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 3, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "interact_damage"); return 0; } lua_pushinteger(L, interact_damage(m, interactType, o)); return 1; } int smlua_func_mario_blow_off_cap(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_blow_off_cap", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_blow_off_cap"); return 0; } f32 capSpeed = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_blow_off_cap"); return 0; } mario_blow_off_cap(m, capSpeed); return 1; } int smlua_func_mario_check_object_grab(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", "mario_check_object_grab", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_check_object_grab"); return 0; } lua_pushinteger(L, mario_check_object_grab(m)); return 1; } int smlua_func_mario_drop_held_object(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", "mario_drop_held_object", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_drop_held_object"); return 0; } mario_drop_held_object(m); return 1; } int smlua_func_mario_get_collided_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_get_collided_object", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_get_collided_object"); return 0; } u32 interactType = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_get_collided_object"); return 0; } smlua_push_object(L, LOT_OBJECT, mario_get_collided_object(m, interactType)); return 1; } int smlua_func_mario_grab_used_object(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", "mario_grab_used_object", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_grab_used_object"); return 0; } mario_grab_used_object(m); return 1; } int smlua_func_mario_lose_cap_to_enemy(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_lose_cap_to_enemy", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_lose_cap_to_enemy"); return 0; } u32 arg = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_lose_cap_to_enemy"); return 0; } lua_pushinteger(L, mario_lose_cap_to_enemy(m, arg)); return 1; } int smlua_func_mario_obj_angle_to_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_obj_angle_to_object", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_obj_angle_to_object"); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_obj_angle_to_object"); return 0; } lua_pushinteger(L, mario_obj_angle_to_object(m, o)); return 1; } int smlua_func_mario_retrieve_cap(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", "mario_retrieve_cap", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_retrieve_cap"); return 0; } mario_retrieve_cap(m); return 1; } int smlua_func_mario_stop_riding_and_holding(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", "mario_stop_riding_and_holding", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_stop_riding_and_holding"); return 0; } mario_stop_riding_and_holding(m); return 1; } int smlua_func_mario_stop_riding_object(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", "mario_stop_riding_object", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_stop_riding_object"); return 0; } mario_stop_riding_object(m); return 1; } int smlua_func_mario_throw_held_object(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", "mario_throw_held_object", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_throw_held_object"); return 0; } mario_throw_held_object(m); return 1; } int smlua_func_passes_pvp_interaction_checks(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "passes_pvp_interaction_checks", 2, top); return 0; } struct MarioState* attacker = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "passes_pvp_interaction_checks"); return 0; } struct MarioState* victim = (struct MarioState*)smlua_to_cobject(L, 2, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "passes_pvp_interaction_checks"); return 0; } lua_pushinteger(L, passes_pvp_interaction_checks(attacker, victim)); return 1; } int smlua_func_take_damage_and_knock_back(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "take_damage_and_knock_back", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "take_damage_and_knock_back"); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "take_damage_and_knock_back"); return 0; } lua_pushinteger(L, take_damage_and_knock_back(m, o)); return 1; } //////////////////////// // lag_compensation.h // //////////////////////// int smlua_func_lag_compensation_get_local_state(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", "lag_compensation_get_local_state", 1, top); return 0; } struct NetworkPlayer* otherNp = (struct NetworkPlayer*)smlua_to_cobject(L, 1, LOT_NETWORKPLAYER); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "lag_compensation_get_local_state"); return 0; } smlua_push_object(L, LOT_MARIOSTATE, lag_compensation_get_local_state(otherNp)); return 1; } ////////////////// // level_info.h // ////////////////// int smlua_func_get_level_name(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_level_name", 3, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_level_name"); return 0; } s16 levelNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_level_name"); return 0; } s16 areaIndex = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "get_level_name"); return 0; } lua_pushstring(L, get_level_name(courseNum, levelNum, areaIndex)); return 1; } int smlua_func_get_level_name_ascii(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_level_name_ascii", 4, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_level_name_ascii"); return 0; } s16 levelNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_level_name_ascii"); return 0; } s16 areaIndex = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "get_level_name_ascii"); return 0; } s16 charCase = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "get_level_name_ascii"); return 0; } lua_pushstring(L, get_level_name_ascii(courseNum, levelNum, areaIndex, charCase)); return 1; } int smlua_func_get_level_name_sm64(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_level_name_sm64", 4, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_level_name_sm64"); return 0; } s16 levelNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_level_name_sm64"); return 0; } s16 areaIndex = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "get_level_name_sm64"); return 0; } s16 charCase = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "get_level_name_sm64"); return 0; } smlua_push_pointer(L, LVT_U8_P, (void*)get_level_name_sm64(courseNum, levelNum, areaIndex, charCase)); return 1; } int smlua_func_get_star_name(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_star_name", 2, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_star_name"); return 0; } s16 starNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_star_name"); return 0; } lua_pushstring(L, get_star_name(courseNum, starNum)); return 1; } int smlua_func_get_star_name_ascii(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_star_name_ascii", 3, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_star_name_ascii"); return 0; } s16 starNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_star_name_ascii"); return 0; } s16 charCase = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "get_star_name_ascii"); return 0; } lua_pushstring(L, get_star_name_ascii(courseNum, starNum, charCase)); return 1; } int smlua_func_get_star_name_sm64(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_star_name_sm64", 3, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_star_name_sm64"); return 0; } s16 starNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_star_name_sm64"); return 0; } s16 charCase = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "get_star_name_sm64"); return 0; } smlua_push_pointer(L, LVT_U8_P, (void*)get_star_name_sm64(courseNum, starNum, charCase)); return 1; } //////////////////// // level_script.h // //////////////////// int smlua_func_area_create_warp_node(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "area_create_warp_node", 6, top); return 0; } u8 id = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "area_create_warp_node"); return 0; } u8 destLevel = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "area_create_warp_node"); return 0; } u8 destArea = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "area_create_warp_node"); return 0; } u8 destNode = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "area_create_warp_node"); return 0; } u8 checkpoint = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "area_create_warp_node"); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 6, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "area_create_warp_node"); return 0; } smlua_push_object(L, LOT_OBJECTWARPNODE, area_create_warp_node(id, destLevel, destArea, destNode, checkpoint, o)); return 1; } //////////////////// // level_update.h // //////////////////// int smlua_func_get_painting_warp_node(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", "get_painting_warp_node", 0, top); return 0; } smlua_push_object(L, LOT_WARPNODE, get_painting_warp_node()); return 1; } int smlua_func_initiate_painting_warp(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", "initiate_painting_warp", 1, top); return 0; } s16 paintingIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "initiate_painting_warp"); return 0; } initiate_painting_warp(paintingIndex); return 1; } int smlua_func_level_trigger_warp(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "level_trigger_warp", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "level_trigger_warp"); return 0; } s32 warpOp = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "level_trigger_warp"); return 0; } lua_pushinteger(L, level_trigger_warp(m, warpOp)); return 1; } ///////////// // mario.h // ///////////// int smlua_func_adjust_sound_for_speed(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", "adjust_sound_for_speed", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "adjust_sound_for_speed"); return 0; } adjust_sound_for_speed(m); return 1; } int smlua_func_check_common_action_exits(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", "check_common_action_exits", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_common_action_exits"); return 0; } lua_pushinteger(L, check_common_action_exits(m)); return 1; } int smlua_func_check_common_hold_action_exits(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", "check_common_hold_action_exits", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_common_hold_action_exits"); return 0; } lua_pushinteger(L, check_common_hold_action_exits(m)); return 1; } int smlua_func_drop_and_set_mario_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "drop_and_set_mario_action", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "drop_and_set_mario_action"); return 0; } u32 action = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "drop_and_set_mario_action"); return 0; } u32 actionArg = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "drop_and_set_mario_action"); return 0; } lua_pushinteger(L, drop_and_set_mario_action(m, action, actionArg)); return 1; } int smlua_func_execute_mario_action(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", "execute_mario_action", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "execute_mario_action"); return 0; } lua_pushinteger(L, execute_mario_action(o)); return 1; } int smlua_func_find_floor_height_relative_polar(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_floor_height_relative_polar", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_floor_height_relative_polar"); return 0; } s16 angleFromMario = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_floor_height_relative_polar"); return 0; } f32 distFromMario = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "find_floor_height_relative_polar"); return 0; } lua_pushnumber(L, find_floor_height_relative_polar(m, angleFromMario, distFromMario)); return 1; } int smlua_func_find_floor_slope(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_floor_slope", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_floor_slope"); return 0; } s16 yawOffset = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_floor_slope"); return 0; } lua_pushinteger(L, find_floor_slope(m, yawOffset)); return 1; } int smlua_func_find_mario_anim_flags_and_translation(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_mario_anim_flags_and_translation", 3, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_mario_anim_flags_and_translation"); return 0; } s32 yaw = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_mario_anim_flags_and_translation"); return 0; } s16* translation = smlua_get_vec3s_from_buffer(); translation[0] = smlua_get_integer_field(3, "x"); translation[1] = smlua_get_integer_field(3, "y"); translation[2] = smlua_get_integer_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "find_mario_anim_flags_and_translation"); return 0; } lua_pushinteger(L, find_mario_anim_flags_and_translation(o, yaw, translation)); smlua_push_integer_field(3, "x", translation[0]); smlua_push_integer_field(3, "y", translation[1]); smlua_push_integer_field(3, "z", translation[2]); return 1; } int smlua_func_force_idle_state(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", "force_idle_state", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "force_idle_state"); return 0; } lua_pushinteger(L, force_idle_state(m)); return 1; } int smlua_func_hurt_and_set_mario_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "hurt_and_set_mario_action", 4, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "hurt_and_set_mario_action"); return 0; } u32 action = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "hurt_and_set_mario_action"); return 0; } u32 actionArg = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "hurt_and_set_mario_action"); return 0; } s16 hurtCounter = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "hurt_and_set_mario_action"); return 0; } lua_pushinteger(L, hurt_and_set_mario_action(m, action, actionArg, hurtCounter)); return 1; } int smlua_func_init_single_mario(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", "init_single_mario", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "init_single_mario"); return 0; } init_single_mario(m); return 1; } int smlua_func_is_anim_at_end(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", "is_anim_at_end", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_anim_at_end"); return 0; } lua_pushinteger(L, is_anim_at_end(m)); return 1; } int smlua_func_is_anim_past_end(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", "is_anim_past_end", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_anim_past_end"); return 0; } lua_pushinteger(L, is_anim_past_end(m)); return 1; } int smlua_func_is_anim_past_frame(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "is_anim_past_frame", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_anim_past_frame"); return 0; } s16 animFrame = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "is_anim_past_frame"); return 0; } lua_pushinteger(L, is_anim_past_frame(m, animFrame)); return 1; } int smlua_func_mario_can_bubble(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", "mario_can_bubble", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_can_bubble"); return 0; } lua_pushboolean(L, mario_can_bubble(m)); return 1; } int smlua_func_mario_facing_downhill(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_facing_downhill", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_facing_downhill"); return 0; } s32 turnYaw = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_facing_downhill"); return 0; } lua_pushinteger(L, mario_facing_downhill(m, turnYaw)); return 1; } int smlua_func_mario_floor_is_slippery(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", "mario_floor_is_slippery", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_floor_is_slippery"); return 0; } lua_pushinteger(L, mario_floor_is_slippery(m)); return 1; } int smlua_func_mario_floor_is_slope(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", "mario_floor_is_slope", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_floor_is_slope"); return 0; } lua_pushinteger(L, mario_floor_is_slope(m)); return 1; } int smlua_func_mario_floor_is_steep(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", "mario_floor_is_steep", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_floor_is_steep"); return 0; } lua_pushinteger(L, mario_floor_is_steep(m)); return 1; } int smlua_func_mario_get_floor_class(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", "mario_get_floor_class", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_get_floor_class"); return 0; } lua_pushinteger(L, mario_get_floor_class(m)); return 1; } int smlua_func_mario_get_terrain_sound_addend(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", "mario_get_terrain_sound_addend", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_get_terrain_sound_addend"); return 0; } lua_pushinteger(L, mario_get_terrain_sound_addend(m)); return 1; } int smlua_func_mario_set_bubbled(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", "mario_set_bubbled", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_set_bubbled"); return 0; } mario_set_bubbled(m); return 1; } int smlua_func_mario_set_forward_vel(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_set_forward_vel", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_set_forward_vel"); return 0; } f32 speed = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_set_forward_vel"); return 0; } mario_set_forward_vel(m, speed); return 1; } int smlua_func_mario_update_wall(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_update_wall", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_update_wall"); return 0; } struct WallCollisionData* wcd = (struct WallCollisionData*)smlua_to_cobject(L, 2, LOT_WALLCOLLISIONDATA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_update_wall"); return 0; } mario_update_wall(m, wcd); return 1; } int smlua_func_play_mario_action_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_mario_action_sound", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_mario_action_sound"); return 0; } u32 soundBits = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_mario_action_sound"); return 0; } u32 waveParticleType = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_mario_action_sound"); return 0; } play_mario_action_sound(m, soundBits, waveParticleType); return 1; } int smlua_func_play_mario_heavy_landing_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_mario_heavy_landing_sound", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_mario_heavy_landing_sound"); return 0; } u32 soundBits = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_mario_heavy_landing_sound"); return 0; } play_mario_heavy_landing_sound(m, soundBits); return 1; } int smlua_func_play_mario_heavy_landing_sound_once(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_mario_heavy_landing_sound_once", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_mario_heavy_landing_sound_once"); return 0; } u32 soundBits = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_mario_heavy_landing_sound_once"); return 0; } play_mario_heavy_landing_sound_once(m, soundBits); return 1; } int smlua_func_play_mario_jump_sound(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", "play_mario_jump_sound", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_mario_jump_sound"); return 0; } play_mario_jump_sound(m); return 1; } int smlua_func_play_mario_landing_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_mario_landing_sound", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_mario_landing_sound"); return 0; } u32 soundBits = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_mario_landing_sound"); return 0; } play_mario_landing_sound(m, soundBits); return 1; } int smlua_func_play_mario_landing_sound_once(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_mario_landing_sound_once", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_mario_landing_sound_once"); return 0; } u32 soundBits = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_mario_landing_sound_once"); return 0; } play_mario_landing_sound_once(m, soundBits); return 1; } int smlua_func_play_mario_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_mario_sound", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_mario_sound"); return 0; } s32 primarySoundBits = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_mario_sound"); return 0; } s32 scondarySoundBits = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_mario_sound"); return 0; } play_mario_sound(m, primarySoundBits, scondarySoundBits); return 1; } int smlua_func_play_sound_and_spawn_particles(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_sound_and_spawn_particles", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_sound_and_spawn_particles"); return 0; } u32 soundBits = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_sound_and_spawn_particles"); return 0; } u32 waveParticleType = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_sound_and_spawn_particles"); return 0; } play_sound_and_spawn_particles(m, soundBits, waveParticleType); return 1; } int smlua_func_play_sound_if_no_flag(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_sound_if_no_flag", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_sound_if_no_flag"); return 0; } u32 soundBits = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_sound_if_no_flag"); return 0; } u32 flags = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_sound_if_no_flag"); return 0; } play_sound_if_no_flag(m, soundBits, flags); return 1; } int smlua_func_resolve_and_return_wall_collisions(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "resolve_and_return_wall_collisions", 3, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "resolve_and_return_wall_collisions"); return 0; } f32 offset = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "resolve_and_return_wall_collisions"); return 0; } f32 radius = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "resolve_and_return_wall_collisions"); return 0; } smlua_push_object(L, LOT_SURFACE, resolve_and_return_wall_collisions(pos, offset, radius)); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); return 1; } int smlua_func_resolve_and_return_wall_collisions_data(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "resolve_and_return_wall_collisions_data", 4, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "resolve_and_return_wall_collisions_data"); return 0; } f32 offset = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "resolve_and_return_wall_collisions_data"); return 0; } f32 radius = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "resolve_and_return_wall_collisions_data"); return 0; } struct WallCollisionData* collisionData = (struct WallCollisionData*)smlua_to_cobject(L, 4, LOT_WALLCOLLISIONDATA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "resolve_and_return_wall_collisions_data"); return 0; } resolve_and_return_wall_collisions_data(pos, offset, radius, collisionData); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); return 1; } int smlua_func_return_mario_anim_y_translation(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", "return_mario_anim_y_translation", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "return_mario_anim_y_translation"); return 0; } lua_pushinteger(L, return_mario_anim_y_translation(m)); return 1; } int smlua_func_set_anim_to_frame(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_anim_to_frame", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_anim_to_frame"); return 0; } s16 animFrame = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_anim_to_frame"); return 0; } set_anim_to_frame(m, animFrame); return 1; } int smlua_func_set_jump_from_landing(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", "set_jump_from_landing", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_jump_from_landing"); return 0; } lua_pushinteger(L, set_jump_from_landing(m)); return 1; } int smlua_func_set_jumping_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_jumping_action", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_jumping_action"); return 0; } u32 action = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_jumping_action"); return 0; } u32 actionArg = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_jumping_action"); return 0; } lua_pushinteger(L, set_jumping_action(m, action, actionArg)); return 1; } int smlua_func_set_mario_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_mario_action", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_mario_action"); return 0; } u32 action = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_mario_action"); return 0; } u32 actionArg = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_mario_action"); return 0; } lua_pushinteger(L, set_mario_action(m, action, actionArg)); return 1; } int smlua_func_set_mario_anim_with_accel(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_mario_anim_with_accel", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_mario_anim_with_accel"); return 0; } s32 targetAnimID = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_mario_anim_with_accel"); return 0; } s32 accel = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_mario_anim_with_accel"); return 0; } lua_pushinteger(L, set_mario_anim_with_accel(m, targetAnimID, accel)); return 1; } int smlua_func_set_mario_animation(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_mario_animation", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_mario_animation"); return 0; } s32 targetAnimID = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_mario_animation"); return 0; } lua_pushinteger(L, set_mario_animation(m, targetAnimID)); return 1; } int smlua_func_set_mario_particle_flags(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_mario_particle_flags", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_mario_particle_flags"); return 0; } u32 flags = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_mario_particle_flags"); return 0; } u8 clear = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_mario_particle_flags"); return 0; } set_mario_particle_flags(m, flags, clear); return 1; } int smlua_func_set_mario_y_vel_based_on_fspeed(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_mario_y_vel_based_on_fspeed", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_mario_y_vel_based_on_fspeed"); return 0; } f32 initialVelY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_mario_y_vel_based_on_fspeed"); return 0; } f32 multiplier = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_mario_y_vel_based_on_fspeed"); return 0; } set_mario_y_vel_based_on_fspeed(m, initialVelY, multiplier); return 1; } int smlua_func_set_steep_jump_action(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", "set_steep_jump_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_steep_jump_action"); return 0; } set_steep_jump_action(m); return 1; } int smlua_func_set_water_plunge_action(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", "set_water_plunge_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_water_plunge_action"); return 0; } lua_pushinteger(L, set_water_plunge_action(m)); return 1; } int smlua_func_transition_submerged_to_walking(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", "transition_submerged_to_walking", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "transition_submerged_to_walking"); return 0; } lua_pushinteger(L, transition_submerged_to_walking(m)); return 1; } int smlua_func_update_mario_pos_for_anim(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", "update_mario_pos_for_anim", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_mario_pos_for_anim"); return 0; } update_mario_pos_for_anim(m); return 1; } int smlua_func_update_mario_sound_and_camera(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", "update_mario_sound_and_camera", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_mario_sound_and_camera"); return 0; } update_mario_sound_and_camera(m); return 1; } /* int smlua_func_vec3f_find_ceil(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_find_ceil", 3, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_find_ceil"); return 0; } f32 height = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_find_ceil"); return 0; } // struct Surface** ceil = (struct Surface**)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3f_find_ceil"); return 0; } lua_pushnumber(L, vec3f_find_ceil(pos, height, ceil)); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); return 1; } */ /* int smlua_func_vec3f_mario_ceil(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_mario_ceil", 3, top); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(1, "x"); pos[1] = smlua_get_number_field(1, "y"); pos[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_mario_ceil"); return 0; } f32 height = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_mario_ceil"); return 0; } // struct Surface** ceil = (struct Surface**)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3f_mario_ceil"); return 0; } lua_pushnumber(L, vec3f_mario_ceil(pos, height, ceil)); smlua_push_number_field(1, "x", pos[0]); smlua_push_number_field(1, "y", pos[1]); smlua_push_number_field(1, "z", pos[2]); return 1; } */ ////////////////////////////// // mario_actions_airborne.c // ////////////////////////////// int smlua_func_check_common_airborne_cancels(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", "check_common_airborne_cancels", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_common_airborne_cancels"); return 0; } extern s32 check_common_airborne_cancels(struct MarioState *m); lua_pushinteger(L, check_common_airborne_cancels(m)); return 1; } int smlua_func_check_fall_damage(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "check_fall_damage", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_fall_damage"); return 0; } u32 hardFallAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "check_fall_damage"); return 0; } extern s32 check_fall_damage(struct MarioState *m, u32 hardFallAction); lua_pushinteger(L, check_fall_damage(m, hardFallAction)); return 1; } int smlua_func_check_fall_damage_or_get_stuck(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "check_fall_damage_or_get_stuck", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_fall_damage_or_get_stuck"); return 0; } u32 hardFallAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "check_fall_damage_or_get_stuck"); return 0; } extern s32 check_fall_damage_or_get_stuck(struct MarioState *m, u32 hardFallAction); lua_pushinteger(L, check_fall_damage_or_get_stuck(m, hardFallAction)); return 1; } int smlua_func_check_horizontal_wind(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", "check_horizontal_wind", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_horizontal_wind"); return 0; } extern s32 check_horizontal_wind(struct MarioState *m); lua_pushinteger(L, check_horizontal_wind(m)); return 1; } int smlua_func_check_kick_or_dive_in_air(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", "check_kick_or_dive_in_air", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_kick_or_dive_in_air"); return 0; } extern s32 check_kick_or_dive_in_air(struct MarioState *m); lua_pushinteger(L, check_kick_or_dive_in_air(m)); return 1; } int smlua_func_check_wall_kick(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", "check_wall_kick", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_wall_kick"); return 0; } extern s32 check_wall_kick(struct MarioState *m); lua_pushinteger(L, check_wall_kick(m)); return 1; } int smlua_func_common_air_action_step(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "common_air_action_step", 4, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "common_air_action_step"); return 0; } u32 landAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "common_air_action_step"); return 0; } s32 animation = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "common_air_action_step"); return 0; } u32 stepArg = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "common_air_action_step"); return 0; } extern u32 common_air_action_step(struct MarioState *m, u32 landAction, s32 animation, u32 stepArg); lua_pushinteger(L, common_air_action_step(m, landAction, animation, stepArg)); return 1; } int smlua_func_common_air_knockback_step(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "common_air_knockback_step", 5, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "common_air_knockback_step"); return 0; } u32 landAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "common_air_knockback_step"); return 0; } u32 hardFallAction = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "common_air_knockback_step"); return 0; } s32 animation = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "common_air_knockback_step"); return 0; } f32 speed = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "common_air_knockback_step"); return 0; } extern u32 common_air_knockback_step(struct MarioState *m, u32 landAction, u32 hardFallAction, s32 animation, f32 speed); lua_pushinteger(L, common_air_knockback_step(m, landAction, hardFallAction, animation, speed)); return 1; } int smlua_func_lava_boost_on_wall(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", "lava_boost_on_wall", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "lava_boost_on_wall"); return 0; } extern s32 lava_boost_on_wall(struct MarioState *m); lua_pushinteger(L, lava_boost_on_wall(m)); return 1; } int smlua_func_mario_execute_airborne_action(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", "mario_execute_airborne_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_execute_airborne_action"); return 0; } extern s32 mario_execute_airborne_action(struct MarioState *m); lua_pushinteger(L, mario_execute_airborne_action(m)); return 1; } int smlua_func_play_far_fall_sound(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", "play_far_fall_sound", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_far_fall_sound"); return 0; } extern void play_far_fall_sound(struct MarioState *m); play_far_fall_sound(m); return 1; } int smlua_func_play_flip_sounds(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_flip_sounds", 4, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_flip_sounds"); return 0; } s16 frame1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_flip_sounds"); return 0; } s16 frame2 = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_flip_sounds"); return 0; } s16 frame3 = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "play_flip_sounds"); return 0; } extern void play_flip_sounds(struct MarioState *m, s16 frame1, s16 frame2, s16 frame3); play_flip_sounds(m, frame1, frame2, frame3); return 1; } #ifndef VERSION_JP int smlua_func_play_knockback_sound(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", "play_knockback_sound", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_knockback_sound"); return 0; } extern void play_knockback_sound(struct MarioState *m); play_knockback_sound(m); return 1; } #endif int smlua_func_should_get_stuck_in_ground(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", "should_get_stuck_in_ground", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "should_get_stuck_in_ground"); return 0; } extern s32 should_get_stuck_in_ground(struct MarioState *m); lua_pushinteger(L, should_get_stuck_in_ground(m)); return 1; } int smlua_func_update_air_with_turn(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", "update_air_with_turn", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_air_with_turn"); return 0; } extern void update_air_with_turn(struct MarioState *m); update_air_with_turn(m); return 1; } int smlua_func_update_air_without_turn(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", "update_air_without_turn", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_air_without_turn"); return 0; } extern void update_air_without_turn(struct MarioState *m); update_air_without_turn(m); return 1; } int smlua_func_update_flying(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", "update_flying", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_flying"); return 0; } extern void update_flying(struct MarioState *m); update_flying(m); return 1; } int smlua_func_update_flying_pitch(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", "update_flying_pitch", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_flying_pitch"); return 0; } extern void update_flying_pitch(struct MarioState *m); update_flying_pitch(m); return 1; } int smlua_func_update_flying_yaw(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", "update_flying_yaw", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_flying_yaw"); return 0; } extern void update_flying_yaw(struct MarioState *m); update_flying_yaw(m); return 1; } int smlua_func_update_lava_boost_or_twirling(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", "update_lava_boost_or_twirling", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_lava_boost_or_twirling"); return 0; } extern void update_lava_boost_or_twirling(struct MarioState *m); update_lava_boost_or_twirling(m); return 1; } /////////////////////////////// // mario_actions_automatic.c // /////////////////////////////// int smlua_func_add_tree_leaf_particles(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", "add_tree_leaf_particles", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "add_tree_leaf_particles"); return 0; } extern void add_tree_leaf_particles(struct MarioState *m); add_tree_leaf_particles(m); return 1; } int smlua_func_check_common_automatic_cancels(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", "check_common_automatic_cancels", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_common_automatic_cancels"); return 0; } extern s32 check_common_automatic_cancels(struct MarioState *m); lua_pushinteger(L, check_common_automatic_cancels(m)); return 1; } int smlua_func_climb_up_ledge(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", "climb_up_ledge", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "climb_up_ledge"); return 0; } extern void climb_up_ledge(struct MarioState *m); climb_up_ledge(m); return 1; } int smlua_func_let_go_of_ledge(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", "let_go_of_ledge", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "let_go_of_ledge"); return 0; } extern s32 let_go_of_ledge(struct MarioState *m); lua_pushinteger(L, let_go_of_ledge(m)); return 1; } int smlua_func_mario_execute_automatic_action(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", "mario_execute_automatic_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_execute_automatic_action"); return 0; } extern s32 mario_execute_automatic_action(struct MarioState *m); lua_pushinteger(L, mario_execute_automatic_action(m)); return 1; } int smlua_func_perform_hanging_step(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "perform_hanging_step", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "perform_hanging_step"); return 0; } f32* nextPos = smlua_get_vec3f_from_buffer(); nextPos[0] = smlua_get_number_field(2, "x"); nextPos[1] = smlua_get_number_field(2, "y"); nextPos[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "perform_hanging_step"); return 0; } extern s32 perform_hanging_step(struct MarioState *m, Vec3f nextPos); lua_pushinteger(L, perform_hanging_step(m, nextPos)); smlua_push_number_field(2, "x", nextPos[0]); smlua_push_number_field(2, "y", nextPos[1]); smlua_push_number_field(2, "z", nextPos[2]); return 1; } int smlua_func_play_climbing_sounds(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_climbing_sounds", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_climbing_sounds"); return 0; } s32 b = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_climbing_sounds"); return 0; } extern void play_climbing_sounds(struct MarioState *m, s32 b); play_climbing_sounds(m, b); return 1; } int smlua_func_set_pole_position(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_pole_position", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_pole_position"); return 0; } f32 offsetY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_pole_position"); return 0; } extern s32 set_pole_position(struct MarioState *m, f32 offsetY); lua_pushinteger(L, set_pole_position(m, offsetY)); return 1; } int smlua_func_update_hang_moving(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", "update_hang_moving", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_hang_moving"); return 0; } extern s32 update_hang_moving(struct MarioState *m); lua_pushinteger(L, update_hang_moving(m)); return 1; } int smlua_func_update_hang_stationary(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", "update_hang_stationary", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_hang_stationary"); return 0; } extern void update_hang_stationary(struct MarioState *m); update_hang_stationary(m); return 1; } int smlua_func_update_ledge_climb(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "update_ledge_climb", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_ledge_climb"); return 0; } s32 animation = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "update_ledge_climb"); return 0; } u32 endAction = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "update_ledge_climb"); return 0; } extern void update_ledge_climb(struct MarioState *m, s32 animation, u32 endAction); update_ledge_climb(m, animation, endAction); return 1; } int smlua_func_update_ledge_climb_camera(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", "update_ledge_climb_camera", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_ledge_climb_camera"); return 0; } extern void update_ledge_climb_camera(struct MarioState *m); update_ledge_climb_camera(m); return 1; } ////////////////////////////// // mario_actions_cutscene.c // ////////////////////////////// int smlua_func_bhv_end_peach_loop(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", "bhv_end_peach_loop", 0, top); return 0; } extern void bhv_end_peach_loop(void); bhv_end_peach_loop(); return 1; } int smlua_func_bhv_end_toad_loop(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", "bhv_end_toad_loop", 0, top); return 0; } extern void bhv_end_toad_loop(void); bhv_end_toad_loop(); return 1; } int smlua_func_common_death_handler(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "common_death_handler", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "common_death_handler"); return 0; } s32 animation = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "common_death_handler"); return 0; } s32 frameToDeathWarp = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "common_death_handler"); return 0; } extern s32 common_death_handler(struct MarioState *m, s32 animation, s32 frameToDeathWarp); lua_pushinteger(L, common_death_handler(m, animation, frameToDeathWarp)); return 1; } int smlua_func_cutscene_put_cap_on(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", "cutscene_put_cap_on", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cutscene_put_cap_on"); return 0; } extern void cutscene_put_cap_on(struct MarioState *m); cutscene_put_cap_on(m); return 1; } int smlua_func_cutscene_take_cap_off(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", "cutscene_take_cap_off", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cutscene_take_cap_off"); return 0; } extern void cutscene_take_cap_off(struct MarioState *m); cutscene_take_cap_off(m); return 1; } int smlua_func_general_star_dance_handler(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "general_star_dance_handler", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "general_star_dance_handler"); return 0; } s32 isInWater = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "general_star_dance_handler"); return 0; } extern void general_star_dance_handler(struct MarioState *m, s32 isInWater); general_star_dance_handler(m, isInWater); return 1; } int smlua_func_generate_yellow_sparkles(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "generate_yellow_sparkles", 4, top); return 0; } s16 x = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "generate_yellow_sparkles"); return 0; } s16 y = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "generate_yellow_sparkles"); return 0; } s16 z = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "generate_yellow_sparkles"); return 0; } f32 radius = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "generate_yellow_sparkles"); return 0; } extern void generate_yellow_sparkles(s16 x, s16 y, s16 z, f32 radius); generate_yellow_sparkles(x, y, z, radius); return 1; } int smlua_func_get_credits_str_width(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", "get_credits_str_width", 1, top); return 0; } char * str = (char *)smlua_to_cpointer(L, 1, LVT_STRING_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_credits_str_width"); return 0; } extern s32 get_credits_str_width(char *str); lua_pushinteger(L, get_credits_str_width(str)); return 1; } int smlua_func_get_star_collection_dialog(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", "get_star_collection_dialog", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_star_collection_dialog"); return 0; } extern s32 get_star_collection_dialog(struct MarioState *m); lua_pushinteger(L, get_star_collection_dialog(m)); return 1; } int smlua_func_handle_save_menu(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", "handle_save_menu", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "handle_save_menu"); return 0; } extern void handle_save_menu(struct MarioState *m); handle_save_menu(m); return 1; } int smlua_func_launch_mario_until_land(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "launch_mario_until_land", 4, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "launch_mario_until_land"); return 0; } s32 endAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "launch_mario_until_land"); return 0; } s32 animation = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "launch_mario_until_land"); return 0; } f32 forwardVel = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "launch_mario_until_land"); return 0; } extern s32 launch_mario_until_land(struct MarioState *m, s32 endAction, s32 animation, f32 forwardVel); lua_pushinteger(L, launch_mario_until_land(m, endAction, animation, forwardVel)); return 1; } int smlua_func_mario_execute_cutscene_action(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", "mario_execute_cutscene_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_execute_cutscene_action"); return 0; } extern s32 mario_execute_cutscene_action(struct MarioState *m); lua_pushinteger(L, mario_execute_cutscene_action(m)); return 1; } int smlua_func_mario_ready_to_speak(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", "mario_ready_to_speak", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_ready_to_speak"); return 0; } extern s32 mario_ready_to_speak(struct MarioState* m); lua_pushinteger(L, mario_ready_to_speak(m)); return 1; } int smlua_func_print_displaying_credits_entry(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", "print_displaying_credits_entry", 0, top); return 0; } extern void print_displaying_credits_entry(void); print_displaying_credits_entry(); return 1; } int smlua_func_should_start_or_continue_dialog(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "should_start_or_continue_dialog", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "should_start_or_continue_dialog"); return 0; } struct Object* object = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "should_start_or_continue_dialog"); return 0; } extern u8 should_start_or_continue_dialog(struct MarioState* m, struct Object* object); lua_pushinteger(L, should_start_or_continue_dialog(m, object)); return 1; } int smlua_func_stuck_in_ground_handler(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "stuck_in_ground_handler", 6, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "stuck_in_ground_handler"); return 0; } s32 animation = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "stuck_in_ground_handler"); return 0; } s32 unstuckFrame = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "stuck_in_ground_handler"); return 0; } s32 target2 = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "stuck_in_ground_handler"); return 0; } s32 target3 = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "stuck_in_ground_handler"); return 0; } s32 endAction = smlua_to_integer(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "stuck_in_ground_handler"); return 0; } extern void stuck_in_ground_handler(struct MarioState *m, s32 animation, s32 unstuckFrame, s32 target2, s32 target3, s32 endAction); stuck_in_ground_handler(m, animation, unstuckFrame, target2, target3, endAction); return 1; } //////////////////////////// // mario_actions_moving.c // //////////////////////////// int smlua_func_align_with_floor(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", "align_with_floor", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "align_with_floor"); return 0; } extern void align_with_floor(struct MarioState *m); align_with_floor(m); return 1; } int smlua_func_analog_stick_held_back(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", "analog_stick_held_back", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "analog_stick_held_back"); return 0; } extern s32 analog_stick_held_back(struct MarioState *m); lua_pushinteger(L, analog_stick_held_back(m)); return 1; } int smlua_func_anim_and_audio_for_heavy_walk(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", "anim_and_audio_for_heavy_walk", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "anim_and_audio_for_heavy_walk"); return 0; } extern void anim_and_audio_for_heavy_walk(struct MarioState *m); anim_and_audio_for_heavy_walk(m); return 1; } int smlua_func_anim_and_audio_for_hold_walk(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", "anim_and_audio_for_hold_walk", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "anim_and_audio_for_hold_walk"); return 0; } extern void anim_and_audio_for_hold_walk(struct MarioState *m); anim_and_audio_for_hold_walk(m); return 1; } int smlua_func_anim_and_audio_for_walk(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", "anim_and_audio_for_walk", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "anim_and_audio_for_walk"); return 0; } extern void anim_and_audio_for_walk(struct MarioState *m); anim_and_audio_for_walk(m); return 1; } int smlua_func_apply_landing_accel(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "apply_landing_accel", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "apply_landing_accel"); return 0; } f32 frictionFactor = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "apply_landing_accel"); return 0; } extern s32 apply_landing_accel(struct MarioState *m, f32 frictionFactor); lua_pushinteger(L, apply_landing_accel(m, frictionFactor)); return 1; } int smlua_func_apply_slope_accel(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", "apply_slope_accel", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "apply_slope_accel"); return 0; } extern void apply_slope_accel(struct MarioState *m); apply_slope_accel(m); return 1; } int smlua_func_apply_slope_decel(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "apply_slope_decel", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "apply_slope_decel"); return 0; } f32 decelCoef = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "apply_slope_decel"); return 0; } extern s32 apply_slope_decel(struct MarioState *m, f32 decelCoef); lua_pushinteger(L, apply_slope_decel(m, decelCoef)); return 1; } int smlua_func_begin_braking_action(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", "begin_braking_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "begin_braking_action"); return 0; } extern s32 begin_braking_action(struct MarioState *m); lua_pushinteger(L, begin_braking_action(m)); return 1; } int smlua_func_begin_walking_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "begin_walking_action", 4, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "begin_walking_action"); return 0; } f32 forwardVel = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "begin_walking_action"); return 0; } u32 action = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "begin_walking_action"); return 0; } u32 actionArg = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "begin_walking_action"); return 0; } extern s32 begin_walking_action(struct MarioState *m, f32 forwardVel, u32 action, u32 actionArg); lua_pushinteger(L, begin_walking_action(m, forwardVel, action, actionArg)); return 1; } int smlua_func_check_common_moving_cancels(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", "check_common_moving_cancels", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_common_moving_cancels"); return 0; } extern s32 check_common_moving_cancels(struct MarioState *m); lua_pushinteger(L, check_common_moving_cancels(m)); return 1; } int smlua_func_check_ground_dive_or_punch(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", "check_ground_dive_or_punch", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_ground_dive_or_punch"); return 0; } extern s32 check_ground_dive_or_punch(struct MarioState *m); lua_pushinteger(L, check_ground_dive_or_punch(m)); return 1; } int smlua_func_check_ledge_climb_down(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", "check_ledge_climb_down", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_ledge_climb_down"); return 0; } extern void check_ledge_climb_down(struct MarioState *m); check_ledge_climb_down(m); return 1; } int smlua_func_common_ground_knockback_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "common_ground_knockback_action", 5, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "common_ground_knockback_action"); return 0; } s32 animation = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "common_ground_knockback_action"); return 0; } s32 arg2 = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "common_ground_knockback_action"); return 0; } s32 arg3 = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "common_ground_knockback_action"); return 0; } s32 arg4 = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "common_ground_knockback_action"); return 0; } extern s32 common_ground_knockback_action(struct MarioState *m, s32 animation, s32 arg2, s32 arg3, s32 arg4); lua_pushinteger(L, common_ground_knockback_action(m, animation, arg2, arg3, arg4)); return 1; } int smlua_func_common_landing_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "common_landing_action", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "common_landing_action"); return 0; } s16 animation = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "common_landing_action"); return 0; } u32 airAction = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "common_landing_action"); return 0; } extern u32 common_landing_action(struct MarioState *m, s16 animation, u32 airAction); lua_pushinteger(L, common_landing_action(m, animation, airAction)); return 1; } /* int smlua_func_common_landing_cancels(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "common_landing_cancels", 5, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "common_landing_cancels"); return 0; } struct LandingAction* landingAction = (struct LandingAction*)smlua_to_cobject(L, 2, LOT_LANDINGACTION); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "common_landing_cancels"); return 0; } // s32 (*setAPressAction)(structMarioState* arg2 = (s32 (*setAPressAction)(structMarioState*)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "common_landing_cancels"); return 0; } u32 arg3 = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "common_landing_cancels"); return 0; } // u32) arg4 = (u32))smlua_to_cobject(L, 5, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "common_landing_cancels"); return 0; } extern s32 common_landing_cancels(struct MarioState *m, struct LandingAction *landingAction, s32 (*setAPressAction)(struct MarioState *, u32, u32)); lua_pushinteger(L, common_landing_cancels(m, landingAction, arg2, arg3, arg4)); return 1; } */ int smlua_func_common_slide_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "common_slide_action", 4, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "common_slide_action"); return 0; } u32 endAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "common_slide_action"); return 0; } u32 airAction = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "common_slide_action"); return 0; } s32 animation = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "common_slide_action"); return 0; } extern void common_slide_action(struct MarioState *m, u32 endAction, u32 airAction, s32 animation); common_slide_action(m, endAction, airAction, animation); return 1; } int smlua_func_common_slide_action_with_jump(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "common_slide_action_with_jump", 5, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "common_slide_action_with_jump"); return 0; } u32 stopAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "common_slide_action_with_jump"); return 0; } u32 jumpAction = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "common_slide_action_with_jump"); return 0; } u32 airAction = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "common_slide_action_with_jump"); return 0; } s32 animation = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "common_slide_action_with_jump"); return 0; } extern s32 common_slide_action_with_jump(struct MarioState *m, u32 stopAction, u32 jumpAction, u32 airAction, s32 animation); lua_pushinteger(L, common_slide_action_with_jump(m, stopAction, jumpAction, airAction, animation)); return 1; } int smlua_func_mario_execute_moving_action(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", "mario_execute_moving_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_execute_moving_action"); return 0; } extern s32 mario_execute_moving_action(struct MarioState *m); lua_pushinteger(L, mario_execute_moving_action(m)); return 1; } int smlua_func_play_step_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_step_sound", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_step_sound"); return 0; } s16 frame1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_step_sound"); return 0; } s16 frame2 = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_step_sound"); return 0; } extern void play_step_sound(struct MarioState *m, s16 frame1, s16 frame2); play_step_sound(m, frame1, frame2); return 1; } int smlua_func_push_or_sidle_wall(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "push_or_sidle_wall", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "push_or_sidle_wall"); return 0; } f32* startPos = smlua_get_vec3f_from_buffer(); startPos[0] = smlua_get_number_field(2, "x"); startPos[1] = smlua_get_number_field(2, "y"); startPos[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "push_or_sidle_wall"); return 0; } extern void push_or_sidle_wall(struct MarioState *m, Vec3f startPos); push_or_sidle_wall(m, startPos); smlua_push_number_field(2, "x", startPos[0]); smlua_push_number_field(2, "y", startPos[1]); smlua_push_number_field(2, "z", startPos[2]); return 1; } int smlua_func_quicksand_jump_land_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "quicksand_jump_land_action", 5, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "quicksand_jump_land_action"); return 0; } s32 animation1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "quicksand_jump_land_action"); return 0; } s32 animation2 = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "quicksand_jump_land_action"); return 0; } u32 endAction = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "quicksand_jump_land_action"); return 0; } u32 airAction = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "quicksand_jump_land_action"); return 0; } extern s32 quicksand_jump_land_action(struct MarioState *m, s32 animation1, s32 animation2, u32 endAction, u32 airAction); lua_pushinteger(L, quicksand_jump_land_action(m, animation1, animation2, endAction, airAction)); return 1; } int smlua_func_set_triple_jump_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_triple_jump_action", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_triple_jump_action"); return 0; } u32 action = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_triple_jump_action"); return 0; } u32 actionArg = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_triple_jump_action"); return 0; } extern s32 set_triple_jump_action(struct MarioState *m, UNUSED u32 action, UNUSED u32 actionArg); lua_pushinteger(L, set_triple_jump_action(m, action, actionArg)); return 1; } int smlua_func_should_begin_sliding(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", "should_begin_sliding", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "should_begin_sliding"); return 0; } extern s32 should_begin_sliding(struct MarioState *m); lua_pushinteger(L, should_begin_sliding(m)); return 1; } int smlua_func_slide_bonk(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "slide_bonk", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "slide_bonk"); return 0; } u32 fastAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "slide_bonk"); return 0; } u32 slowAction = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "slide_bonk"); return 0; } extern void slide_bonk(struct MarioState *m, u32 fastAction, u32 slowAction); slide_bonk(m, fastAction, slowAction); return 1; } int smlua_func_stomach_slide_action(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "stomach_slide_action", 4, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "stomach_slide_action"); return 0; } u32 stopAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "stomach_slide_action"); return 0; } u32 airAction = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "stomach_slide_action"); return 0; } s32 animation = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "stomach_slide_action"); return 0; } extern s32 stomach_slide_action(struct MarioState *m, u32 stopAction, u32 airAction, s32 animation); lua_pushinteger(L, stomach_slide_action(m, stopAction, airAction, animation)); return 1; } int smlua_func_tilt_body_butt_slide(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", "tilt_body_butt_slide", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "tilt_body_butt_slide"); return 0; } extern void tilt_body_butt_slide(struct MarioState *m); tilt_body_butt_slide(m); return 1; } int smlua_func_tilt_body_ground_shell(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "tilt_body_ground_shell", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "tilt_body_ground_shell"); return 0; } s16 startYaw = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "tilt_body_ground_shell"); return 0; } extern void tilt_body_ground_shell(struct MarioState *m, s16 startYaw); tilt_body_ground_shell(m, startYaw); return 1; } int smlua_func_tilt_body_running(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", "tilt_body_running", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "tilt_body_running"); return 0; } extern s16 tilt_body_running(struct MarioState *m); lua_pushinteger(L, tilt_body_running(m)); return 1; } int smlua_func_tilt_body_walking(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "tilt_body_walking", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "tilt_body_walking"); return 0; } s16 startYaw = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "tilt_body_walking"); return 0; } extern void tilt_body_walking(struct MarioState *m, s16 startYaw); tilt_body_walking(m, startYaw); return 1; } int smlua_func_update_decelerating_speed(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", "update_decelerating_speed", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_decelerating_speed"); return 0; } extern s32 update_decelerating_speed(struct MarioState *m); lua_pushinteger(L, update_decelerating_speed(m)); return 1; } int smlua_func_update_shell_speed(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", "update_shell_speed", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_shell_speed"); return 0; } extern void update_shell_speed(struct MarioState *m); update_shell_speed(m); return 1; } int smlua_func_update_sliding(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "update_sliding", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_sliding"); return 0; } f32 stopSpeed = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "update_sliding"); return 0; } extern s32 update_sliding(struct MarioState *m, f32 stopSpeed); lua_pushinteger(L, update_sliding(m, stopSpeed)); return 1; } int smlua_func_update_sliding_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "update_sliding_angle", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_sliding_angle"); return 0; } f32 accel = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "update_sliding_angle"); return 0; } f32 lossFactor = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "update_sliding_angle"); return 0; } extern void update_sliding_angle(struct MarioState *m, f32 accel, f32 lossFactor); update_sliding_angle(m, accel, lossFactor); return 1; } int smlua_func_update_walking_speed(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", "update_walking_speed", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "update_walking_speed"); return 0; } extern void update_walking_speed(struct MarioState *m); update_walking_speed(m); return 1; } //////////////////////////// // mario_actions_object.c // //////////////////////////// int smlua_func_animated_stationary_ground_step(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "animated_stationary_ground_step", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "animated_stationary_ground_step"); return 0; } s32 animation = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "animated_stationary_ground_step"); return 0; } u32 endAction = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "animated_stationary_ground_step"); return 0; } extern void animated_stationary_ground_step(struct MarioState *m, s32 animation, u32 endAction); animated_stationary_ground_step(m, animation, endAction); return 1; } int smlua_func_check_common_object_cancels(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", "check_common_object_cancels", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_common_object_cancels"); return 0; } extern s32 check_common_object_cancels(struct MarioState *m); lua_pushinteger(L, check_common_object_cancels(m)); return 1; } int smlua_func_mario_execute_object_action(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", "mario_execute_object_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_execute_object_action"); return 0; } extern s32 mario_execute_object_action(struct MarioState *m); lua_pushinteger(L, mario_execute_object_action(m)); return 1; } int smlua_func_mario_update_punch_sequence(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", "mario_update_punch_sequence", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_update_punch_sequence"); return 0; } extern s32 mario_update_punch_sequence(struct MarioState *m); lua_pushinteger(L, mario_update_punch_sequence(m)); return 1; } //////////////////////////////// // mario_actions_stationary.c // //////////////////////////////// int smlua_func_check_common_hold_idle_cancels(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", "check_common_hold_idle_cancels", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_common_hold_idle_cancels"); return 0; } extern s32 check_common_hold_idle_cancels(struct MarioState *m); lua_pushinteger(L, check_common_hold_idle_cancels(m)); return 1; } int smlua_func_check_common_idle_cancels(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", "check_common_idle_cancels", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_common_idle_cancels"); return 0; } extern s32 check_common_idle_cancels(struct MarioState *m); lua_pushinteger(L, check_common_idle_cancels(m)); return 1; } int smlua_func_check_common_landing_cancels(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "check_common_landing_cancels", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_common_landing_cancels"); return 0; } u32 action = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "check_common_landing_cancels"); return 0; } extern s32 check_common_landing_cancels(struct MarioState *m, u32 action); lua_pushinteger(L, check_common_landing_cancels(m, action)); return 1; } int smlua_func_check_common_stationary_cancels(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", "check_common_stationary_cancels", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "check_common_stationary_cancels"); return 0; } extern s32 check_common_stationary_cancels(struct MarioState *m); lua_pushinteger(L, check_common_stationary_cancels(m)); return 1; } int smlua_func_landing_step(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "landing_step", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "landing_step"); return 0; } s32 arg1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "landing_step"); return 0; } u32 action = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "landing_step"); return 0; } extern s32 landing_step(struct MarioState *m, s32 arg1, u32 action); lua_pushinteger(L, landing_step(m, arg1, action)); return 1; } int smlua_func_mario_execute_stationary_action(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", "mario_execute_stationary_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_execute_stationary_action"); return 0; } extern s32 mario_execute_stationary_action(struct MarioState *m); lua_pushinteger(L, mario_execute_stationary_action(m)); return 1; } int smlua_func_play_anim_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_anim_sound", 4, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_anim_sound"); return 0; } u32 actionState = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_anim_sound"); return 0; } s32 animFrame = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_anim_sound"); return 0; } u32 sound = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "play_anim_sound"); return 0; } extern void play_anim_sound(struct MarioState *m, u32 actionState, s32 animFrame, u32 sound); play_anim_sound(m, actionState, animFrame, sound); return 1; } int smlua_func_stopping_step(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "stopping_step", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "stopping_step"); return 0; } s32 animID = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "stopping_step"); return 0; } u32 action = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "stopping_step"); return 0; } extern void stopping_step(struct MarioState *m, s32 animID, u32 action); stopping_step(m, animID, action); return 1; } /////////////////////////////// // mario_actions_submerged.c // /////////////////////////////// int smlua_func_apply_water_current(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "apply_water_current", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "apply_water_current"); return 0; } f32* step = smlua_get_vec3f_from_buffer(); step[0] = smlua_get_number_field(2, "x"); step[1] = smlua_get_number_field(2, "y"); step[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "apply_water_current"); return 0; } extern void apply_water_current(struct MarioState *m, Vec3f step); apply_water_current(m, step); smlua_push_number_field(2, "x", step[0]); smlua_push_number_field(2, "y", step[1]); smlua_push_number_field(2, "z", step[2]); return 1; } int smlua_func_float_surface_gfx(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", "float_surface_gfx", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "float_surface_gfx"); return 0; } extern void float_surface_gfx(struct MarioState *m); float_surface_gfx(m); return 1; } int smlua_func_mario_execute_submerged_action(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", "mario_execute_submerged_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_execute_submerged_action"); return 0; } extern s32 mario_execute_submerged_action(struct MarioState *m); lua_pushinteger(L, mario_execute_submerged_action(m)); return 1; } int smlua_func_perform_water_full_step(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "perform_water_full_step", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "perform_water_full_step"); return 0; } f32* nextPos = smlua_get_vec3f_from_buffer(); nextPos[0] = smlua_get_number_field(2, "x"); nextPos[1] = smlua_get_number_field(2, "y"); nextPos[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "perform_water_full_step"); return 0; } extern u32 perform_water_full_step(struct MarioState *m, Vec3f nextPos); lua_pushinteger(L, perform_water_full_step(m, nextPos)); smlua_push_number_field(2, "x", nextPos[0]); smlua_push_number_field(2, "y", nextPos[1]); smlua_push_number_field(2, "z", nextPos[2]); return 1; } int smlua_func_perform_water_step(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", "perform_water_step", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "perform_water_step"); return 0; } extern u32 perform_water_step(struct MarioState *m); lua_pushinteger(L, perform_water_step(m)); return 1; } int smlua_func_set_swimming_at_surface_particles(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_swimming_at_surface_particles", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_swimming_at_surface_particles"); return 0; } u32 particleFlag = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_swimming_at_surface_particles"); return 0; } extern void set_swimming_at_surface_particles(struct MarioState *m, u32 particleFlag); set_swimming_at_surface_particles(m, particleFlag); return 1; } ////////////////// // mario_misc.h // ////////////////// int smlua_func_bhv_toad_message_init(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", "bhv_toad_message_init", 0, top); return 0; } bhv_toad_message_init(); return 1; } int smlua_func_bhv_toad_message_loop(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", "bhv_toad_message_loop", 0, top); return 0; } bhv_toad_message_loop(); return 1; } int smlua_func_bhv_unlock_door_star_init(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", "bhv_unlock_door_star_init", 0, top); return 0; } bhv_unlock_door_star_init(); return 1; } int smlua_func_bhv_unlock_door_star_loop(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", "bhv_unlock_door_star_loop", 0, top); return 0; } bhv_unlock_door_star_loop(); return 1; } ////////////////// // mario_step.h // ////////////////// int smlua_func_get_additive_y_vel_for_jumps(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", "get_additive_y_vel_for_jumps", 0, top); return 0; } lua_pushnumber(L, get_additive_y_vel_for_jumps()); return 1; } int smlua_func_init_bully_collision_data(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 7) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "init_bully_collision_data", 7, top); return 0; } struct BullyCollisionData* data = (struct BullyCollisionData*)smlua_to_cobject(L, 1, LOT_BULLYCOLLISIONDATA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "init_bully_collision_data"); return 0; } f32 posX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "init_bully_collision_data"); return 0; } f32 posZ = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "init_bully_collision_data"); return 0; } f32 forwardVel = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "init_bully_collision_data"); return 0; } s16 yaw = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "init_bully_collision_data"); return 0; } f32 conversionRatio = smlua_to_number(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "init_bully_collision_data"); return 0; } f32 radius = smlua_to_number(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "init_bully_collision_data"); return 0; } init_bully_collision_data(data, posX, posZ, forwardVel, yaw, conversionRatio, radius); return 1; } int smlua_func_mario_bonk_reflection(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_bonk_reflection", 2, top); return 0; } struct MarioState* arg0 = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_bonk_reflection"); return 0; } u32 arg1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_bonk_reflection"); return 0; } mario_bonk_reflection(arg0, arg1); return 1; } int smlua_func_mario_push_off_steep_floor(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_push_off_steep_floor", 3, top); return 0; } struct MarioState* arg0 = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_push_off_steep_floor"); return 0; } u32 arg1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_push_off_steep_floor"); return 0; } u32 arg2 = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mario_push_off_steep_floor"); return 0; } lua_pushinteger(L, mario_push_off_steep_floor(arg0, arg1, arg2)); return 1; } int smlua_func_mario_update_moving_sand(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", "mario_update_moving_sand", 1, top); return 0; } struct MarioState* arg0 = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_update_moving_sand"); return 0; } lua_pushinteger(L, mario_update_moving_sand(arg0)); return 1; } int smlua_func_mario_update_quicksand(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_update_quicksand", 2, top); return 0; } struct MarioState* arg0 = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_update_quicksand"); return 0; } f32 arg1 = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_update_quicksand"); return 0; } lua_pushinteger(L, mario_update_quicksand(arg0, arg1)); return 1; } int smlua_func_mario_update_windy_ground(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", "mario_update_windy_ground", 1, top); return 0; } struct MarioState* arg0 = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_update_windy_ground"); return 0; } lua_pushinteger(L, mario_update_windy_ground(arg0)); return 1; } int smlua_func_perform_air_step(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "perform_air_step", 2, top); return 0; } struct MarioState* arg0 = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "perform_air_step"); return 0; } u32 arg1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "perform_air_step"); return 0; } lua_pushinteger(L, perform_air_step(arg0, arg1)); return 1; } int smlua_func_perform_ground_step(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", "perform_ground_step", 1, top); return 0; } struct MarioState* arg0 = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "perform_ground_step"); return 0; } lua_pushinteger(L, perform_ground_step(arg0)); return 1; } int smlua_func_set_vel_from_pitch_and_yaw(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", "set_vel_from_pitch_and_yaw", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_vel_from_pitch_and_yaw"); return 0; } set_vel_from_pitch_and_yaw(m); return 1; } int smlua_func_stationary_ground_step(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", "stationary_ground_step", 1, top); return 0; } struct MarioState* arg0 = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "stationary_ground_step"); return 0; } lua_pushinteger(L, stationary_ground_step(arg0)); return 1; } int smlua_func_stop_and_set_height_to_floor(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", "stop_and_set_height_to_floor", 1, top); return 0; } struct MarioState* arg0 = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "stop_and_set_height_to_floor"); return 0; } stop_and_set_height_to_floor(arg0); return 1; } ///////////////// // math_util.h // ///////////////// int smlua_func_anim_spline_init(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "anim_spline_init", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "anim_spline_init"); return 0; } Vec4s * keyFrames = (Vec4s *)smlua_to_cpointer(L, 2, LVT_COBJECT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "anim_spline_init"); return 0; } anim_spline_init(m, keyFrames); return 1; } int smlua_func_anim_spline_poll(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "anim_spline_poll", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "anim_spline_poll"); return 0; } f32* result = smlua_get_vec3f_from_buffer(); result[0] = smlua_get_number_field(2, "x"); result[1] = smlua_get_number_field(2, "y"); result[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "anim_spline_poll"); return 0; } lua_pushinteger(L, anim_spline_poll(m, result)); smlua_push_number_field(2, "x", result[0]); smlua_push_number_field(2, "y", result[1]); smlua_push_number_field(2, "z", result[2]); return 1; } int smlua_func_approach_f32(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_f32", 4, top); return 0; } f32 current = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_f32"); return 0; } f32 target = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_f32"); return 0; } f32 inc = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_f32"); return 0; } f32 dec = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "approach_f32"); return 0; } lua_pushnumber(L, approach_f32(current, target, inc, dec)); return 1; } int smlua_func_approach_s32(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_s32", 4, top); return 0; } s32 current = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_s32"); return 0; } s32 target = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_s32"); return 0; } s32 inc = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_s32"); return 0; } s32 dec = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "approach_s32"); return 0; } lua_pushinteger(L, approach_s32(current, target, inc, dec)); return 1; } int smlua_func_find_vector_perpendicular_to_plane(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_vector_perpendicular_to_plane", 4, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_vector_perpendicular_to_plane"); return 0; } f32* a = smlua_get_vec3f_from_buffer(); a[0] = smlua_get_number_field(2, "x"); a[1] = smlua_get_number_field(2, "y"); a[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_vector_perpendicular_to_plane"); return 0; } f32* b = smlua_get_vec3f_from_buffer(); b[0] = smlua_get_number_field(3, "x"); b[1] = smlua_get_number_field(3, "y"); b[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "find_vector_perpendicular_to_plane"); return 0; } f32* c = smlua_get_vec3f_from_buffer(); c[0] = smlua_get_number_field(4, "x"); c[1] = smlua_get_number_field(4, "y"); c[2] = smlua_get_number_field(4, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "find_vector_perpendicular_to_plane"); return 0; } find_vector_perpendicular_to_plane(dest, a, b, c); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_number_field(2, "x", a[0]); smlua_push_number_field(2, "y", a[1]); smlua_push_number_field(2, "z", a[2]); smlua_push_number_field(3, "x", b[0]); smlua_push_number_field(3, "y", b[1]); smlua_push_number_field(3, "z", b[2]); smlua_push_number_field(4, "x", c[0]); smlua_push_number_field(4, "y", c[1]); smlua_push_number_field(4, "z", c[2]); return 1; } int smlua_func_get_pos_from_transform_mtx(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_pos_from_transform_mtx", 3, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_pos_from_transform_mtx"); return 0; } Mat4 objMtx; objMtx[0][0] = smlua_get_number_field(2, "a"); objMtx[0][1] = smlua_get_number_field(2, "b"); objMtx[0][2] = smlua_get_number_field(2, "c"); objMtx[0][3] = smlua_get_number_field(2, "d"); objMtx[1][0] = smlua_get_number_field(2, "e"); objMtx[1][1] = smlua_get_number_field(2, "f"); objMtx[1][2] = smlua_get_number_field(2, "g"); objMtx[1][3] = smlua_get_number_field(2, "h"); objMtx[2][0] = smlua_get_number_field(2, "i"); objMtx[2][1] = smlua_get_number_field(2, "j"); objMtx[2][2] = smlua_get_number_field(2, "k"); objMtx[2][3] = smlua_get_number_field(2, "l"); objMtx[3][0] = smlua_get_number_field(2, "m"); objMtx[3][1] = smlua_get_number_field(2, "n"); objMtx[3][2] = smlua_get_number_field(2, "o"); objMtx[3][3] = smlua_get_number_field(2, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_pos_from_transform_mtx"); return 0; } Mat4 camMtx; camMtx[0][0] = smlua_get_number_field(3, "a"); camMtx[0][1] = smlua_get_number_field(3, "b"); camMtx[0][2] = smlua_get_number_field(3, "c"); camMtx[0][3] = smlua_get_number_field(3, "d"); camMtx[1][0] = smlua_get_number_field(3, "e"); camMtx[1][1] = smlua_get_number_field(3, "f"); camMtx[1][2] = smlua_get_number_field(3, "g"); camMtx[1][3] = smlua_get_number_field(3, "h"); camMtx[2][0] = smlua_get_number_field(3, "i"); camMtx[2][1] = smlua_get_number_field(3, "j"); camMtx[2][2] = smlua_get_number_field(3, "k"); camMtx[2][3] = smlua_get_number_field(3, "l"); camMtx[3][0] = smlua_get_number_field(3, "m"); camMtx[3][1] = smlua_get_number_field(3, "n"); camMtx[3][2] = smlua_get_number_field(3, "o"); camMtx[3][3] = smlua_get_number_field(3, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "get_pos_from_transform_mtx"); return 0; } get_pos_from_transform_mtx(dest, objMtx, camMtx); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_number_field(2, "a", objMtx[0][0]); smlua_push_number_field(2, "b", objMtx[0][1]); smlua_push_number_field(2, "c", objMtx[0][2]); smlua_push_number_field(2, "d", objMtx[0][3]); smlua_push_number_field(2, "e", objMtx[1][0]); smlua_push_number_field(2, "f", objMtx[1][1]); smlua_push_number_field(2, "g", objMtx[1][2]); smlua_push_number_field(2, "h", objMtx[1][3]); smlua_push_number_field(2, "i", objMtx[2][0]); smlua_push_number_field(2, "j", objMtx[2][1]); smlua_push_number_field(2, "k", objMtx[2][2]); smlua_push_number_field(2, "l", objMtx[2][3]); smlua_push_number_field(2, "m", objMtx[3][0]); smlua_push_number_field(2, "n", objMtx[3][1]); smlua_push_number_field(2, "o", objMtx[3][2]); smlua_push_number_field(2, "p", objMtx[3][3]); smlua_push_number_field(3, "a", camMtx[0][0]); smlua_push_number_field(3, "b", camMtx[0][1]); smlua_push_number_field(3, "c", camMtx[0][2]); smlua_push_number_field(3, "d", camMtx[0][3]); smlua_push_number_field(3, "e", camMtx[1][0]); smlua_push_number_field(3, "f", camMtx[1][1]); smlua_push_number_field(3, "g", camMtx[1][2]); smlua_push_number_field(3, "h", camMtx[1][3]); smlua_push_number_field(3, "i", camMtx[2][0]); smlua_push_number_field(3, "j", camMtx[2][1]); smlua_push_number_field(3, "k", camMtx[2][2]); smlua_push_number_field(3, "l", camMtx[2][3]); smlua_push_number_field(3, "m", camMtx[3][0]); smlua_push_number_field(3, "n", camMtx[3][1]); smlua_push_number_field(3, "o", camMtx[3][2]); smlua_push_number_field(3, "p", camMtx[3][3]); return 1; } int smlua_func_mtxf_align_terrain_normal(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_align_terrain_normal", 4, top); return 0; } Mat4 dest; dest[0][0] = smlua_get_number_field(1, "a"); dest[0][1] = smlua_get_number_field(1, "b"); dest[0][2] = smlua_get_number_field(1, "c"); dest[0][3] = smlua_get_number_field(1, "d"); dest[1][0] = smlua_get_number_field(1, "e"); dest[1][1] = smlua_get_number_field(1, "f"); dest[1][2] = smlua_get_number_field(1, "g"); dest[1][3] = smlua_get_number_field(1, "h"); dest[2][0] = smlua_get_number_field(1, "i"); dest[2][1] = smlua_get_number_field(1, "j"); dest[2][2] = smlua_get_number_field(1, "k"); dest[2][3] = smlua_get_number_field(1, "l"); dest[3][0] = smlua_get_number_field(1, "m"); dest[3][1] = smlua_get_number_field(1, "n"); dest[3][2] = smlua_get_number_field(1, "o"); dest[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_align_terrain_normal"); return 0; } f32* upDir = smlua_get_vec3f_from_buffer(); upDir[0] = smlua_get_number_field(2, "x"); upDir[1] = smlua_get_number_field(2, "y"); upDir[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_align_terrain_normal"); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(3, "x"); pos[1] = smlua_get_number_field(3, "y"); pos[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mtxf_align_terrain_normal"); return 0; } s16 yaw = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "mtxf_align_terrain_normal"); return 0; } mtxf_align_terrain_normal(dest, upDir, pos, yaw); smlua_push_number_field(1, "a", dest[0][0]); smlua_push_number_field(1, "b", dest[0][1]); smlua_push_number_field(1, "c", dest[0][2]); smlua_push_number_field(1, "d", dest[0][3]); smlua_push_number_field(1, "e", dest[1][0]); smlua_push_number_field(1, "f", dest[1][1]); smlua_push_number_field(1, "g", dest[1][2]); smlua_push_number_field(1, "h", dest[1][3]); smlua_push_number_field(1, "i", dest[2][0]); smlua_push_number_field(1, "j", dest[2][1]); smlua_push_number_field(1, "k", dest[2][2]); smlua_push_number_field(1, "l", dest[2][3]); smlua_push_number_field(1, "m", dest[3][0]); smlua_push_number_field(1, "n", dest[3][1]); smlua_push_number_field(1, "o", dest[3][2]); smlua_push_number_field(1, "p", dest[3][3]); smlua_push_number_field(2, "x", upDir[0]); smlua_push_number_field(2, "y", upDir[1]); smlua_push_number_field(2, "z", upDir[2]); smlua_push_number_field(3, "x", pos[0]); smlua_push_number_field(3, "y", pos[1]); smlua_push_number_field(3, "z", pos[2]); return 1; } int smlua_func_mtxf_align_terrain_triangle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_align_terrain_triangle", 4, top); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(1, "a"); mtx[0][1] = smlua_get_number_field(1, "b"); mtx[0][2] = smlua_get_number_field(1, "c"); mtx[0][3] = smlua_get_number_field(1, "d"); mtx[1][0] = smlua_get_number_field(1, "e"); mtx[1][1] = smlua_get_number_field(1, "f"); mtx[1][2] = smlua_get_number_field(1, "g"); mtx[1][3] = smlua_get_number_field(1, "h"); mtx[2][0] = smlua_get_number_field(1, "i"); mtx[2][1] = smlua_get_number_field(1, "j"); mtx[2][2] = smlua_get_number_field(1, "k"); mtx[2][3] = smlua_get_number_field(1, "l"); mtx[3][0] = smlua_get_number_field(1, "m"); mtx[3][1] = smlua_get_number_field(1, "n"); mtx[3][2] = smlua_get_number_field(1, "o"); mtx[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_align_terrain_triangle"); return 0; } f32* pos = smlua_get_vec3f_from_buffer(); pos[0] = smlua_get_number_field(2, "x"); pos[1] = smlua_get_number_field(2, "y"); pos[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_align_terrain_triangle"); return 0; } s16 yaw = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mtxf_align_terrain_triangle"); return 0; } f32 radius = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "mtxf_align_terrain_triangle"); return 0; } mtxf_align_terrain_triangle(mtx, pos, yaw, radius); smlua_push_number_field(1, "a", mtx[0][0]); smlua_push_number_field(1, "b", mtx[0][1]); smlua_push_number_field(1, "c", mtx[0][2]); smlua_push_number_field(1, "d", mtx[0][3]); smlua_push_number_field(1, "e", mtx[1][0]); smlua_push_number_field(1, "f", mtx[1][1]); smlua_push_number_field(1, "g", mtx[1][2]); smlua_push_number_field(1, "h", mtx[1][3]); smlua_push_number_field(1, "i", mtx[2][0]); smlua_push_number_field(1, "j", mtx[2][1]); smlua_push_number_field(1, "k", mtx[2][2]); smlua_push_number_field(1, "l", mtx[2][3]); smlua_push_number_field(1, "m", mtx[3][0]); smlua_push_number_field(1, "n", mtx[3][1]); smlua_push_number_field(1, "o", mtx[3][2]); smlua_push_number_field(1, "p", mtx[3][3]); smlua_push_number_field(2, "x", pos[0]); smlua_push_number_field(2, "y", pos[1]); smlua_push_number_field(2, "z", pos[2]); return 1; } int smlua_func_mtxf_billboard(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_billboard", 4, top); return 0; } Mat4 dest; dest[0][0] = smlua_get_number_field(1, "a"); dest[0][1] = smlua_get_number_field(1, "b"); dest[0][2] = smlua_get_number_field(1, "c"); dest[0][3] = smlua_get_number_field(1, "d"); dest[1][0] = smlua_get_number_field(1, "e"); dest[1][1] = smlua_get_number_field(1, "f"); dest[1][2] = smlua_get_number_field(1, "g"); dest[1][3] = smlua_get_number_field(1, "h"); dest[2][0] = smlua_get_number_field(1, "i"); dest[2][1] = smlua_get_number_field(1, "j"); dest[2][2] = smlua_get_number_field(1, "k"); dest[2][3] = smlua_get_number_field(1, "l"); dest[3][0] = smlua_get_number_field(1, "m"); dest[3][1] = smlua_get_number_field(1, "n"); dest[3][2] = smlua_get_number_field(1, "o"); dest[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_billboard"); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(2, "a"); mtx[0][1] = smlua_get_number_field(2, "b"); mtx[0][2] = smlua_get_number_field(2, "c"); mtx[0][3] = smlua_get_number_field(2, "d"); mtx[1][0] = smlua_get_number_field(2, "e"); mtx[1][1] = smlua_get_number_field(2, "f"); mtx[1][2] = smlua_get_number_field(2, "g"); mtx[1][3] = smlua_get_number_field(2, "h"); mtx[2][0] = smlua_get_number_field(2, "i"); mtx[2][1] = smlua_get_number_field(2, "j"); mtx[2][2] = smlua_get_number_field(2, "k"); mtx[2][3] = smlua_get_number_field(2, "l"); mtx[3][0] = smlua_get_number_field(2, "m"); mtx[3][1] = smlua_get_number_field(2, "n"); mtx[3][2] = smlua_get_number_field(2, "o"); mtx[3][3] = smlua_get_number_field(2, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_billboard"); return 0; } f32* position = smlua_get_vec3f_from_buffer(); position[0] = smlua_get_number_field(3, "x"); position[1] = smlua_get_number_field(3, "y"); position[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mtxf_billboard"); return 0; } s16 angle = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "mtxf_billboard"); return 0; } mtxf_billboard(dest, mtx, position, angle); smlua_push_number_field(1, "a", dest[0][0]); smlua_push_number_field(1, "b", dest[0][1]); smlua_push_number_field(1, "c", dest[0][2]); smlua_push_number_field(1, "d", dest[0][3]); smlua_push_number_field(1, "e", dest[1][0]); smlua_push_number_field(1, "f", dest[1][1]); smlua_push_number_field(1, "g", dest[1][2]); smlua_push_number_field(1, "h", dest[1][3]); smlua_push_number_field(1, "i", dest[2][0]); smlua_push_number_field(1, "j", dest[2][1]); smlua_push_number_field(1, "k", dest[2][2]); smlua_push_number_field(1, "l", dest[2][3]); smlua_push_number_field(1, "m", dest[3][0]); smlua_push_number_field(1, "n", dest[3][1]); smlua_push_number_field(1, "o", dest[3][2]); smlua_push_number_field(1, "p", dest[3][3]); smlua_push_number_field(2, "a", mtx[0][0]); smlua_push_number_field(2, "b", mtx[0][1]); smlua_push_number_field(2, "c", mtx[0][2]); smlua_push_number_field(2, "d", mtx[0][3]); smlua_push_number_field(2, "e", mtx[1][0]); smlua_push_number_field(2, "f", mtx[1][1]); smlua_push_number_field(2, "g", mtx[1][2]); smlua_push_number_field(2, "h", mtx[1][3]); smlua_push_number_field(2, "i", mtx[2][0]); smlua_push_number_field(2, "j", mtx[2][1]); smlua_push_number_field(2, "k", mtx[2][2]); smlua_push_number_field(2, "l", mtx[2][3]); smlua_push_number_field(2, "m", mtx[3][0]); smlua_push_number_field(2, "n", mtx[3][1]); smlua_push_number_field(2, "o", mtx[3][2]); smlua_push_number_field(2, "p", mtx[3][3]); smlua_push_number_field(3, "x", position[0]); smlua_push_number_field(3, "y", position[1]); smlua_push_number_field(3, "z", position[2]); return 1; } int smlua_func_mtxf_copy(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_copy", 2, top); return 0; } Mat4 dest; dest[0][0] = smlua_get_number_field(1, "a"); dest[0][1] = smlua_get_number_field(1, "b"); dest[0][2] = smlua_get_number_field(1, "c"); dest[0][3] = smlua_get_number_field(1, "d"); dest[1][0] = smlua_get_number_field(1, "e"); dest[1][1] = smlua_get_number_field(1, "f"); dest[1][2] = smlua_get_number_field(1, "g"); dest[1][3] = smlua_get_number_field(1, "h"); dest[2][0] = smlua_get_number_field(1, "i"); dest[2][1] = smlua_get_number_field(1, "j"); dest[2][2] = smlua_get_number_field(1, "k"); dest[2][3] = smlua_get_number_field(1, "l"); dest[3][0] = smlua_get_number_field(1, "m"); dest[3][1] = smlua_get_number_field(1, "n"); dest[3][2] = smlua_get_number_field(1, "o"); dest[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_copy"); return 0; } Mat4 src; src[0][0] = smlua_get_number_field(2, "a"); src[0][1] = smlua_get_number_field(2, "b"); src[0][2] = smlua_get_number_field(2, "c"); src[0][3] = smlua_get_number_field(2, "d"); src[1][0] = smlua_get_number_field(2, "e"); src[1][1] = smlua_get_number_field(2, "f"); src[1][2] = smlua_get_number_field(2, "g"); src[1][3] = smlua_get_number_field(2, "h"); src[2][0] = smlua_get_number_field(2, "i"); src[2][1] = smlua_get_number_field(2, "j"); src[2][2] = smlua_get_number_field(2, "k"); src[2][3] = smlua_get_number_field(2, "l"); src[3][0] = smlua_get_number_field(2, "m"); src[3][1] = smlua_get_number_field(2, "n"); src[3][2] = smlua_get_number_field(2, "o"); src[3][3] = smlua_get_number_field(2, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_copy"); return 0; } mtxf_copy(dest, src); smlua_push_number_field(1, "a", dest[0][0]); smlua_push_number_field(1, "b", dest[0][1]); smlua_push_number_field(1, "c", dest[0][2]); smlua_push_number_field(1, "d", dest[0][3]); smlua_push_number_field(1, "e", dest[1][0]); smlua_push_number_field(1, "f", dest[1][1]); smlua_push_number_field(1, "g", dest[1][2]); smlua_push_number_field(1, "h", dest[1][3]); smlua_push_number_field(1, "i", dest[2][0]); smlua_push_number_field(1, "j", dest[2][1]); smlua_push_number_field(1, "k", dest[2][2]); smlua_push_number_field(1, "l", dest[2][3]); smlua_push_number_field(1, "m", dest[3][0]); smlua_push_number_field(1, "n", dest[3][1]); smlua_push_number_field(1, "o", dest[3][2]); smlua_push_number_field(1, "p", dest[3][3]); smlua_push_number_field(2, "a", src[0][0]); smlua_push_number_field(2, "b", src[0][1]); smlua_push_number_field(2, "c", src[0][2]); smlua_push_number_field(2, "d", src[0][3]); smlua_push_number_field(2, "e", src[1][0]); smlua_push_number_field(2, "f", src[1][1]); smlua_push_number_field(2, "g", src[1][2]); smlua_push_number_field(2, "h", src[1][3]); smlua_push_number_field(2, "i", src[2][0]); smlua_push_number_field(2, "j", src[2][1]); smlua_push_number_field(2, "k", src[2][2]); smlua_push_number_field(2, "l", src[2][3]); smlua_push_number_field(2, "m", src[3][0]); smlua_push_number_field(2, "n", src[3][1]); smlua_push_number_field(2, "o", src[3][2]); smlua_push_number_field(2, "p", src[3][3]); return 1; } int smlua_func_mtxf_cylboard(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_cylboard", 4, top); return 0; } Mat4 dest; dest[0][0] = smlua_get_number_field(1, "a"); dest[0][1] = smlua_get_number_field(1, "b"); dest[0][2] = smlua_get_number_field(1, "c"); dest[0][3] = smlua_get_number_field(1, "d"); dest[1][0] = smlua_get_number_field(1, "e"); dest[1][1] = smlua_get_number_field(1, "f"); dest[1][2] = smlua_get_number_field(1, "g"); dest[1][3] = smlua_get_number_field(1, "h"); dest[2][0] = smlua_get_number_field(1, "i"); dest[2][1] = smlua_get_number_field(1, "j"); dest[2][2] = smlua_get_number_field(1, "k"); dest[2][3] = smlua_get_number_field(1, "l"); dest[3][0] = smlua_get_number_field(1, "m"); dest[3][1] = smlua_get_number_field(1, "n"); dest[3][2] = smlua_get_number_field(1, "o"); dest[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_cylboard"); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(2, "a"); mtx[0][1] = smlua_get_number_field(2, "b"); mtx[0][2] = smlua_get_number_field(2, "c"); mtx[0][3] = smlua_get_number_field(2, "d"); mtx[1][0] = smlua_get_number_field(2, "e"); mtx[1][1] = smlua_get_number_field(2, "f"); mtx[1][2] = smlua_get_number_field(2, "g"); mtx[1][3] = smlua_get_number_field(2, "h"); mtx[2][0] = smlua_get_number_field(2, "i"); mtx[2][1] = smlua_get_number_field(2, "j"); mtx[2][2] = smlua_get_number_field(2, "k"); mtx[2][3] = smlua_get_number_field(2, "l"); mtx[3][0] = smlua_get_number_field(2, "m"); mtx[3][1] = smlua_get_number_field(2, "n"); mtx[3][2] = smlua_get_number_field(2, "o"); mtx[3][3] = smlua_get_number_field(2, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_cylboard"); return 0; } f32* position = smlua_get_vec3f_from_buffer(); position[0] = smlua_get_number_field(3, "x"); position[1] = smlua_get_number_field(3, "y"); position[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mtxf_cylboard"); return 0; } s16 angle = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "mtxf_cylboard"); return 0; } mtxf_cylboard(dest, mtx, position, angle); smlua_push_number_field(1, "a", dest[0][0]); smlua_push_number_field(1, "b", dest[0][1]); smlua_push_number_field(1, "c", dest[0][2]); smlua_push_number_field(1, "d", dest[0][3]); smlua_push_number_field(1, "e", dest[1][0]); smlua_push_number_field(1, "f", dest[1][1]); smlua_push_number_field(1, "g", dest[1][2]); smlua_push_number_field(1, "h", dest[1][3]); smlua_push_number_field(1, "i", dest[2][0]); smlua_push_number_field(1, "j", dest[2][1]); smlua_push_number_field(1, "k", dest[2][2]); smlua_push_number_field(1, "l", dest[2][3]); smlua_push_number_field(1, "m", dest[3][0]); smlua_push_number_field(1, "n", dest[3][1]); smlua_push_number_field(1, "o", dest[3][2]); smlua_push_number_field(1, "p", dest[3][3]); smlua_push_number_field(2, "a", mtx[0][0]); smlua_push_number_field(2, "b", mtx[0][1]); smlua_push_number_field(2, "c", mtx[0][2]); smlua_push_number_field(2, "d", mtx[0][3]); smlua_push_number_field(2, "e", mtx[1][0]); smlua_push_number_field(2, "f", mtx[1][1]); smlua_push_number_field(2, "g", mtx[1][2]); smlua_push_number_field(2, "h", mtx[1][3]); smlua_push_number_field(2, "i", mtx[2][0]); smlua_push_number_field(2, "j", mtx[2][1]); smlua_push_number_field(2, "k", mtx[2][2]); smlua_push_number_field(2, "l", mtx[2][3]); smlua_push_number_field(2, "m", mtx[3][0]); smlua_push_number_field(2, "n", mtx[3][1]); smlua_push_number_field(2, "o", mtx[3][2]); smlua_push_number_field(2, "p", mtx[3][3]); smlua_push_number_field(3, "x", position[0]); smlua_push_number_field(3, "y", position[1]); smlua_push_number_field(3, "z", position[2]); return 1; } int smlua_func_mtxf_identity(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", "mtxf_identity", 1, top); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(1, "a"); mtx[0][1] = smlua_get_number_field(1, "b"); mtx[0][2] = smlua_get_number_field(1, "c"); mtx[0][3] = smlua_get_number_field(1, "d"); mtx[1][0] = smlua_get_number_field(1, "e"); mtx[1][1] = smlua_get_number_field(1, "f"); mtx[1][2] = smlua_get_number_field(1, "g"); mtx[1][3] = smlua_get_number_field(1, "h"); mtx[2][0] = smlua_get_number_field(1, "i"); mtx[2][1] = smlua_get_number_field(1, "j"); mtx[2][2] = smlua_get_number_field(1, "k"); mtx[2][3] = smlua_get_number_field(1, "l"); mtx[3][0] = smlua_get_number_field(1, "m"); mtx[3][1] = smlua_get_number_field(1, "n"); mtx[3][2] = smlua_get_number_field(1, "o"); mtx[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_identity"); return 0; } mtxf_identity(mtx); smlua_push_number_field(1, "a", mtx[0][0]); smlua_push_number_field(1, "b", mtx[0][1]); smlua_push_number_field(1, "c", mtx[0][2]); smlua_push_number_field(1, "d", mtx[0][3]); smlua_push_number_field(1, "e", mtx[1][0]); smlua_push_number_field(1, "f", mtx[1][1]); smlua_push_number_field(1, "g", mtx[1][2]); smlua_push_number_field(1, "h", mtx[1][3]); smlua_push_number_field(1, "i", mtx[2][0]); smlua_push_number_field(1, "j", mtx[2][1]); smlua_push_number_field(1, "k", mtx[2][2]); smlua_push_number_field(1, "l", mtx[2][3]); smlua_push_number_field(1, "m", mtx[3][0]); smlua_push_number_field(1, "n", mtx[3][1]); smlua_push_number_field(1, "o", mtx[3][2]); smlua_push_number_field(1, "p", mtx[3][3]); return 1; } int smlua_func_mtxf_inverse(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_inverse", 2, top); return 0; } Mat4 dest; dest[0][0] = smlua_get_number_field(1, "a"); dest[0][1] = smlua_get_number_field(1, "b"); dest[0][2] = smlua_get_number_field(1, "c"); dest[0][3] = smlua_get_number_field(1, "d"); dest[1][0] = smlua_get_number_field(1, "e"); dest[1][1] = smlua_get_number_field(1, "f"); dest[1][2] = smlua_get_number_field(1, "g"); dest[1][3] = smlua_get_number_field(1, "h"); dest[2][0] = smlua_get_number_field(1, "i"); dest[2][1] = smlua_get_number_field(1, "j"); dest[2][2] = smlua_get_number_field(1, "k"); dest[2][3] = smlua_get_number_field(1, "l"); dest[3][0] = smlua_get_number_field(1, "m"); dest[3][1] = smlua_get_number_field(1, "n"); dest[3][2] = smlua_get_number_field(1, "o"); dest[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_inverse"); return 0; } Mat4 src; src[0][0] = smlua_get_number_field(2, "a"); src[0][1] = smlua_get_number_field(2, "b"); src[0][2] = smlua_get_number_field(2, "c"); src[0][3] = smlua_get_number_field(2, "d"); src[1][0] = smlua_get_number_field(2, "e"); src[1][1] = smlua_get_number_field(2, "f"); src[1][2] = smlua_get_number_field(2, "g"); src[1][3] = smlua_get_number_field(2, "h"); src[2][0] = smlua_get_number_field(2, "i"); src[2][1] = smlua_get_number_field(2, "j"); src[2][2] = smlua_get_number_field(2, "k"); src[2][3] = smlua_get_number_field(2, "l"); src[3][0] = smlua_get_number_field(2, "m"); src[3][1] = smlua_get_number_field(2, "n"); src[3][2] = smlua_get_number_field(2, "o"); src[3][3] = smlua_get_number_field(2, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_inverse"); return 0; } mtxf_inverse(dest, src); smlua_push_number_field(1, "a", dest[0][0]); smlua_push_number_field(1, "b", dest[0][1]); smlua_push_number_field(1, "c", dest[0][2]); smlua_push_number_field(1, "d", dest[0][3]); smlua_push_number_field(1, "e", dest[1][0]); smlua_push_number_field(1, "f", dest[1][1]); smlua_push_number_field(1, "g", dest[1][2]); smlua_push_number_field(1, "h", dest[1][3]); smlua_push_number_field(1, "i", dest[2][0]); smlua_push_number_field(1, "j", dest[2][1]); smlua_push_number_field(1, "k", dest[2][2]); smlua_push_number_field(1, "l", dest[2][3]); smlua_push_number_field(1, "m", dest[3][0]); smlua_push_number_field(1, "n", dest[3][1]); smlua_push_number_field(1, "o", dest[3][2]); smlua_push_number_field(1, "p", dest[3][3]); smlua_push_number_field(2, "a", src[0][0]); smlua_push_number_field(2, "b", src[0][1]); smlua_push_number_field(2, "c", src[0][2]); smlua_push_number_field(2, "d", src[0][3]); smlua_push_number_field(2, "e", src[1][0]); smlua_push_number_field(2, "f", src[1][1]); smlua_push_number_field(2, "g", src[1][2]); smlua_push_number_field(2, "h", src[1][3]); smlua_push_number_field(2, "i", src[2][0]); smlua_push_number_field(2, "j", src[2][1]); smlua_push_number_field(2, "k", src[2][2]); smlua_push_number_field(2, "l", src[2][3]); smlua_push_number_field(2, "m", src[3][0]); smlua_push_number_field(2, "n", src[3][1]); smlua_push_number_field(2, "o", src[3][2]); smlua_push_number_field(2, "p", src[3][3]); return 1; } int smlua_func_mtxf_lookat(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_lookat", 4, top); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(1, "a"); mtx[0][1] = smlua_get_number_field(1, "b"); mtx[0][2] = smlua_get_number_field(1, "c"); mtx[0][3] = smlua_get_number_field(1, "d"); mtx[1][0] = smlua_get_number_field(1, "e"); mtx[1][1] = smlua_get_number_field(1, "f"); mtx[1][2] = smlua_get_number_field(1, "g"); mtx[1][3] = smlua_get_number_field(1, "h"); mtx[2][0] = smlua_get_number_field(1, "i"); mtx[2][1] = smlua_get_number_field(1, "j"); mtx[2][2] = smlua_get_number_field(1, "k"); mtx[2][3] = smlua_get_number_field(1, "l"); mtx[3][0] = smlua_get_number_field(1, "m"); mtx[3][1] = smlua_get_number_field(1, "n"); mtx[3][2] = smlua_get_number_field(1, "o"); mtx[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_lookat"); return 0; } f32* from = smlua_get_vec3f_from_buffer(); from[0] = smlua_get_number_field(2, "x"); from[1] = smlua_get_number_field(2, "y"); from[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_lookat"); return 0; } f32* to = smlua_get_vec3f_from_buffer(); to[0] = smlua_get_number_field(3, "x"); to[1] = smlua_get_number_field(3, "y"); to[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mtxf_lookat"); return 0; } s16 roll = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "mtxf_lookat"); return 0; } mtxf_lookat(mtx, from, to, roll); smlua_push_number_field(1, "a", mtx[0][0]); smlua_push_number_field(1, "b", mtx[0][1]); smlua_push_number_field(1, "c", mtx[0][2]); smlua_push_number_field(1, "d", mtx[0][3]); smlua_push_number_field(1, "e", mtx[1][0]); smlua_push_number_field(1, "f", mtx[1][1]); smlua_push_number_field(1, "g", mtx[1][2]); smlua_push_number_field(1, "h", mtx[1][3]); smlua_push_number_field(1, "i", mtx[2][0]); smlua_push_number_field(1, "j", mtx[2][1]); smlua_push_number_field(1, "k", mtx[2][2]); smlua_push_number_field(1, "l", mtx[2][3]); smlua_push_number_field(1, "m", mtx[3][0]); smlua_push_number_field(1, "n", mtx[3][1]); smlua_push_number_field(1, "o", mtx[3][2]); smlua_push_number_field(1, "p", mtx[3][3]); smlua_push_number_field(2, "x", from[0]); smlua_push_number_field(2, "y", from[1]); smlua_push_number_field(2, "z", from[2]); smlua_push_number_field(3, "x", to[0]); smlua_push_number_field(3, "y", to[1]); smlua_push_number_field(3, "z", to[2]); return 1; } int smlua_func_mtxf_mul(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_mul", 3, top); return 0; } Mat4 dest; dest[0][0] = smlua_get_number_field(1, "a"); dest[0][1] = smlua_get_number_field(1, "b"); dest[0][2] = smlua_get_number_field(1, "c"); dest[0][3] = smlua_get_number_field(1, "d"); dest[1][0] = smlua_get_number_field(1, "e"); dest[1][1] = smlua_get_number_field(1, "f"); dest[1][2] = smlua_get_number_field(1, "g"); dest[1][3] = smlua_get_number_field(1, "h"); dest[2][0] = smlua_get_number_field(1, "i"); dest[2][1] = smlua_get_number_field(1, "j"); dest[2][2] = smlua_get_number_field(1, "k"); dest[2][3] = smlua_get_number_field(1, "l"); dest[3][0] = smlua_get_number_field(1, "m"); dest[3][1] = smlua_get_number_field(1, "n"); dest[3][2] = smlua_get_number_field(1, "o"); dest[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_mul"); return 0; } Mat4 a; a[0][0] = smlua_get_number_field(2, "a"); a[0][1] = smlua_get_number_field(2, "b"); a[0][2] = smlua_get_number_field(2, "c"); a[0][3] = smlua_get_number_field(2, "d"); a[1][0] = smlua_get_number_field(2, "e"); a[1][1] = smlua_get_number_field(2, "f"); a[1][2] = smlua_get_number_field(2, "g"); a[1][3] = smlua_get_number_field(2, "h"); a[2][0] = smlua_get_number_field(2, "i"); a[2][1] = smlua_get_number_field(2, "j"); a[2][2] = smlua_get_number_field(2, "k"); a[2][3] = smlua_get_number_field(2, "l"); a[3][0] = smlua_get_number_field(2, "m"); a[3][1] = smlua_get_number_field(2, "n"); a[3][2] = smlua_get_number_field(2, "o"); a[3][3] = smlua_get_number_field(2, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_mul"); return 0; } Mat4 b; b[0][0] = smlua_get_number_field(3, "a"); b[0][1] = smlua_get_number_field(3, "b"); b[0][2] = smlua_get_number_field(3, "c"); b[0][3] = smlua_get_number_field(3, "d"); b[1][0] = smlua_get_number_field(3, "e"); b[1][1] = smlua_get_number_field(3, "f"); b[1][2] = smlua_get_number_field(3, "g"); b[1][3] = smlua_get_number_field(3, "h"); b[2][0] = smlua_get_number_field(3, "i"); b[2][1] = smlua_get_number_field(3, "j"); b[2][2] = smlua_get_number_field(3, "k"); b[2][3] = smlua_get_number_field(3, "l"); b[3][0] = smlua_get_number_field(3, "m"); b[3][1] = smlua_get_number_field(3, "n"); b[3][2] = smlua_get_number_field(3, "o"); b[3][3] = smlua_get_number_field(3, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mtxf_mul"); return 0; } mtxf_mul(dest, a, b); smlua_push_number_field(1, "a", dest[0][0]); smlua_push_number_field(1, "b", dest[0][1]); smlua_push_number_field(1, "c", dest[0][2]); smlua_push_number_field(1, "d", dest[0][3]); smlua_push_number_field(1, "e", dest[1][0]); smlua_push_number_field(1, "f", dest[1][1]); smlua_push_number_field(1, "g", dest[1][2]); smlua_push_number_field(1, "h", dest[1][3]); smlua_push_number_field(1, "i", dest[2][0]); smlua_push_number_field(1, "j", dest[2][1]); smlua_push_number_field(1, "k", dest[2][2]); smlua_push_number_field(1, "l", dest[2][3]); smlua_push_number_field(1, "m", dest[3][0]); smlua_push_number_field(1, "n", dest[3][1]); smlua_push_number_field(1, "o", dest[3][2]); smlua_push_number_field(1, "p", dest[3][3]); smlua_push_number_field(2, "a", a[0][0]); smlua_push_number_field(2, "b", a[0][1]); smlua_push_number_field(2, "c", a[0][2]); smlua_push_number_field(2, "d", a[0][3]); smlua_push_number_field(2, "e", a[1][0]); smlua_push_number_field(2, "f", a[1][1]); smlua_push_number_field(2, "g", a[1][2]); smlua_push_number_field(2, "h", a[1][3]); smlua_push_number_field(2, "i", a[2][0]); smlua_push_number_field(2, "j", a[2][1]); smlua_push_number_field(2, "k", a[2][2]); smlua_push_number_field(2, "l", a[2][3]); smlua_push_number_field(2, "m", a[3][0]); smlua_push_number_field(2, "n", a[3][1]); smlua_push_number_field(2, "o", a[3][2]); smlua_push_number_field(2, "p", a[3][3]); smlua_push_number_field(3, "a", b[0][0]); smlua_push_number_field(3, "b", b[0][1]); smlua_push_number_field(3, "c", b[0][2]); smlua_push_number_field(3, "d", b[0][3]); smlua_push_number_field(3, "e", b[1][0]); smlua_push_number_field(3, "f", b[1][1]); smlua_push_number_field(3, "g", b[1][2]); smlua_push_number_field(3, "h", b[1][3]); smlua_push_number_field(3, "i", b[2][0]); smlua_push_number_field(3, "j", b[2][1]); smlua_push_number_field(3, "k", b[2][2]); smlua_push_number_field(3, "l", b[2][3]); smlua_push_number_field(3, "m", b[3][0]); smlua_push_number_field(3, "n", b[3][1]); smlua_push_number_field(3, "o", b[3][2]); smlua_push_number_field(3, "p", b[3][3]); return 1; } int smlua_func_mtxf_mul_vec3s(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_mul_vec3s", 2, top); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(1, "a"); mtx[0][1] = smlua_get_number_field(1, "b"); mtx[0][2] = smlua_get_number_field(1, "c"); mtx[0][3] = smlua_get_number_field(1, "d"); mtx[1][0] = smlua_get_number_field(1, "e"); mtx[1][1] = smlua_get_number_field(1, "f"); mtx[1][2] = smlua_get_number_field(1, "g"); mtx[1][3] = smlua_get_number_field(1, "h"); mtx[2][0] = smlua_get_number_field(1, "i"); mtx[2][1] = smlua_get_number_field(1, "j"); mtx[2][2] = smlua_get_number_field(1, "k"); mtx[2][3] = smlua_get_number_field(1, "l"); mtx[3][0] = smlua_get_number_field(1, "m"); mtx[3][1] = smlua_get_number_field(1, "n"); mtx[3][2] = smlua_get_number_field(1, "o"); mtx[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_mul_vec3s"); return 0; } s16* b = smlua_get_vec3s_from_buffer(); b[0] = smlua_get_integer_field(2, "x"); b[1] = smlua_get_integer_field(2, "y"); b[2] = smlua_get_integer_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_mul_vec3s"); return 0; } mtxf_mul_vec3s(mtx, b); smlua_push_number_field(1, "a", mtx[0][0]); smlua_push_number_field(1, "b", mtx[0][1]); smlua_push_number_field(1, "c", mtx[0][2]); smlua_push_number_field(1, "d", mtx[0][3]); smlua_push_number_field(1, "e", mtx[1][0]); smlua_push_number_field(1, "f", mtx[1][1]); smlua_push_number_field(1, "g", mtx[1][2]); smlua_push_number_field(1, "h", mtx[1][3]); smlua_push_number_field(1, "i", mtx[2][0]); smlua_push_number_field(1, "j", mtx[2][1]); smlua_push_number_field(1, "k", mtx[2][2]); smlua_push_number_field(1, "l", mtx[2][3]); smlua_push_number_field(1, "m", mtx[3][0]); smlua_push_number_field(1, "n", mtx[3][1]); smlua_push_number_field(1, "o", mtx[3][2]); smlua_push_number_field(1, "p", mtx[3][3]); smlua_push_integer_field(2, "x", b[0]); smlua_push_integer_field(2, "y", b[1]); smlua_push_integer_field(2, "z", b[2]); return 1; } int smlua_func_mtxf_rotate_xy(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_rotate_xy", 2, top); return 0; } Mtx * mtx = (Mtx *)smlua_to_cpointer(L, 1, LVT_COBJECT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_rotate_xy"); return 0; } s16 angle = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_rotate_xy"); return 0; } mtxf_rotate_xy(mtx, angle); return 1; } int smlua_func_mtxf_rotate_xyz_and_translate(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_rotate_xyz_and_translate", 3, top); return 0; } Mat4 dest; dest[0][0] = smlua_get_number_field(1, "a"); dest[0][1] = smlua_get_number_field(1, "b"); dest[0][2] = smlua_get_number_field(1, "c"); dest[0][3] = smlua_get_number_field(1, "d"); dest[1][0] = smlua_get_number_field(1, "e"); dest[1][1] = smlua_get_number_field(1, "f"); dest[1][2] = smlua_get_number_field(1, "g"); dest[1][3] = smlua_get_number_field(1, "h"); dest[2][0] = smlua_get_number_field(1, "i"); dest[2][1] = smlua_get_number_field(1, "j"); dest[2][2] = smlua_get_number_field(1, "k"); dest[2][3] = smlua_get_number_field(1, "l"); dest[3][0] = smlua_get_number_field(1, "m"); dest[3][1] = smlua_get_number_field(1, "n"); dest[3][2] = smlua_get_number_field(1, "o"); dest[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_rotate_xyz_and_translate"); return 0; } f32* b = smlua_get_vec3f_from_buffer(); b[0] = smlua_get_number_field(2, "x"); b[1] = smlua_get_number_field(2, "y"); b[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_rotate_xyz_and_translate"); return 0; } s16* c = smlua_get_vec3s_from_buffer(); c[0] = smlua_get_integer_field(3, "x"); c[1] = smlua_get_integer_field(3, "y"); c[2] = smlua_get_integer_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mtxf_rotate_xyz_and_translate"); return 0; } mtxf_rotate_xyz_and_translate(dest, b, c); smlua_push_number_field(1, "a", dest[0][0]); smlua_push_number_field(1, "b", dest[0][1]); smlua_push_number_field(1, "c", dest[0][2]); smlua_push_number_field(1, "d", dest[0][3]); smlua_push_number_field(1, "e", dest[1][0]); smlua_push_number_field(1, "f", dest[1][1]); smlua_push_number_field(1, "g", dest[1][2]); smlua_push_number_field(1, "h", dest[1][3]); smlua_push_number_field(1, "i", dest[2][0]); smlua_push_number_field(1, "j", dest[2][1]); smlua_push_number_field(1, "k", dest[2][2]); smlua_push_number_field(1, "l", dest[2][3]); smlua_push_number_field(1, "m", dest[3][0]); smlua_push_number_field(1, "n", dest[3][1]); smlua_push_number_field(1, "o", dest[3][2]); smlua_push_number_field(1, "p", dest[3][3]); smlua_push_number_field(2, "x", b[0]); smlua_push_number_field(2, "y", b[1]); smlua_push_number_field(2, "z", b[2]); smlua_push_integer_field(3, "x", c[0]); smlua_push_integer_field(3, "y", c[1]); smlua_push_integer_field(3, "z", c[2]); return 1; } int smlua_func_mtxf_rotate_zxy_and_translate(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_rotate_zxy_and_translate", 3, top); return 0; } Mat4 dest; dest[0][0] = smlua_get_number_field(1, "a"); dest[0][1] = smlua_get_number_field(1, "b"); dest[0][2] = smlua_get_number_field(1, "c"); dest[0][3] = smlua_get_number_field(1, "d"); dest[1][0] = smlua_get_number_field(1, "e"); dest[1][1] = smlua_get_number_field(1, "f"); dest[1][2] = smlua_get_number_field(1, "g"); dest[1][3] = smlua_get_number_field(1, "h"); dest[2][0] = smlua_get_number_field(1, "i"); dest[2][1] = smlua_get_number_field(1, "j"); dest[2][2] = smlua_get_number_field(1, "k"); dest[2][3] = smlua_get_number_field(1, "l"); dest[3][0] = smlua_get_number_field(1, "m"); dest[3][1] = smlua_get_number_field(1, "n"); dest[3][2] = smlua_get_number_field(1, "o"); dest[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_rotate_zxy_and_translate"); return 0; } f32* translate = smlua_get_vec3f_from_buffer(); translate[0] = smlua_get_number_field(2, "x"); translate[1] = smlua_get_number_field(2, "y"); translate[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_rotate_zxy_and_translate"); return 0; } s16* rotate = smlua_get_vec3s_from_buffer(); rotate[0] = smlua_get_integer_field(3, "x"); rotate[1] = smlua_get_integer_field(3, "y"); rotate[2] = smlua_get_integer_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mtxf_rotate_zxy_and_translate"); return 0; } mtxf_rotate_zxy_and_translate(dest, translate, rotate); smlua_push_number_field(1, "a", dest[0][0]); smlua_push_number_field(1, "b", dest[0][1]); smlua_push_number_field(1, "c", dest[0][2]); smlua_push_number_field(1, "d", dest[0][3]); smlua_push_number_field(1, "e", dest[1][0]); smlua_push_number_field(1, "f", dest[1][1]); smlua_push_number_field(1, "g", dest[1][2]); smlua_push_number_field(1, "h", dest[1][3]); smlua_push_number_field(1, "i", dest[2][0]); smlua_push_number_field(1, "j", dest[2][1]); smlua_push_number_field(1, "k", dest[2][2]); smlua_push_number_field(1, "l", dest[2][3]); smlua_push_number_field(1, "m", dest[3][0]); smlua_push_number_field(1, "n", dest[3][1]); smlua_push_number_field(1, "o", dest[3][2]); smlua_push_number_field(1, "p", dest[3][3]); smlua_push_number_field(2, "x", translate[0]); smlua_push_number_field(2, "y", translate[1]); smlua_push_number_field(2, "z", translate[2]); smlua_push_integer_field(3, "x", rotate[0]); smlua_push_integer_field(3, "y", rotate[1]); smlua_push_integer_field(3, "z", rotate[2]); return 1; } int smlua_func_mtxf_scale_vec3f(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_scale_vec3f", 3, top); return 0; } Mat4 dest; dest[0][0] = smlua_get_number_field(1, "a"); dest[0][1] = smlua_get_number_field(1, "b"); dest[0][2] = smlua_get_number_field(1, "c"); dest[0][3] = smlua_get_number_field(1, "d"); dest[1][0] = smlua_get_number_field(1, "e"); dest[1][1] = smlua_get_number_field(1, "f"); dest[1][2] = smlua_get_number_field(1, "g"); dest[1][3] = smlua_get_number_field(1, "h"); dest[2][0] = smlua_get_number_field(1, "i"); dest[2][1] = smlua_get_number_field(1, "j"); dest[2][2] = smlua_get_number_field(1, "k"); dest[2][3] = smlua_get_number_field(1, "l"); dest[3][0] = smlua_get_number_field(1, "m"); dest[3][1] = smlua_get_number_field(1, "n"); dest[3][2] = smlua_get_number_field(1, "o"); dest[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_scale_vec3f"); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(2, "a"); mtx[0][1] = smlua_get_number_field(2, "b"); mtx[0][2] = smlua_get_number_field(2, "c"); mtx[0][3] = smlua_get_number_field(2, "d"); mtx[1][0] = smlua_get_number_field(2, "e"); mtx[1][1] = smlua_get_number_field(2, "f"); mtx[1][2] = smlua_get_number_field(2, "g"); mtx[1][3] = smlua_get_number_field(2, "h"); mtx[2][0] = smlua_get_number_field(2, "i"); mtx[2][1] = smlua_get_number_field(2, "j"); mtx[2][2] = smlua_get_number_field(2, "k"); mtx[2][3] = smlua_get_number_field(2, "l"); mtx[3][0] = smlua_get_number_field(2, "m"); mtx[3][1] = smlua_get_number_field(2, "n"); mtx[3][2] = smlua_get_number_field(2, "o"); mtx[3][3] = smlua_get_number_field(2, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_scale_vec3f"); return 0; } f32* s = smlua_get_vec3f_from_buffer(); s[0] = smlua_get_number_field(3, "x"); s[1] = smlua_get_number_field(3, "y"); s[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mtxf_scale_vec3f"); return 0; } mtxf_scale_vec3f(dest, mtx, s); smlua_push_number_field(1, "a", dest[0][0]); smlua_push_number_field(1, "b", dest[0][1]); smlua_push_number_field(1, "c", dest[0][2]); smlua_push_number_field(1, "d", dest[0][3]); smlua_push_number_field(1, "e", dest[1][0]); smlua_push_number_field(1, "f", dest[1][1]); smlua_push_number_field(1, "g", dest[1][2]); smlua_push_number_field(1, "h", dest[1][3]); smlua_push_number_field(1, "i", dest[2][0]); smlua_push_number_field(1, "j", dest[2][1]); smlua_push_number_field(1, "k", dest[2][2]); smlua_push_number_field(1, "l", dest[2][3]); smlua_push_number_field(1, "m", dest[3][0]); smlua_push_number_field(1, "n", dest[3][1]); smlua_push_number_field(1, "o", dest[3][2]); smlua_push_number_field(1, "p", dest[3][3]); smlua_push_number_field(2, "a", mtx[0][0]); smlua_push_number_field(2, "b", mtx[0][1]); smlua_push_number_field(2, "c", mtx[0][2]); smlua_push_number_field(2, "d", mtx[0][3]); smlua_push_number_field(2, "e", mtx[1][0]); smlua_push_number_field(2, "f", mtx[1][1]); smlua_push_number_field(2, "g", mtx[1][2]); smlua_push_number_field(2, "h", mtx[1][3]); smlua_push_number_field(2, "i", mtx[2][0]); smlua_push_number_field(2, "j", mtx[2][1]); smlua_push_number_field(2, "k", mtx[2][2]); smlua_push_number_field(2, "l", mtx[2][3]); smlua_push_number_field(2, "m", mtx[3][0]); smlua_push_number_field(2, "n", mtx[3][1]); smlua_push_number_field(2, "o", mtx[3][2]); smlua_push_number_field(2, "p", mtx[3][3]); smlua_push_number_field(3, "x", s[0]); smlua_push_number_field(3, "y", s[1]); smlua_push_number_field(3, "z", s[2]); return 1; } int smlua_func_mtxf_to_mtx(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_to_mtx", 2, top); return 0; } Mtx * dest = (Mtx *)smlua_to_cpointer(L, 1, LVT_COBJECT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_to_mtx"); return 0; } Mat4 src; src[0][0] = smlua_get_number_field(2, "a"); src[0][1] = smlua_get_number_field(2, "b"); src[0][2] = smlua_get_number_field(2, "c"); src[0][3] = smlua_get_number_field(2, "d"); src[1][0] = smlua_get_number_field(2, "e"); src[1][1] = smlua_get_number_field(2, "f"); src[1][2] = smlua_get_number_field(2, "g"); src[1][3] = smlua_get_number_field(2, "h"); src[2][0] = smlua_get_number_field(2, "i"); src[2][1] = smlua_get_number_field(2, "j"); src[2][2] = smlua_get_number_field(2, "k"); src[2][3] = smlua_get_number_field(2, "l"); src[3][0] = smlua_get_number_field(2, "m"); src[3][1] = smlua_get_number_field(2, "n"); src[3][2] = smlua_get_number_field(2, "o"); src[3][3] = smlua_get_number_field(2, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_to_mtx"); return 0; } mtxf_to_mtx(dest, src); smlua_push_number_field(2, "a", src[0][0]); smlua_push_number_field(2, "b", src[0][1]); smlua_push_number_field(2, "c", src[0][2]); smlua_push_number_field(2, "d", src[0][3]); smlua_push_number_field(2, "e", src[1][0]); smlua_push_number_field(2, "f", src[1][1]); smlua_push_number_field(2, "g", src[1][2]); smlua_push_number_field(2, "h", src[1][3]); smlua_push_number_field(2, "i", src[2][0]); smlua_push_number_field(2, "j", src[2][1]); smlua_push_number_field(2, "k", src[2][2]); smlua_push_number_field(2, "l", src[2][3]); smlua_push_number_field(2, "m", src[3][0]); smlua_push_number_field(2, "n", src[3][1]); smlua_push_number_field(2, "o", src[3][2]); smlua_push_number_field(2, "p", src[3][3]); return 1; } int smlua_func_mtxf_translate(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mtxf_translate", 2, top); return 0; } Mat4 dest; dest[0][0] = smlua_get_number_field(1, "a"); dest[0][1] = smlua_get_number_field(1, "b"); dest[0][2] = smlua_get_number_field(1, "c"); dest[0][3] = smlua_get_number_field(1, "d"); dest[1][0] = smlua_get_number_field(1, "e"); dest[1][1] = smlua_get_number_field(1, "f"); dest[1][2] = smlua_get_number_field(1, "g"); dest[1][3] = smlua_get_number_field(1, "h"); dest[2][0] = smlua_get_number_field(1, "i"); dest[2][1] = smlua_get_number_field(1, "j"); dest[2][2] = smlua_get_number_field(1, "k"); dest[2][3] = smlua_get_number_field(1, "l"); dest[3][0] = smlua_get_number_field(1, "m"); dest[3][1] = smlua_get_number_field(1, "n"); dest[3][2] = smlua_get_number_field(1, "o"); dest[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mtxf_translate"); return 0; } f32* b = smlua_get_vec3f_from_buffer(); b[0] = smlua_get_number_field(2, "x"); b[1] = smlua_get_number_field(2, "y"); b[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mtxf_translate"); return 0; } mtxf_translate(dest, b); smlua_push_number_field(1, "a", dest[0][0]); smlua_push_number_field(1, "b", dest[0][1]); smlua_push_number_field(1, "c", dest[0][2]); smlua_push_number_field(1, "d", dest[0][3]); smlua_push_number_field(1, "e", dest[1][0]); smlua_push_number_field(1, "f", dest[1][1]); smlua_push_number_field(1, "g", dest[1][2]); smlua_push_number_field(1, "h", dest[1][3]); smlua_push_number_field(1, "i", dest[2][0]); smlua_push_number_field(1, "j", dest[2][1]); smlua_push_number_field(1, "k", dest[2][2]); smlua_push_number_field(1, "l", dest[2][3]); smlua_push_number_field(1, "m", dest[3][0]); smlua_push_number_field(1, "n", dest[3][1]); smlua_push_number_field(1, "o", dest[3][2]); smlua_push_number_field(1, "p", dest[3][3]); smlua_push_number_field(2, "x", b[0]); smlua_push_number_field(2, "y", b[1]); smlua_push_number_field(2, "z", b[2]); return 1; } int smlua_func_not_zero(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "not_zero", 2, top); return 0; } f32 value = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "not_zero"); return 0; } f32 replacement = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "not_zero"); return 0; } lua_pushnumber(L, not_zero(value, replacement)); return 1; } int smlua_func_spline_get_weights(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spline_get_weights", 4, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spline_get_weights"); return 0; } f32* result = smlua_get_vec4f_from_buffer(); result[0] = smlua_get_number_field(2, "x"); result[1] = smlua_get_number_field(2, "y"); result[2] = smlua_get_number_field(2, "z"); result[3] = smlua_get_number_field(2, "w"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spline_get_weights"); return 0; } f32 t = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "spline_get_weights"); return 0; } s32 c = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "spline_get_weights"); return 0; } spline_get_weights(m, result, t, c); smlua_push_number_field(2, "x", result[0]); smlua_push_number_field(2, "y", result[1]); smlua_push_number_field(2, "z", result[2]); smlua_push_number_field(2, "w", result[3]); return 1; } int smlua_func_vec3f_add(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_add", 2, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_add"); return 0; } f32* a = smlua_get_vec3f_from_buffer(); a[0] = smlua_get_number_field(2, "x"); a[1] = smlua_get_number_field(2, "y"); a[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_add"); return 0; } vec3f_add(dest, a); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_number_field(2, "x", a[0]); smlua_push_number_field(2, "y", a[1]); smlua_push_number_field(2, "z", a[2]); return 1; } int smlua_func_vec3f_combine(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_combine", 5, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_combine"); return 0; } f32* vecA = smlua_get_vec3f_from_buffer(); vecA[0] = smlua_get_number_field(2, "x"); vecA[1] = smlua_get_number_field(2, "y"); vecA[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_combine"); return 0; } f32* vecB = smlua_get_vec3f_from_buffer(); vecB[0] = smlua_get_number_field(3, "x"); vecB[1] = smlua_get_number_field(3, "y"); vecB[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3f_combine"); return 0; } f32 sclA = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "vec3f_combine"); return 0; } f32 sclB = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "vec3f_combine"); return 0; } vec3f_combine(dest, vecA, vecB, sclA, sclB); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_number_field(2, "x", vecA[0]); smlua_push_number_field(2, "y", vecA[1]); smlua_push_number_field(2, "z", vecA[2]); smlua_push_number_field(3, "x", vecB[0]); smlua_push_number_field(3, "y", vecB[1]); smlua_push_number_field(3, "z", vecB[2]); return 1; } int smlua_func_vec3f_copy(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_copy", 2, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_copy"); return 0; } f32* src = smlua_get_vec3f_from_buffer(); src[0] = smlua_get_number_field(2, "x"); src[1] = smlua_get_number_field(2, "y"); src[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_copy"); return 0; } vec3f_copy(dest, src); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_number_field(2, "x", src[0]); smlua_push_number_field(2, "y", src[1]); smlua_push_number_field(2, "z", src[2]); return 1; } int smlua_func_vec3f_cross(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_cross", 3, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_cross"); return 0; } f32* a = smlua_get_vec3f_from_buffer(); a[0] = smlua_get_number_field(2, "x"); a[1] = smlua_get_number_field(2, "y"); a[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_cross"); return 0; } f32* b = smlua_get_vec3f_from_buffer(); b[0] = smlua_get_number_field(3, "x"); b[1] = smlua_get_number_field(3, "y"); b[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3f_cross"); return 0; } vec3f_cross(dest, a, b); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_number_field(2, "x", a[0]); smlua_push_number_field(2, "y", a[1]); smlua_push_number_field(2, "z", a[2]); smlua_push_number_field(3, "x", b[0]); smlua_push_number_field(3, "y", b[1]); smlua_push_number_field(3, "z", b[2]); return 1; } int smlua_func_vec3f_dif(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_dif", 3, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_dif"); return 0; } f32* a = smlua_get_vec3f_from_buffer(); a[0] = smlua_get_number_field(2, "x"); a[1] = smlua_get_number_field(2, "y"); a[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_dif"); return 0; } f32* b = smlua_get_vec3f_from_buffer(); b[0] = smlua_get_number_field(3, "x"); b[1] = smlua_get_number_field(3, "y"); b[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3f_dif"); return 0; } vec3f_dif(dest, a, b); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_number_field(2, "x", a[0]); smlua_push_number_field(2, "y", a[1]); smlua_push_number_field(2, "z", a[2]); smlua_push_number_field(3, "x", b[0]); smlua_push_number_field(3, "y", b[1]); smlua_push_number_field(3, "z", b[2]); return 1; } int smlua_func_vec3f_dist(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_dist", 2, top); return 0; } f32* v1 = smlua_get_vec3f_from_buffer(); v1[0] = smlua_get_number_field(1, "x"); v1[1] = smlua_get_number_field(1, "y"); v1[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_dist"); return 0; } f32* v2 = smlua_get_vec3f_from_buffer(); v2[0] = smlua_get_number_field(2, "x"); v2[1] = smlua_get_number_field(2, "y"); v2[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_dist"); return 0; } lua_pushnumber(L, vec3f_dist(v1, v2)); smlua_push_number_field(1, "x", v1[0]); smlua_push_number_field(1, "y", v1[1]); smlua_push_number_field(1, "z", v1[2]); smlua_push_number_field(2, "x", v2[0]); smlua_push_number_field(2, "y", v2[1]); smlua_push_number_field(2, "z", v2[2]); return 1; } int smlua_func_vec3f_dot(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_dot", 2, top); return 0; } f32* a = smlua_get_vec3f_from_buffer(); a[0] = smlua_get_number_field(1, "x"); a[1] = smlua_get_number_field(1, "y"); a[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_dot"); return 0; } f32* b = smlua_get_vec3f_from_buffer(); b[0] = smlua_get_number_field(2, "x"); b[1] = smlua_get_number_field(2, "y"); b[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_dot"); return 0; } lua_pushnumber(L, vec3f_dot(a, b)); smlua_push_number_field(1, "x", a[0]); smlua_push_number_field(1, "y", a[1]); smlua_push_number_field(1, "z", a[2]); smlua_push_number_field(2, "x", b[0]); smlua_push_number_field(2, "y", b[1]); smlua_push_number_field(2, "z", b[2]); return 1; } int smlua_func_vec3f_get_dist_and_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_get_dist_and_angle", 5, top); return 0; } f32* from = smlua_get_vec3f_from_buffer(); from[0] = smlua_get_number_field(1, "x"); from[1] = smlua_get_number_field(1, "y"); from[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_get_dist_and_angle"); return 0; } f32* to = smlua_get_vec3f_from_buffer(); to[0] = smlua_get_number_field(2, "x"); to[1] = smlua_get_number_field(2, "y"); to[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_get_dist_and_angle"); return 0; } f32 * dist = (f32 *)smlua_to_cpointer(L, 3, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3f_get_dist_and_angle"); return 0; } s16 * pitch = (s16 *)smlua_to_cpointer(L, 4, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "vec3f_get_dist_and_angle"); return 0; } s16 * yaw = (s16 *)smlua_to_cpointer(L, 5, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "vec3f_get_dist_and_angle"); return 0; } vec3f_get_dist_and_angle(from, to, dist, pitch, yaw); smlua_push_number_field(1, "x", from[0]); smlua_push_number_field(1, "y", from[1]); smlua_push_number_field(1, "z", from[2]); smlua_push_number_field(2, "x", to[0]); smlua_push_number_field(2, "y", to[1]); smlua_push_number_field(2, "z", to[2]); return 1; } int smlua_func_vec3f_length(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", "vec3f_length", 1, top); return 0; } f32* a = smlua_get_vec3f_from_buffer(); a[0] = smlua_get_number_field(1, "x"); a[1] = smlua_get_number_field(1, "y"); a[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_length"); return 0; } lua_pushnumber(L, vec3f_length(a)); smlua_push_number_field(1, "x", a[0]); smlua_push_number_field(1, "y", a[1]); smlua_push_number_field(1, "z", a[2]); return 1; } int smlua_func_vec3f_mul(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_mul", 2, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_mul"); return 0; } f32 a = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_mul"); return 0; } vec3f_mul(dest, a); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); return 1; } int smlua_func_vec3f_normalize(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", "vec3f_normalize", 1, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_normalize"); return 0; } vec3f_normalize(dest); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); return 1; } int smlua_func_vec3f_project(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_project", 3, top); return 0; } f32* vec = smlua_get_vec3f_from_buffer(); vec[0] = smlua_get_number_field(1, "x"); vec[1] = smlua_get_number_field(1, "y"); vec[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_project"); return 0; } f32* onto = smlua_get_vec3f_from_buffer(); onto[0] = smlua_get_number_field(2, "x"); onto[1] = smlua_get_number_field(2, "y"); onto[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_project"); return 0; } f32* out = smlua_get_vec3f_from_buffer(); out[0] = smlua_get_number_field(3, "x"); out[1] = smlua_get_number_field(3, "y"); out[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3f_project"); return 0; } vec3f_project(vec, onto, out); smlua_push_number_field(1, "x", vec[0]); smlua_push_number_field(1, "y", vec[1]); smlua_push_number_field(1, "z", vec[2]); smlua_push_number_field(2, "x", onto[0]); smlua_push_number_field(2, "y", onto[1]); smlua_push_number_field(2, "z", onto[2]); smlua_push_number_field(3, "x", out[0]); smlua_push_number_field(3, "y", out[1]); smlua_push_number_field(3, "z", out[2]); return 1; } int smlua_func_vec3f_rotate_zxy(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_rotate_zxy", 2, top); return 0; } f32* v = smlua_get_vec3f_from_buffer(); v[0] = smlua_get_number_field(1, "x"); v[1] = smlua_get_number_field(1, "y"); v[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_rotate_zxy"); return 0; } s16* rotate = smlua_get_vec3s_from_buffer(); rotate[0] = smlua_get_integer_field(2, "x"); rotate[1] = smlua_get_integer_field(2, "y"); rotate[2] = smlua_get_integer_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_rotate_zxy"); return 0; } vec3f_rotate_zxy(v, rotate); smlua_push_number_field(1, "x", v[0]); smlua_push_number_field(1, "y", v[1]); smlua_push_number_field(1, "z", v[2]); smlua_push_integer_field(2, "x", rotate[0]); smlua_push_integer_field(2, "y", rotate[1]); smlua_push_integer_field(2, "z", rotate[2]); return 1; } int smlua_func_vec3f_set(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_set", 4, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_set"); return 0; } f32 x = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_set"); return 0; } f32 y = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3f_set"); return 0; } f32 z = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "vec3f_set"); return 0; } vec3f_set(dest, x, y, z); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); return 1; } int smlua_func_vec3f_set_dist_and_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_set_dist_and_angle", 5, top); return 0; } f32* from = smlua_get_vec3f_from_buffer(); from[0] = smlua_get_number_field(1, "x"); from[1] = smlua_get_number_field(1, "y"); from[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_set_dist_and_angle"); return 0; } f32* to = smlua_get_vec3f_from_buffer(); to[0] = smlua_get_number_field(2, "x"); to[1] = smlua_get_number_field(2, "y"); to[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_set_dist_and_angle"); return 0; } f32 dist = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3f_set_dist_and_angle"); return 0; } s16 pitch = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "vec3f_set_dist_and_angle"); return 0; } s16 yaw = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "vec3f_set_dist_and_angle"); return 0; } vec3f_set_dist_and_angle(from, to, dist, pitch, yaw); smlua_push_number_field(1, "x", from[0]); smlua_push_number_field(1, "y", from[1]); smlua_push_number_field(1, "z", from[2]); smlua_push_number_field(2, "x", to[0]); smlua_push_number_field(2, "y", to[1]); smlua_push_number_field(2, "z", to[2]); return 1; } int smlua_func_vec3f_sum(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_sum", 3, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_sum"); return 0; } f32* a = smlua_get_vec3f_from_buffer(); a[0] = smlua_get_number_field(2, "x"); a[1] = smlua_get_number_field(2, "y"); a[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_sum"); return 0; } f32* b = smlua_get_vec3f_from_buffer(); b[0] = smlua_get_number_field(3, "x"); b[1] = smlua_get_number_field(3, "y"); b[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3f_sum"); return 0; } vec3f_sum(dest, a, b); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_number_field(2, "x", a[0]); smlua_push_number_field(2, "y", a[1]); smlua_push_number_field(2, "z", a[2]); smlua_push_number_field(3, "x", b[0]); smlua_push_number_field(3, "y", b[1]); smlua_push_number_field(3, "z", b[2]); return 1; } int smlua_func_vec3f_to_vec3s(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3f_to_vec3s", 2, top); return 0; } s16* dest = smlua_get_vec3s_from_buffer(); dest[0] = smlua_get_integer_field(1, "x"); dest[1] = smlua_get_integer_field(1, "y"); dest[2] = smlua_get_integer_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3f_to_vec3s"); return 0; } f32* a = smlua_get_vec3f_from_buffer(); a[0] = smlua_get_number_field(2, "x"); a[1] = smlua_get_number_field(2, "y"); a[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3f_to_vec3s"); return 0; } vec3f_to_vec3s(dest, a); smlua_push_integer_field(1, "x", dest[0]); smlua_push_integer_field(1, "y", dest[1]); smlua_push_integer_field(1, "z", dest[2]); smlua_push_number_field(2, "x", a[0]); smlua_push_number_field(2, "y", a[1]); smlua_push_number_field(2, "z", a[2]); return 1; } int smlua_func_vec3s_add(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3s_add", 2, top); return 0; } s16* dest = smlua_get_vec3s_from_buffer(); dest[0] = smlua_get_integer_field(1, "x"); dest[1] = smlua_get_integer_field(1, "y"); dest[2] = smlua_get_integer_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3s_add"); return 0; } s16* a = smlua_get_vec3s_from_buffer(); a[0] = smlua_get_integer_field(2, "x"); a[1] = smlua_get_integer_field(2, "y"); a[2] = smlua_get_integer_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3s_add"); return 0; } vec3s_add(dest, a); smlua_push_integer_field(1, "x", dest[0]); smlua_push_integer_field(1, "y", dest[1]); smlua_push_integer_field(1, "z", dest[2]); smlua_push_integer_field(2, "x", a[0]); smlua_push_integer_field(2, "y", a[1]); smlua_push_integer_field(2, "z", a[2]); return 1; } int smlua_func_vec3s_copy(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3s_copy", 2, top); return 0; } s16* dest = smlua_get_vec3s_from_buffer(); dest[0] = smlua_get_integer_field(1, "x"); dest[1] = smlua_get_integer_field(1, "y"); dest[2] = smlua_get_integer_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3s_copy"); return 0; } s16* src = smlua_get_vec3s_from_buffer(); src[0] = smlua_get_integer_field(2, "x"); src[1] = smlua_get_integer_field(2, "y"); src[2] = smlua_get_integer_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3s_copy"); return 0; } vec3s_copy(dest, src); smlua_push_integer_field(1, "x", dest[0]); smlua_push_integer_field(1, "y", dest[1]); smlua_push_integer_field(1, "z", dest[2]); smlua_push_integer_field(2, "x", src[0]); smlua_push_integer_field(2, "y", src[1]); smlua_push_integer_field(2, "z", src[2]); return 1; } int smlua_func_vec3s_set(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3s_set", 4, top); return 0; } s16* dest = smlua_get_vec3s_from_buffer(); dest[0] = smlua_get_integer_field(1, "x"); dest[1] = smlua_get_integer_field(1, "y"); dest[2] = smlua_get_integer_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3s_set"); return 0; } s16 x = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3s_set"); return 0; } s16 y = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3s_set"); return 0; } s16 z = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "vec3s_set"); return 0; } vec3s_set(dest, x, y, z); smlua_push_integer_field(1, "x", dest[0]); smlua_push_integer_field(1, "y", dest[1]); smlua_push_integer_field(1, "z", dest[2]); return 1; } int smlua_func_vec3s_sum(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3s_sum", 3, top); return 0; } s16* dest = smlua_get_vec3s_from_buffer(); dest[0] = smlua_get_integer_field(1, "x"); dest[1] = smlua_get_integer_field(1, "y"); dest[2] = smlua_get_integer_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3s_sum"); return 0; } s16* a = smlua_get_vec3s_from_buffer(); a[0] = smlua_get_integer_field(2, "x"); a[1] = smlua_get_integer_field(2, "y"); a[2] = smlua_get_integer_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3s_sum"); return 0; } s16* b = smlua_get_vec3s_from_buffer(); b[0] = smlua_get_integer_field(3, "x"); b[1] = smlua_get_integer_field(3, "y"); b[2] = smlua_get_integer_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "vec3s_sum"); return 0; } vec3s_sum(dest, a, b); smlua_push_integer_field(1, "x", dest[0]); smlua_push_integer_field(1, "y", dest[1]); smlua_push_integer_field(1, "z", dest[2]); smlua_push_integer_field(2, "x", a[0]); smlua_push_integer_field(2, "y", a[1]); smlua_push_integer_field(2, "z", a[2]); smlua_push_integer_field(3, "x", b[0]); smlua_push_integer_field(3, "y", b[1]); smlua_push_integer_field(3, "z", b[2]); return 1; } int smlua_func_vec3s_to_vec3f(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "vec3s_to_vec3f", 2, top); return 0; } f32* dest = smlua_get_vec3f_from_buffer(); dest[0] = smlua_get_number_field(1, "x"); dest[1] = smlua_get_number_field(1, "y"); dest[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "vec3s_to_vec3f"); return 0; } s16* a = smlua_get_vec3s_from_buffer(); a[0] = smlua_get_integer_field(2, "x"); a[1] = smlua_get_integer_field(2, "y"); a[2] = smlua_get_integer_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "vec3s_to_vec3f"); return 0; } vec3s_to_vec3f(dest, a); smlua_push_number_field(1, "x", dest[0]); smlua_push_number_field(1, "y", dest[1]); smlua_push_number_field(1, "z", dest[2]); smlua_push_integer_field(2, "x", a[0]); smlua_push_integer_field(2, "y", a[1]); smlua_push_integer_field(2, "z", a[2]); return 1; } //////////// // misc.h // //////////// int smlua_func_update_all_mario_stars(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", "update_all_mario_stars", 0, top); return 0; } update_all_mario_stars(); return 1; } ///////////////////// // mod_storage.c.h // ///////////////////// int smlua_func_mod_storage_clear(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", "mod_storage_clear", 0, top); return 0; } lua_pushboolean(L, mod_storage_clear()); return 1; } int smlua_func_mod_storage_load(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", "mod_storage_load", 1, top); return 0; } const char* key = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mod_storage_load"); return 0; } lua_pushstring(L, mod_storage_load(key)); return 1; } int smlua_func_mod_storage_load_bool(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", "mod_storage_load_bool", 1, top); return 0; } const char* key = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mod_storage_load_bool"); return 0; } lua_pushboolean(L, mod_storage_load_bool(key)); return 1; } int smlua_func_mod_storage_load_number(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", "mod_storage_load_number", 1, top); return 0; } const char* key = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mod_storage_load_number"); return 0; } lua_pushnumber(L, mod_storage_load_number(key)); return 1; } int smlua_func_mod_storage_save(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mod_storage_save", 2, top); return 0; } const char* key = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mod_storage_save"); return 0; } const char* value = smlua_to_string(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mod_storage_save"); return 0; } lua_pushboolean(L, mod_storage_save(key, value)); return 1; } int smlua_func_mod_storage_save_bool(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mod_storage_save_bool", 2, top); return 0; } const char* key = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mod_storage_save_bool"); return 0; } bool value = smlua_to_boolean(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mod_storage_save_bool"); return 0; } lua_pushboolean(L, mod_storage_save_bool(key, value)); return 1; } int smlua_func_mod_storage_save_number(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mod_storage_save_number", 2, top); return 0; } const char* key = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mod_storage_save_number"); return 0; } double value = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mod_storage_save_number"); return 0; } lua_pushboolean(L, mod_storage_save_number(key, value)); return 1; } ////////////////////// // network_player.h // ////////////////////// int smlua_func_get_network_player_from_area(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_network_player_from_area", 4, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_network_player_from_area"); return 0; } s16 actNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_network_player_from_area"); return 0; } s16 levelNum = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "get_network_player_from_area"); return 0; } s16 areaIndex = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "get_network_player_from_area"); return 0; } smlua_push_object(L, LOT_NETWORKPLAYER, get_network_player_from_area(courseNum, actNum, levelNum, areaIndex)); return 1; } int smlua_func_get_network_player_from_level(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_network_player_from_level", 3, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_network_player_from_level"); return 0; } s16 actNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_network_player_from_level"); return 0; } s16 levelNum = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "get_network_player_from_level"); return 0; } smlua_push_object(L, LOT_NETWORKPLAYER, get_network_player_from_level(courseNum, actNum, levelNum)); return 1; } int smlua_func_get_network_player_smallest_global(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", "get_network_player_smallest_global", 0, top); return 0; } smlua_push_object(L, LOT_NETWORKPLAYER, get_network_player_smallest_global()); return 1; } int smlua_func_network_player_color_to_palette(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "network_player_color_to_palette", 3, top); return 0; } struct NetworkPlayer* np = (struct NetworkPlayer*)smlua_to_cobject(L, 1, LOT_NETWORKPLAYER); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "network_player_color_to_palette"); return 0; } int part = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "network_player_color_to_palette"); return 0; } u8* color = smlua_get_color_from_buffer(); color[0] = smlua_get_integer_field(3, "r"); color[1] = smlua_get_integer_field(3, "g"); color[2] = smlua_get_integer_field(3, "b"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "network_player_color_to_palette"); return 0; } network_player_color_to_palette(np, part, color); smlua_push_integer_field(3, "r", color[0]); smlua_push_integer_field(3, "g", color[1]); smlua_push_integer_field(3, "b", color[2]); return 1; } int smlua_func_network_player_connected_count(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", "network_player_connected_count", 0, top); return 0; } lua_pushinteger(L, network_player_connected_count()); return 1; } int smlua_func_network_player_from_global_index(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", "network_player_from_global_index", 1, top); return 0; } u8 globalIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "network_player_from_global_index"); return 0; } smlua_push_object(L, LOT_NETWORKPLAYER, network_player_from_global_index(globalIndex)); return 1; } int smlua_func_network_player_palette_to_color(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "network_player_palette_to_color", 3, top); return 0; } struct NetworkPlayer* np = (struct NetworkPlayer*)smlua_to_cobject(L, 1, LOT_NETWORKPLAYER); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "network_player_palette_to_color"); return 0; } int part = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "network_player_palette_to_color"); return 0; } u8* out = smlua_get_color_from_buffer(); out[0] = smlua_get_integer_field(3, "r"); out[1] = smlua_get_integer_field(3, "g"); out[2] = smlua_get_integer_field(3, "b"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "network_player_palette_to_color"); return 0; } network_player_palette_to_color(np, part, out); smlua_push_integer_field(3, "r", out[0]); smlua_push_integer_field(3, "g", out[1]); smlua_push_integer_field(3, "b", out[2]); return 1; } int smlua_func_network_player_set_description(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "network_player_set_description", 6, top); return 0; } struct NetworkPlayer* np = (struct NetworkPlayer*)smlua_to_cobject(L, 1, LOT_NETWORKPLAYER); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "network_player_set_description"); return 0; } const char* description = smlua_to_string(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "network_player_set_description"); return 0; } u8 r = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "network_player_set_description"); return 0; } u8 g = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "network_player_set_description"); return 0; } u8 b = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "network_player_set_description"); return 0; } u8 a = smlua_to_integer(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "network_player_set_description"); return 0; } network_player_set_description(np, description, r, g, b, a); return 1; } ///////////////////// // network_utils.h // ///////////////////// int smlua_func_network_get_player_text_color_string(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", "network_get_player_text_color_string", 1, top); return 0; } u8 localIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "network_get_player_text_color_string"); return 0; } lua_pushstring(L, network_get_player_text_color_string(localIndex)); return 1; } int smlua_func_network_global_index_from_local(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", "network_global_index_from_local", 1, top); return 0; } u8 localIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "network_global_index_from_local"); return 0; } lua_pushinteger(L, network_global_index_from_local(localIndex)); return 1; } int smlua_func_network_is_moderator(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", "network_is_moderator", 0, top); return 0; } lua_pushboolean(L, network_is_moderator()); return 1; } int smlua_func_network_is_server(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", "network_is_server", 0, top); return 0; } lua_pushboolean(L, network_is_server()); return 1; } int smlua_func_network_local_index_from_global(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", "network_local_index_from_global", 1, top); return 0; } u8 globalIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "network_local_index_from_global"); return 0; } lua_pushinteger(L, network_local_index_from_global(globalIndex)); return 1; } ///////////////////// // obj_behaviors.c // ///////////////////// int smlua_func_absf_2(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", "absf_2", 1, top); return 0; } f32 f = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "absf_2"); return 0; } extern f32 absf_2(f32 f); lua_pushnumber(L, absf_2(f)); return 1; } int smlua_func_calc_new_obj_vel_and_pos_y(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "calc_new_obj_vel_and_pos_y", 4, top); return 0; } struct Surface* objFloor = (struct Surface*)smlua_to_cobject(L, 1, LOT_SURFACE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "calc_new_obj_vel_and_pos_y"); return 0; } f32 objFloorY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "calc_new_obj_vel_and_pos_y"); return 0; } f32 objVelX = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "calc_new_obj_vel_and_pos_y"); return 0; } f32 objVelZ = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "calc_new_obj_vel_and_pos_y"); return 0; } extern void calc_new_obj_vel_and_pos_y(struct Surface *objFloor, f32 objFloorY, f32 objVelX, f32 objVelZ); calc_new_obj_vel_and_pos_y(objFloor, objFloorY, objVelX, objVelZ); return 1; } int smlua_func_calc_new_obj_vel_and_pos_y_underwater(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "calc_new_obj_vel_and_pos_y_underwater", 5, top); return 0; } struct Surface* objFloor = (struct Surface*)smlua_to_cobject(L, 1, LOT_SURFACE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "calc_new_obj_vel_and_pos_y_underwater"); return 0; } f32 floorY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "calc_new_obj_vel_and_pos_y_underwater"); return 0; } f32 objVelX = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "calc_new_obj_vel_and_pos_y_underwater"); return 0; } f32 objVelZ = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "calc_new_obj_vel_and_pos_y_underwater"); return 0; } f32 waterY = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "calc_new_obj_vel_and_pos_y_underwater"); return 0; } extern void calc_new_obj_vel_and_pos_y_underwater(struct Surface *objFloor, f32 floorY, f32 objVelX, f32 objVelZ, f32 waterY); calc_new_obj_vel_and_pos_y_underwater(objFloor, floorY, objVelX, objVelZ, waterY); return 1; } int smlua_func_calc_obj_friction(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "calc_obj_friction", 2, top); return 0; } f32 * objFriction = (f32 *)smlua_to_cpointer(L, 1, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "calc_obj_friction"); return 0; } f32 floor_nY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "calc_obj_friction"); return 0; } extern void calc_obj_friction(f32 *objFriction, f32 floor_nY); calc_obj_friction(objFriction, floor_nY); return 1; } int smlua_func_current_mario_room_check(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", "current_mario_room_check", 1, top); return 0; } s16 room = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "current_mario_room_check"); return 0; } extern s8 current_mario_room_check(s16 room); lua_pushinteger(L, current_mario_room_check(room)); return 1; } /* int smlua_func_geo_obj_transparency_something(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_obj_transparency_something", 3, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_obj_transparency_something"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_obj_transparency_something"); return 0; } Mat4 * mtx = (Mat4 *)smlua_to_cpointer(L, 3, LVT_COBJECT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_obj_transparency_something"); return 0; } extern Gfx UNUSED *geo_obj_transparency_something(s32 callContext, struct GraphNode *node, UNUSED Mat4 *mtx); UNIMPLEMENTED -->(L, geo_obj_transparency_something(callContext, node, mtx)); return 1; } */ int smlua_func_is_nearest_mario_state_to_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "is_nearest_mario_state_to_object", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_nearest_mario_state_to_object"); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "is_nearest_mario_state_to_object"); return 0; } extern u8 is_nearest_mario_state_to_object(struct MarioState *m, struct Object *obj); lua_pushinteger(L, is_nearest_mario_state_to_object(m, obj)); return 1; } int smlua_func_is_nearest_player_to_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "is_nearest_player_to_object", 2, top); return 0; } struct Object* m = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_nearest_player_to_object"); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "is_nearest_player_to_object"); return 0; } extern u8 is_nearest_player_to_object(struct Object *m, struct Object *obj); lua_pushinteger(L, is_nearest_player_to_object(m, obj)); return 1; } int smlua_func_is_other_player_active(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", "is_other_player_active", 0, top); return 0; } extern u8 is_other_player_active(void); lua_pushinteger(L, is_other_player_active()); return 1; } int smlua_func_is_player_active(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", "is_player_active", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_player_active"); return 0; } extern u8 is_player_active(struct MarioState* m); lua_pushinteger(L, is_player_active(m)); return 1; } int smlua_func_is_player_in_local_area(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", "is_player_in_local_area", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_player_in_local_area"); return 0; } extern u8 is_player_in_local_area(struct MarioState* m); lua_pushinteger(L, is_player_in_local_area(m)); return 1; } int smlua_func_is_point_close_to_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "is_point_close_to_object", 5, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_point_close_to_object"); return 0; } f32 x = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "is_point_close_to_object"); return 0; } f32 y = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "is_point_close_to_object"); return 0; } f32 z = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "is_point_close_to_object"); return 0; } s32 dist = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "is_point_close_to_object"); return 0; } extern s8 is_point_close_to_object(struct Object *obj, f32 x, f32 y, f32 z, s32 dist); lua_pushinteger(L, is_point_close_to_object(obj, x, y, z, dist)); return 1; } int smlua_func_is_point_within_radius_of_any_player(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "is_point_within_radius_of_any_player", 4, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_point_within_radius_of_any_player"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "is_point_within_radius_of_any_player"); return 0; } f32 z = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "is_point_within_radius_of_any_player"); return 0; } s32 dist = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "is_point_within_radius_of_any_player"); return 0; } extern s8 is_point_within_radius_of_any_player(f32 x, f32 y, f32 z, s32 dist); lua_pushinteger(L, is_point_within_radius_of_any_player(x, y, z, dist)); return 1; } int smlua_func_is_point_within_radius_of_mario(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "is_point_within_radius_of_mario", 4, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_point_within_radius_of_mario"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "is_point_within_radius_of_mario"); return 0; } f32 z = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "is_point_within_radius_of_mario"); return 0; } s32 dist = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "is_point_within_radius_of_mario"); return 0; } extern s8 is_point_within_radius_of_mario(f32 x, f32 y, f32 z, s32 dist); lua_pushinteger(L, is_point_within_radius_of_mario(x, y, z, dist)); return 1; } int smlua_func_nearest_interacting_mario_state_to_object(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", "nearest_interacting_mario_state_to_object", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "nearest_interacting_mario_state_to_object"); return 0; } extern struct MarioState *nearest_interacting_mario_state_to_object(struct Object *obj); smlua_push_object(L, LOT_MARIOSTATE, nearest_interacting_mario_state_to_object(obj)); return 1; } int smlua_func_nearest_interacting_player_to_object(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", "nearest_interacting_player_to_object", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "nearest_interacting_player_to_object"); return 0; } extern struct Object *nearest_interacting_player_to_object(struct Object *obj); smlua_push_object(L, LOT_OBJECT, nearest_interacting_player_to_object(obj)); return 1; } int smlua_func_nearest_mario_state_to_object(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", "nearest_mario_state_to_object", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "nearest_mario_state_to_object"); return 0; } extern struct MarioState* nearest_mario_state_to_object(struct Object *obj); smlua_push_object(L, LOT_MARIOSTATE, nearest_mario_state_to_object(obj)); return 1; } int smlua_func_nearest_player_to_object(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", "nearest_player_to_object", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "nearest_player_to_object"); return 0; } extern struct Object* nearest_player_to_object(struct Object *obj); smlua_push_object(L, LOT_OBJECT, nearest_player_to_object(obj)); return 1; } int smlua_func_nearest_possible_mario_state_to_object(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", "nearest_possible_mario_state_to_object", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "nearest_possible_mario_state_to_object"); return 0; } extern struct MarioState* nearest_possible_mario_state_to_object(struct Object *obj); smlua_push_object(L, LOT_MARIOSTATE, nearest_possible_mario_state_to_object(obj)); return 1; } int smlua_func_obj_check_floor_death(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_check_floor_death", 2, top); return 0; } s16 collisionFlags = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_check_floor_death"); return 0; } struct Surface* floor = (struct Surface*)smlua_to_cobject(L, 2, LOT_SURFACE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_check_floor_death"); return 0; } extern void obj_check_floor_death(s16 collisionFlags, struct Surface *floor); obj_check_floor_death(collisionFlags, floor); return 1; } int smlua_func_obj_check_if_facing_toward_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_check_if_facing_toward_angle", 3, top); return 0; } u32 base = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_check_if_facing_toward_angle"); return 0; } u32 goal = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_check_if_facing_toward_angle"); return 0; } s16 range = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_check_if_facing_toward_angle"); return 0; } extern s8 obj_check_if_facing_toward_angle(u32 base, u32 goal, s16 range); lua_pushinteger(L, obj_check_if_facing_toward_angle(base, goal, range)); return 1; } int smlua_func_obj_find_wall(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_find_wall", 5, top); return 0; } f32 objNewX = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_find_wall"); return 0; } f32 objY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_find_wall"); return 0; } f32 objNewZ = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_find_wall"); return 0; } f32 objVelX = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_find_wall"); return 0; } f32 objVelZ = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "obj_find_wall"); return 0; } extern s8 obj_find_wall(f32 objNewX, f32 objY, f32 objNewZ, f32 objVelX, f32 objVelZ); lua_pushinteger(L, obj_find_wall(objNewX, objY, objNewZ, objVelX, objVelZ)); return 1; } int smlua_func_obj_find_wall_displacement(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_find_wall_displacement", 5, top); return 0; } f32* dist = smlua_get_vec3f_from_buffer(); dist[0] = smlua_get_number_field(1, "x"); dist[1] = smlua_get_number_field(1, "y"); dist[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_find_wall_displacement"); return 0; } f32 x = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_find_wall_displacement"); return 0; } f32 y = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_find_wall_displacement"); return 0; } f32 z = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_find_wall_displacement"); return 0; } f32 radius = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "obj_find_wall_displacement"); return 0; } extern s8 obj_find_wall_displacement(Vec3f dist, f32 x, f32 y, f32 z, f32 radius); lua_pushinteger(L, obj_find_wall_displacement(dist, x, y, z, radius)); smlua_push_number_field(1, "x", dist[0]); smlua_push_number_field(1, "y", dist[1]); smlua_push_number_field(1, "z", dist[2]); return 1; } int smlua_func_obj_flicker_and_disappear(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_flicker_and_disappear", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_flicker_and_disappear"); return 0; } s16 lifeSpan = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_flicker_and_disappear"); return 0; } extern s8 obj_flicker_and_disappear(struct Object *obj, s16 lifeSpan); lua_pushinteger(L, obj_flicker_and_disappear(obj, lifeSpan)); return 1; } int smlua_func_obj_lava_death(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", "obj_lava_death", 0, top); return 0; } extern s8 obj_lava_death(void); lua_pushinteger(L, obj_lava_death()); return 1; } int smlua_func_obj_move_xyz_using_fvel_and_yaw(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", "obj_move_xyz_using_fvel_and_yaw", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_move_xyz_using_fvel_and_yaw"); return 0; } extern void obj_move_xyz_using_fvel_and_yaw(struct Object *obj); obj_move_xyz_using_fvel_and_yaw(obj); return 1; } int smlua_func_obj_orient_graph(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_orient_graph", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_orient_graph"); return 0; } f32 normalX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_orient_graph"); return 0; } f32 normalY = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_orient_graph"); return 0; } f32 normalZ = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_orient_graph"); return 0; } extern void obj_orient_graph(struct Object *obj, f32 normalX, f32 normalY, f32 normalZ); obj_orient_graph(obj, normalX, normalY, normalZ); return 1; } int smlua_func_obj_return_and_displace_home(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_return_and_displace_home", 5, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_return_and_displace_home"); return 0; } f32 homeX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_return_and_displace_home"); return 0; } f32 homeY = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_return_and_displace_home"); return 0; } f32 homeZ = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_return_and_displace_home"); return 0; } s32 baseDisp = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "obj_return_and_displace_home"); return 0; } extern void obj_return_and_displace_home(struct Object *obj, f32 homeX, UNUSED f32 homeY, f32 homeZ, s32 baseDisp); obj_return_and_displace_home(obj, homeX, homeY, homeZ, baseDisp); return 1; } int smlua_func_obj_return_home_if_safe(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_return_home_if_safe", 5, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_return_home_if_safe"); return 0; } f32 homeX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_return_home_if_safe"); return 0; } f32 y = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_return_home_if_safe"); return 0; } f32 homeZ = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_return_home_if_safe"); return 0; } s32 dist = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "obj_return_home_if_safe"); return 0; } extern s8 obj_return_home_if_safe(struct Object *obj, f32 homeX, f32 y, f32 homeZ, s32 dist); lua_pushinteger(L, obj_return_home_if_safe(obj, homeX, y, homeZ, dist)); return 1; } int smlua_func_obj_spawn_yellow_coins(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_spawn_yellow_coins", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_spawn_yellow_coins"); return 0; } s8 nCoins = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_spawn_yellow_coins"); return 0; } extern void obj_spawn_yellow_coins(struct Object *obj, s8 nCoins); obj_spawn_yellow_coins(obj, nCoins); return 1; } int smlua_func_obj_splash(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_splash", 2, top); return 0; } s32 waterY = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_splash"); return 0; } s32 objY = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_splash"); return 0; } extern void obj_splash(s32 waterY, s32 objY); obj_splash(waterY, objY); return 1; } int smlua_func_obj_update_pos_vel_xz(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", "obj_update_pos_vel_xz", 0, top); return 0; } extern void obj_update_pos_vel_xz(void); obj_update_pos_vel_xz(); return 1; } int smlua_func_object_step(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", "object_step", 0, top); return 0; } extern s16 object_step(void); lua_pushinteger(L, object_step()); return 1; } int smlua_func_object_step_without_floor_orient(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", "object_step_without_floor_orient", 0, top); return 0; } extern s16 object_step_without_floor_orient(void); lua_pushinteger(L, object_step_without_floor_orient()); return 1; } int smlua_func_set_object_visibility(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_object_visibility", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_object_visibility"); return 0; } s32 dist = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_object_visibility"); return 0; } extern void set_object_visibility(struct Object *obj, s32 dist); set_object_visibility(obj, dist); return 1; } int smlua_func_set_yoshi_as_not_dead(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", "set_yoshi_as_not_dead", 0, top); return 0; } extern void set_yoshi_as_not_dead(void); set_yoshi_as_not_dead(); return 1; } int smlua_func_spawn_orange_number(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_orange_number", 4, top); return 0; } s8 behParam = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_orange_number"); return 0; } s16 relX = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_orange_number"); return 0; } s16 relY = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "spawn_orange_number"); return 0; } s16 relZ = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "spawn_orange_number"); return 0; } extern void spawn_orange_number(s8 behParam, s16 relX, s16 relY, s16 relZ); spawn_orange_number(behParam, relX, relY, relZ); return 1; } int smlua_func_turn_obj_away_from_steep_floor(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "turn_obj_away_from_steep_floor", 4, top); return 0; } struct Surface* objFloor = (struct Surface*)smlua_to_cobject(L, 1, LOT_SURFACE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "turn_obj_away_from_steep_floor"); return 0; } f32 floorY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "turn_obj_away_from_steep_floor"); return 0; } f32 objVelX = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "turn_obj_away_from_steep_floor"); return 0; } f32 objVelZ = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "turn_obj_away_from_steep_floor"); return 0; } extern s8 turn_obj_away_from_steep_floor(struct Surface *objFloor, f32 floorY, f32 objVelX, f32 objVelZ); lua_pushinteger(L, turn_obj_away_from_steep_floor(objFloor, floorY, objVelX, objVelZ)); return 1; } int smlua_func_turn_obj_away_from_surface(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 7) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "turn_obj_away_from_surface", 7, top); return 0; } f32 velX = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "turn_obj_away_from_surface"); return 0; } f32 velZ = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "turn_obj_away_from_surface"); return 0; } f32 nX = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "turn_obj_away_from_surface"); return 0; } f32 nY = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "turn_obj_away_from_surface"); return 0; } f32 nZ = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "turn_obj_away_from_surface"); return 0; } f32 * objYawX = (f32 *)smlua_to_cpointer(L, 6, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "turn_obj_away_from_surface"); return 0; } f32 * objYawZ = (f32 *)smlua_to_cpointer(L, 7, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "turn_obj_away_from_surface"); return 0; } extern void turn_obj_away_from_surface(f32 velX, f32 velZ, f32 nX, UNUSED f32 nY, f32 nZ, f32 *objYawX, f32 *objYawZ); turn_obj_away_from_surface(velX, velZ, nX, nY, nZ, objYawX, objYawZ); return 1; } /////////////////////// // obj_behaviors_2.c // /////////////////////// int smlua_func_approach_f32_ptr(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_f32_ptr", 3, top); return 0; } f32 * px = (f32 *)smlua_to_cpointer(L, 1, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_f32_ptr"); return 0; } f32 target = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_f32_ptr"); return 0; } f32 delta = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_f32_ptr"); return 0; } extern s32 approach_f32_ptr(f32 *px, f32 target, f32 delta); lua_pushinteger(L, approach_f32_ptr(px, target, delta)); return 1; } int smlua_func_cur_obj_init_anim_and_check_if_end(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", "cur_obj_init_anim_and_check_if_end", 1, top); return 0; } s32 arg0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_init_anim_and_check_if_end"); return 0; } extern s32 cur_obj_init_anim_and_check_if_end(s32 arg0); lua_pushinteger(L, cur_obj_init_anim_and_check_if_end(arg0)); return 1; } int smlua_func_cur_obj_init_anim_check_frame(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_init_anim_check_frame", 2, top); return 0; } s32 arg0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_init_anim_check_frame"); return 0; } s32 arg1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_init_anim_check_frame"); return 0; } extern s32 cur_obj_init_anim_check_frame(s32 arg0, s32 arg1); lua_pushinteger(L, cur_obj_init_anim_check_frame(arg0, arg1)); return 1; } int smlua_func_cur_obj_init_anim_extend(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", "cur_obj_init_anim_extend", 1, top); return 0; } s32 arg0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_init_anim_extend"); return 0; } extern void cur_obj_init_anim_extend(s32 arg0); cur_obj_init_anim_extend(arg0); return 1; } int smlua_func_cur_obj_play_sound_at_anim_range(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_play_sound_at_anim_range", 3, top); return 0; } s8 arg0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_play_sound_at_anim_range"); return 0; } s8 arg1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_play_sound_at_anim_range"); return 0; } u32 sound = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_play_sound_at_anim_range"); return 0; } extern s32 cur_obj_play_sound_at_anim_range(s8 arg0, s8 arg1, u32 sound); lua_pushinteger(L, cur_obj_play_sound_at_anim_range(arg0, arg1, sound)); return 1; } int smlua_func_cur_obj_set_anim_if_at_end(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", "cur_obj_set_anim_if_at_end", 1, top); return 0; } s32 arg0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_set_anim_if_at_end"); return 0; } extern s32 cur_obj_set_anim_if_at_end(s32 arg0); lua_pushinteger(L, cur_obj_set_anim_if_at_end(arg0)); return 1; } int smlua_func_cur_obj_spin_all_dimensions(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_spin_all_dimensions", 2, top); return 0; } f32 arg0 = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_spin_all_dimensions"); return 0; } f32 arg1 = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_spin_all_dimensions"); return 0; } extern void cur_obj_spin_all_dimensions(f32 arg0, f32 arg1); cur_obj_spin_all_dimensions(arg0, arg1); return 1; } int smlua_func_obj_act_knockback(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", "obj_act_knockback", 1, top); return 0; } f32 baseScale = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_act_knockback"); return 0; } extern void obj_act_knockback(UNUSED f32 baseScale); obj_act_knockback(baseScale); return 1; } int smlua_func_obj_act_squished(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", "obj_act_squished", 1, top); return 0; } f32 baseScale = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_act_squished"); return 0; } extern void obj_act_squished(f32 baseScale); obj_act_squished(baseScale); return 1; } int smlua_func_obj_bounce_off_walls_edges_objects(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", "obj_bounce_off_walls_edges_objects", 1, top); return 0; } s32 * targetYaw = (s32 *)smlua_to_cpointer(L, 1, LVT_S32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_bounce_off_walls_edges_objects"); return 0; } extern s32 obj_bounce_off_walls_edges_objects(s32 *targetYaw); lua_pushinteger(L, obj_bounce_off_walls_edges_objects(targetYaw)); return 1; } int smlua_func_obj_check_attacks(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_check_attacks", 2, top); return 0; } struct ObjectHitbox* hitbox = (struct ObjectHitbox*)smlua_to_cobject(L, 1, LOT_OBJECTHITBOX); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_check_attacks"); return 0; } s32 attackedMarioAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_check_attacks"); return 0; } extern s32 obj_check_attacks(struct ObjectHitbox *hitbox, s32 attackedMarioAction); lua_pushinteger(L, obj_check_attacks(hitbox, attackedMarioAction)); return 1; } int smlua_func_obj_compute_vel_from_move_pitch(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", "obj_compute_vel_from_move_pitch", 1, top); return 0; } f32 speed = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_compute_vel_from_move_pitch"); return 0; } extern void obj_compute_vel_from_move_pitch(f32 speed); obj_compute_vel_from_move_pitch(speed); return 1; } int smlua_func_obj_die_if_above_lava_and_health_non_positive(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", "obj_die_if_above_lava_and_health_non_positive", 0, top); return 0; } extern s32 obj_die_if_above_lava_and_health_non_positive(void); lua_pushinteger(L, obj_die_if_above_lava_and_health_non_positive()); return 1; } int smlua_func_obj_die_if_health_non_positive(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", "obj_die_if_health_non_positive", 0, top); return 0; } extern void obj_die_if_health_non_positive(void); obj_die_if_health_non_positive(); return 1; } int smlua_func_obj_face_pitch_approach(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_face_pitch_approach", 2, top); return 0; } s16 targetPitch = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_face_pitch_approach"); return 0; } s16 deltaPitch = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_face_pitch_approach"); return 0; } extern s32 obj_face_pitch_approach(s16 targetPitch, s16 deltaPitch); lua_pushinteger(L, obj_face_pitch_approach(targetPitch, deltaPitch)); return 1; } int smlua_func_obj_face_roll_approach(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_face_roll_approach", 2, top); return 0; } s16 targetRoll = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_face_roll_approach"); return 0; } s16 deltaRoll = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_face_roll_approach"); return 0; } extern s32 obj_face_roll_approach(s16 targetRoll, s16 deltaRoll); lua_pushinteger(L, obj_face_roll_approach(targetRoll, deltaRoll)); return 1; } int smlua_func_obj_face_yaw_approach(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_face_yaw_approach", 2, top); return 0; } s16 targetYaw = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_face_yaw_approach"); return 0; } s16 deltaYaw = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_face_yaw_approach"); return 0; } extern s32 obj_face_yaw_approach(s16 targetYaw, s16 deltaYaw); lua_pushinteger(L, obj_face_yaw_approach(targetYaw, deltaYaw)); return 1; } int smlua_func_obj_forward_vel_approach(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_forward_vel_approach", 2, top); return 0; } f32 target = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_forward_vel_approach"); return 0; } f32 delta = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_forward_vel_approach"); return 0; } extern s32 obj_forward_vel_approach(f32 target, f32 delta); lua_pushinteger(L, obj_forward_vel_approach(target, delta)); return 1; } int smlua_func_obj_get_pitch_from_vel(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", "obj_get_pitch_from_vel", 0, top); return 0; } extern s16 obj_get_pitch_from_vel(void); lua_pushinteger(L, obj_get_pitch_from_vel()); return 1; } int smlua_func_obj_get_pitch_to_home(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", "obj_get_pitch_to_home", 1, top); return 0; } f32 latDistToHome = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_pitch_to_home"); return 0; } extern s16 obj_get_pitch_to_home(f32 latDistToHome); lua_pushinteger(L, obj_get_pitch_to_home(latDistToHome)); return 1; } int smlua_func_obj_grow_then_shrink(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_grow_then_shrink", 3, top); return 0; } f32 * scaleVel = (f32 *)smlua_to_cpointer(L, 1, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_grow_then_shrink"); return 0; } f32 shootFireScale = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_grow_then_shrink"); return 0; } f32 endScale = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_grow_then_shrink"); return 0; } extern s32 obj_grow_then_shrink(f32 *scaleVel, f32 shootFireScale, f32 endScale); lua_pushinteger(L, obj_grow_then_shrink(scaleVel, shootFireScale, endScale)); return 1; } int smlua_func_obj_handle_attacks(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_handle_attacks", 3, top); return 0; } struct ObjectHitbox* hitbox = (struct ObjectHitbox*)smlua_to_cobject(L, 1, LOT_OBJECTHITBOX); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_handle_attacks"); return 0; } s32 attackedMarioAction = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_handle_attacks"); return 0; } u8 * attackHandlers = (u8 *)smlua_to_cpointer(L, 3, LVT_U8_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_handle_attacks"); return 0; } extern s32 obj_handle_attacks(struct ObjectHitbox *hitbox, s32 attackedMarioAction, u8 *attackHandlers); lua_pushinteger(L, obj_handle_attacks(hitbox, attackedMarioAction, attackHandlers)); return 1; } int smlua_func_obj_is_near_to_and_facing_mario(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_is_near_to_and_facing_mario", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_near_to_and_facing_mario"); return 0; } f32 maxDist = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_is_near_to_and_facing_mario"); return 0; } s16 maxAngleDiff = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_is_near_to_and_facing_mario"); return 0; } extern s32 obj_is_near_to_and_facing_mario(struct MarioState* m, f32 maxDist, s16 maxAngleDiff); lua_pushinteger(L, obj_is_near_to_and_facing_mario(m, maxDist, maxAngleDiff)); return 1; } int smlua_func_obj_is_rendering_enabled(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", "obj_is_rendering_enabled", 0, top); return 0; } extern s32 obj_is_rendering_enabled(void); lua_pushinteger(L, obj_is_rendering_enabled()); return 1; } int smlua_func_obj_move_for_one_second(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", "obj_move_for_one_second", 1, top); return 0; } s32 endAction = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_move_for_one_second"); return 0; } extern s32 obj_move_for_one_second(s32 endAction); lua_pushinteger(L, obj_move_for_one_second(endAction)); return 1; } int smlua_func_obj_move_pitch_approach(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_move_pitch_approach", 2, top); return 0; } s16 target = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_move_pitch_approach"); return 0; } s16 delta = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_move_pitch_approach"); return 0; } extern s32 obj_move_pitch_approach(s16 target, s16 delta); lua_pushinteger(L, obj_move_pitch_approach(target, delta)); return 1; } int smlua_func_obj_random_fixed_turn(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", "obj_random_fixed_turn", 1, top); return 0; } s16 delta = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_random_fixed_turn"); return 0; } extern s16 obj_random_fixed_turn(s16 delta); lua_pushinteger(L, obj_random_fixed_turn(delta)); return 1; } int smlua_func_obj_resolve_collisions_and_turn(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_resolve_collisions_and_turn", 2, top); return 0; } s16 targetYaw = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_resolve_collisions_and_turn"); return 0; } s16 turnSpeed = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_resolve_collisions_and_turn"); return 0; } extern s32 obj_resolve_collisions_and_turn(s16 targetYaw, s16 turnSpeed); lua_pushinteger(L, obj_resolve_collisions_and_turn(targetYaw, turnSpeed)); return 1; } int smlua_func_obj_resolve_object_collisions(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", "obj_resolve_object_collisions", 1, top); return 0; } s32 * targetYaw = (s32 *)smlua_to_cpointer(L, 1, LVT_S32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_resolve_object_collisions"); return 0; } extern s32 obj_resolve_object_collisions(s32 *targetYaw); lua_pushinteger(L, obj_resolve_object_collisions(targetYaw)); return 1; } int smlua_func_obj_roll_to_match_yaw_turn(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_roll_to_match_yaw_turn", 3, top); return 0; } s16 targetYaw = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_roll_to_match_yaw_turn"); return 0; } s16 maxRoll = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_roll_to_match_yaw_turn"); return 0; } s16 rollSpeed = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_roll_to_match_yaw_turn"); return 0; } extern void obj_roll_to_match_yaw_turn(s16 targetYaw, s16 maxRoll, s16 rollSpeed); obj_roll_to_match_yaw_turn(targetYaw, maxRoll, rollSpeed); return 1; } int smlua_func_obj_rotate_yaw_and_bounce_off_walls(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_rotate_yaw_and_bounce_off_walls", 2, top); return 0; } s16 targetYaw = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_rotate_yaw_and_bounce_off_walls"); return 0; } s16 turnAmount = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_rotate_yaw_and_bounce_off_walls"); return 0; } extern void obj_rotate_yaw_and_bounce_off_walls(s16 targetYaw, s16 turnAmount); obj_rotate_yaw_and_bounce_off_walls(targetYaw, turnAmount); return 1; } int smlua_func_obj_set_dist_from_home(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", "obj_set_dist_from_home", 1, top); return 0; } f32 distFromHome = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_dist_from_home"); return 0; } extern void obj_set_dist_from_home(f32 distFromHome); obj_set_dist_from_home(distFromHome); return 1; } int smlua_func_obj_set_knockback_action(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", "obj_set_knockback_action", 1, top); return 0; } s32 attackType = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_knockback_action"); return 0; } extern void obj_set_knockback_action(s32 attackType); obj_set_knockback_action(attackType); return 1; } int smlua_func_obj_set_squished_action(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", "obj_set_squished_action", 0, top); return 0; } extern void obj_set_squished_action(void); obj_set_squished_action(); return 1; } int smlua_func_obj_smooth_turn(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 7) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_smooth_turn", 7, top); return 0; } s16 * angleVel = (s16 *)smlua_to_cpointer(L, 1, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_smooth_turn"); return 0; } s32 * angle = (s32 *)smlua_to_cpointer(L, 2, LVT_S32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_smooth_turn"); return 0; } s16 targetAngle = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_smooth_turn"); return 0; } f32 targetSpeedProportion = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_smooth_turn"); return 0; } s16 accel = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "obj_smooth_turn"); return 0; } s16 minSpeed = smlua_to_integer(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "obj_smooth_turn"); return 0; } s16 maxSpeed = smlua_to_integer(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "obj_smooth_turn"); return 0; } extern s32 obj_smooth_turn(s16 *angleVel, s32 *angle, s16 targetAngle, f32 targetSpeedProportion, s16 accel, s16 minSpeed, s16 maxSpeed); lua_pushinteger(L, obj_smooth_turn(angleVel, angle, targetAngle, targetSpeedProportion, accel, minSpeed, maxSpeed)); return 1; } int smlua_func_obj_spit_fire(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 8) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_spit_fire", 8, top); return 0; } s16 relativePosX = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_spit_fire"); return 0; } s16 relativePosY = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_spit_fire"); return 0; } s16 relativePosZ = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_spit_fire"); return 0; } f32 scale = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_spit_fire"); return 0; } s32 model = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "obj_spit_fire"); return 0; } f32 startSpeed = smlua_to_number(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "obj_spit_fire"); return 0; } f32 endSpeed = smlua_to_number(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "obj_spit_fire"); return 0; } s16 movePitch = smlua_to_integer(L, 8); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 8, "obj_spit_fire"); return 0; } extern struct Object* obj_spit_fire(s16 relativePosX, s16 relativePosY, s16 relativePosZ, f32 scale, s32 model, f32 startSpeed, f32 endSpeed, s16 movePitch); smlua_push_object(L, LOT_OBJECT, obj_spit_fire(relativePosX, relativePosY, relativePosZ, scale, model, startSpeed, endSpeed, movePitch)); return 1; } int smlua_func_obj_turn_pitch_toward_mario(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_turn_pitch_toward_mario", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_turn_pitch_toward_mario"); return 0; } f32 targetOffsetY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_turn_pitch_toward_mario"); return 0; } s16 turnAmount = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_turn_pitch_toward_mario"); return 0; } extern s16 obj_turn_pitch_toward_mario(struct MarioState* m, f32 targetOffsetY, s16 turnAmount); lua_pushinteger(L, obj_turn_pitch_toward_mario(m, targetOffsetY, turnAmount)); return 1; } int smlua_func_obj_unused_die(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", "obj_unused_die", 0, top); return 0; } extern void obj_unused_die(void); obj_unused_die(); return 1; } int smlua_func_obj_update_blinking(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_update_blinking", 4, top); return 0; } s32 * blinkTimer = (s32 *)smlua_to_cpointer(L, 1, LVT_S32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_update_blinking"); return 0; } s16 baseCycleLength = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_update_blinking"); return 0; } s16 cycleLengthRange = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_update_blinking"); return 0; } s16 blinkLength = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_update_blinking"); return 0; } extern void obj_update_blinking(s32 *blinkTimer, s16 baseCycleLength, s16 cycleLengthRange, s16 blinkLength); obj_update_blinking(blinkTimer, baseCycleLength, cycleLengthRange, blinkLength); return 1; } int smlua_func_obj_update_standard_actions(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", "obj_update_standard_actions", 1, top); return 0; } f32 scale = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_update_standard_actions"); return 0; } extern s32 obj_update_standard_actions(f32 scale); lua_pushinteger(L, obj_update_standard_actions(scale)); return 1; } int smlua_func_obj_y_vel_approach(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_y_vel_approach", 2, top); return 0; } f32 target = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_y_vel_approach"); return 0; } f32 delta = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_y_vel_approach"); return 0; } extern s32 obj_y_vel_approach(f32 target, f32 delta); lua_pushinteger(L, obj_y_vel_approach(target, delta)); return 1; } int smlua_func_oscillate_toward(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "oscillate_toward", 6, top); return 0; } s32 * value = (s32 *)smlua_to_cpointer(L, 1, LVT_S32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "oscillate_toward"); return 0; } f32 * vel = (f32 *)smlua_to_cpointer(L, 2, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "oscillate_toward"); return 0; } s32 target = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "oscillate_toward"); return 0; } f32 velCloseToZero = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "oscillate_toward"); return 0; } f32 accel = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "oscillate_toward"); return 0; } f32 slowdown = smlua_to_number(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "oscillate_toward"); return 0; } extern s32 oscillate_toward(s32 *value, f32 *vel, s32 target, f32 velCloseToZero, f32 accel, f32 slowdown); lua_pushinteger(L, oscillate_toward(value, vel, target, velCloseToZero, accel, slowdown)); return 1; } int smlua_func_platform_on_track_update_pos_or_spawn_ball(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "platform_on_track_update_pos_or_spawn_ball", 4, top); return 0; } s32 ballIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "platform_on_track_update_pos_or_spawn_ball"); return 0; } f32 x = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "platform_on_track_update_pos_or_spawn_ball"); return 0; } f32 y = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "platform_on_track_update_pos_or_spawn_ball"); return 0; } f32 z = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "platform_on_track_update_pos_or_spawn_ball"); return 0; } extern void platform_on_track_update_pos_or_spawn_ball(s32 ballIndex, f32 x, f32 y, f32 z); platform_on_track_update_pos_or_spawn_ball(ballIndex, x, y, z); return 1; } int smlua_func_random_linear_offset(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "random_linear_offset", 2, top); return 0; } s16 base = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "random_linear_offset"); return 0; } s16 range = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "random_linear_offset"); return 0; } extern s16 random_linear_offset(s16 base, s16 range); lua_pushinteger(L, random_linear_offset(base, range)); return 1; } int smlua_func_random_mod_offset(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "random_mod_offset", 3, top); return 0; } s16 base = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "random_mod_offset"); return 0; } s16 step = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "random_mod_offset"); return 0; } s16 mod = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "random_mod_offset"); return 0; } extern s16 random_mod_offset(s16 base, s16 step, s16 mod); lua_pushinteger(L, random_mod_offset(base, step, mod)); return 1; } int smlua_func_treat_far_home_as_mario(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "treat_far_home_as_mario", 3, top); return 0; } f32 threshold = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "treat_far_home_as_mario"); return 0; } s32* distanceToPlayer = (s32*)smlua_to_cpointer(L, 2, LVT_S32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "treat_far_home_as_mario"); return 0; } s32* angleToPlayer = (s32*)smlua_to_cpointer(L, 3, LVT_S32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "treat_far_home_as_mario"); return 0; } extern void treat_far_home_as_mario(f32 threshold, s32* distanceToPlayer, s32* angleToPlayer); treat_far_home_as_mario(threshold, distanceToPlayer, angleToPlayer); return 1; } ////////////////////// // object_helpers.c // ////////////////////// int smlua_func_abs_angle_diff(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "abs_angle_diff", 2, top); return 0; } s16 x0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "abs_angle_diff"); return 0; } s16 x1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "abs_angle_diff"); return 0; } extern s16 abs_angle_diff(s16 x0, s16 x1); lua_pushinteger(L, abs_angle_diff(x0, x1)); return 1; } int smlua_func_apply_drag_to_value(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "apply_drag_to_value", 2, top); return 0; } f32 * value = (f32 *)smlua_to_cpointer(L, 1, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "apply_drag_to_value"); return 0; } f32 dragStrength = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "apply_drag_to_value"); return 0; } extern void apply_drag_to_value(f32 *value, f32 dragStrength); apply_drag_to_value(value, dragStrength); return 1; } int smlua_func_approach_f32_signed(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_f32_signed", 3, top); return 0; } f32 * value = (f32 *)smlua_to_cpointer(L, 1, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_f32_signed"); return 0; } f32 target = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_f32_signed"); return 0; } f32 increment = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_f32_signed"); return 0; } extern s32 approach_f32_signed(f32 *value, f32 target, f32 increment); lua_pushinteger(L, approach_f32_signed(value, target, increment)); return 1; } int smlua_func_approach_f32_symmetric(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_f32_symmetric", 3, top); return 0; } f32 value = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_f32_symmetric"); return 0; } f32 target = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_f32_symmetric"); return 0; } f32 increment = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_f32_symmetric"); return 0; } extern f32 approach_f32_symmetric(f32 value, f32 target, f32 increment); lua_pushnumber(L, approach_f32_symmetric(value, target, increment)); return 1; } int smlua_func_approach_s16_symmetric(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "approach_s16_symmetric", 3, top); return 0; } s16 value = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "approach_s16_symmetric"); return 0; } s16 target = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "approach_s16_symmetric"); return 0; } s16 increment = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "approach_s16_symmetric"); return 0; } extern s16 approach_s16_symmetric(s16 value, s16 target, s16 increment); lua_pushinteger(L, approach_s16_symmetric(value, target, increment)); return 1; } int smlua_func_bhv_dust_smoke_loop(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", "bhv_dust_smoke_loop", 0, top); return 0; } extern void bhv_dust_smoke_loop(void); bhv_dust_smoke_loop(); return 1; } int smlua_func_bhv_init_room(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", "bhv_init_room", 0, top); return 0; } extern void bhv_init_room(void); bhv_init_room(); return 1; } int smlua_func_bit_shift_left(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", "bit_shift_left", 1, top); return 0; } s32 a0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "bit_shift_left"); return 0; } extern s32 bit_shift_left(s32 a0); lua_pushinteger(L, bit_shift_left(a0)); return 1; } int smlua_func_chain_segment_init(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", "chain_segment_init", 1, top); return 0; } struct ChainSegment* segment = (struct ChainSegment*)smlua_to_cobject(L, 1, LOT_CHAINSEGMENT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "chain_segment_init"); return 0; } extern void chain_segment_init(struct ChainSegment *segment); chain_segment_init(segment); return 1; } int smlua_func_clear_move_flag(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "clear_move_flag", 2, top); return 0; } u32 * bitSet = (u32 *)smlua_to_cpointer(L, 1, LVT_U32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "clear_move_flag"); return 0; } s32 flag = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "clear_move_flag"); return 0; } extern s32 clear_move_flag(u32 *bitSet, s32 flag); lua_pushinteger(L, clear_move_flag(bitSet, flag)); return 1; } int smlua_func_clear_time_stop_flags(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", "clear_time_stop_flags", 1, top); return 0; } s32 flags = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "clear_time_stop_flags"); return 0; } extern void clear_time_stop_flags(s32 flags); clear_time_stop_flags(flags); return 1; } int smlua_func_count_objects_with_behavior(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", "count_objects_with_behavior", 1, top); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "count_objects_with_behavior"); return 0; } extern s32 count_objects_with_behavior(const BehaviorScript *behavior); lua_pushinteger(L, count_objects_with_behavior(behavior)); return 1; } int smlua_func_count_unimportant_objects(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", "count_unimportant_objects", 0, top); return 0; } extern s32 count_unimportant_objects(void); lua_pushinteger(L, count_unimportant_objects()); return 1; } int smlua_func_create_transformation_from_matrices(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "create_transformation_from_matrices", 3, top); return 0; } Mat4 a0; a0[0][0] = smlua_get_number_field(1, "a"); a0[0][1] = smlua_get_number_field(1, "b"); a0[0][2] = smlua_get_number_field(1, "c"); a0[0][3] = smlua_get_number_field(1, "d"); a0[1][0] = smlua_get_number_field(1, "e"); a0[1][1] = smlua_get_number_field(1, "f"); a0[1][2] = smlua_get_number_field(1, "g"); a0[1][3] = smlua_get_number_field(1, "h"); a0[2][0] = smlua_get_number_field(1, "i"); a0[2][1] = smlua_get_number_field(1, "j"); a0[2][2] = smlua_get_number_field(1, "k"); a0[2][3] = smlua_get_number_field(1, "l"); a0[3][0] = smlua_get_number_field(1, "m"); a0[3][1] = smlua_get_number_field(1, "n"); a0[3][2] = smlua_get_number_field(1, "o"); a0[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "create_transformation_from_matrices"); return 0; } Mat4 a1; a1[0][0] = smlua_get_number_field(2, "a"); a1[0][1] = smlua_get_number_field(2, "b"); a1[0][2] = smlua_get_number_field(2, "c"); a1[0][3] = smlua_get_number_field(2, "d"); a1[1][0] = smlua_get_number_field(2, "e"); a1[1][1] = smlua_get_number_field(2, "f"); a1[1][2] = smlua_get_number_field(2, "g"); a1[1][3] = smlua_get_number_field(2, "h"); a1[2][0] = smlua_get_number_field(2, "i"); a1[2][1] = smlua_get_number_field(2, "j"); a1[2][2] = smlua_get_number_field(2, "k"); a1[2][3] = smlua_get_number_field(2, "l"); a1[3][0] = smlua_get_number_field(2, "m"); a1[3][1] = smlua_get_number_field(2, "n"); a1[3][2] = smlua_get_number_field(2, "o"); a1[3][3] = smlua_get_number_field(2, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "create_transformation_from_matrices"); return 0; } Mat4 a2; a2[0][0] = smlua_get_number_field(3, "a"); a2[0][1] = smlua_get_number_field(3, "b"); a2[0][2] = smlua_get_number_field(3, "c"); a2[0][3] = smlua_get_number_field(3, "d"); a2[1][0] = smlua_get_number_field(3, "e"); a2[1][1] = smlua_get_number_field(3, "f"); a2[1][2] = smlua_get_number_field(3, "g"); a2[1][3] = smlua_get_number_field(3, "h"); a2[2][0] = smlua_get_number_field(3, "i"); a2[2][1] = smlua_get_number_field(3, "j"); a2[2][2] = smlua_get_number_field(3, "k"); a2[2][3] = smlua_get_number_field(3, "l"); a2[3][0] = smlua_get_number_field(3, "m"); a2[3][1] = smlua_get_number_field(3, "n"); a2[3][2] = smlua_get_number_field(3, "o"); a2[3][3] = smlua_get_number_field(3, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "create_transformation_from_matrices"); return 0; } extern void create_transformation_from_matrices(Mat4 a0, Mat4 a1, Mat4 a2); create_transformation_from_matrices(a0, a1, a2); smlua_push_number_field(1, "a", a0[0][0]); smlua_push_number_field(1, "b", a0[0][1]); smlua_push_number_field(1, "c", a0[0][2]); smlua_push_number_field(1, "d", a0[0][3]); smlua_push_number_field(1, "e", a0[1][0]); smlua_push_number_field(1, "f", a0[1][1]); smlua_push_number_field(1, "g", a0[1][2]); smlua_push_number_field(1, "h", a0[1][3]); smlua_push_number_field(1, "i", a0[2][0]); smlua_push_number_field(1, "j", a0[2][1]); smlua_push_number_field(1, "k", a0[2][2]); smlua_push_number_field(1, "l", a0[2][3]); smlua_push_number_field(1, "m", a0[3][0]); smlua_push_number_field(1, "n", a0[3][1]); smlua_push_number_field(1, "o", a0[3][2]); smlua_push_number_field(1, "p", a0[3][3]); smlua_push_number_field(2, "a", a1[0][0]); smlua_push_number_field(2, "b", a1[0][1]); smlua_push_number_field(2, "c", a1[0][2]); smlua_push_number_field(2, "d", a1[0][3]); smlua_push_number_field(2, "e", a1[1][0]); smlua_push_number_field(2, "f", a1[1][1]); smlua_push_number_field(2, "g", a1[1][2]); smlua_push_number_field(2, "h", a1[1][3]); smlua_push_number_field(2, "i", a1[2][0]); smlua_push_number_field(2, "j", a1[2][1]); smlua_push_number_field(2, "k", a1[2][2]); smlua_push_number_field(2, "l", a1[2][3]); smlua_push_number_field(2, "m", a1[3][0]); smlua_push_number_field(2, "n", a1[3][1]); smlua_push_number_field(2, "o", a1[3][2]); smlua_push_number_field(2, "p", a1[3][3]); smlua_push_number_field(3, "a", a2[0][0]); smlua_push_number_field(3, "b", a2[0][1]); smlua_push_number_field(3, "c", a2[0][2]); smlua_push_number_field(3, "d", a2[0][3]); smlua_push_number_field(3, "e", a2[1][0]); smlua_push_number_field(3, "f", a2[1][1]); smlua_push_number_field(3, "g", a2[1][2]); smlua_push_number_field(3, "h", a2[1][3]); smlua_push_number_field(3, "i", a2[2][0]); smlua_push_number_field(3, "j", a2[2][1]); smlua_push_number_field(3, "k", a2[2][2]); smlua_push_number_field(3, "l", a2[2][3]); smlua_push_number_field(3, "m", a2[3][0]); smlua_push_number_field(3, "n", a2[3][1]); smlua_push_number_field(3, "o", a2[3][2]); smlua_push_number_field(3, "p", a2[3][3]); return 1; } int smlua_func_cur_obj_abs_y_dist_to_home(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", "cur_obj_abs_y_dist_to_home", 0, top); return 0; } extern f32 cur_obj_abs_y_dist_to_home(void); lua_pushnumber(L, cur_obj_abs_y_dist_to_home()); return 1; } int smlua_func_cur_obj_advance_looping_anim(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", "cur_obj_advance_looping_anim", 0, top); return 0; } extern s32 cur_obj_advance_looping_anim(void); lua_pushinteger(L, cur_obj_advance_looping_anim()); return 1; } int smlua_func_cur_obj_align_gfx_with_floor(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", "cur_obj_align_gfx_with_floor", 0, top); return 0; } extern void cur_obj_align_gfx_with_floor(void); cur_obj_align_gfx_with_floor(); return 1; } int smlua_func_cur_obj_angle_to_home(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", "cur_obj_angle_to_home", 0, top); return 0; } extern s16 cur_obj_angle_to_home(void); lua_pushinteger(L, cur_obj_angle_to_home()); return 1; } int smlua_func_cur_obj_apply_drag_xz(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", "cur_obj_apply_drag_xz", 1, top); return 0; } f32 dragStrength = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_apply_drag_xz"); return 0; } extern void cur_obj_apply_drag_xz(f32 dragStrength); cur_obj_apply_drag_xz(dragStrength); return 1; } int smlua_func_cur_obj_become_intangible(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", "cur_obj_become_intangible", 0, top); return 0; } extern void cur_obj_become_intangible(void); cur_obj_become_intangible(); return 1; } int smlua_func_cur_obj_become_tangible(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", "cur_obj_become_tangible", 0, top); return 0; } extern void cur_obj_become_tangible(void); cur_obj_become_tangible(); return 1; } int smlua_func_cur_obj_can_mario_activate_textbox(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_can_mario_activate_textbox", 4, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_can_mario_activate_textbox"); return 0; } f32 radius = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_can_mario_activate_textbox"); return 0; } f32 height = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_can_mario_activate_textbox"); return 0; } s32 unused = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "cur_obj_can_mario_activate_textbox"); return 0; } extern s32 cur_obj_can_mario_activate_textbox(struct MarioState* m, f32 radius, f32 height, UNUSED s32 unused); lua_pushinteger(L, cur_obj_can_mario_activate_textbox(m, radius, height, unused)); return 1; } int smlua_func_cur_obj_can_mario_activate_textbox_2(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_can_mario_activate_textbox_2", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_can_mario_activate_textbox_2"); return 0; } f32 radius = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_can_mario_activate_textbox_2"); return 0; } f32 height = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_can_mario_activate_textbox_2"); return 0; } extern s32 cur_obj_can_mario_activate_textbox_2(struct MarioState* m, f32 radius, f32 height); lua_pushinteger(L, cur_obj_can_mario_activate_textbox_2(m, radius, height)); return 1; } int smlua_func_cur_obj_change_action(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", "cur_obj_change_action", 1, top); return 0; } s32 action = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_change_action"); return 0; } extern void cur_obj_change_action(s32 action); cur_obj_change_action(action); return 1; } int smlua_func_cur_obj_check_anim_frame(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", "cur_obj_check_anim_frame", 1, top); return 0; } s32 frame = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_check_anim_frame"); return 0; } extern s32 cur_obj_check_anim_frame(s32 frame); lua_pushinteger(L, cur_obj_check_anim_frame(frame)); return 1; } int smlua_func_cur_obj_check_anim_frame_in_range(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_check_anim_frame_in_range", 2, top); return 0; } s32 startFrame = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_check_anim_frame_in_range"); return 0; } s32 rangeLength = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_check_anim_frame_in_range"); return 0; } extern s32 cur_obj_check_anim_frame_in_range(s32 startFrame, s32 rangeLength); lua_pushinteger(L, cur_obj_check_anim_frame_in_range(startFrame, rangeLength)); return 1; } int smlua_func_cur_obj_check_frame_prior_current_frame(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", "cur_obj_check_frame_prior_current_frame", 1, top); return 0; } s16 * a0 = (s16 *)smlua_to_cpointer(L, 1, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_check_frame_prior_current_frame"); return 0; } extern s32 cur_obj_check_frame_prior_current_frame(s16 *a0); lua_pushinteger(L, cur_obj_check_frame_prior_current_frame(a0)); return 1; } int smlua_func_cur_obj_check_grabbed_mario(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", "cur_obj_check_grabbed_mario", 0, top); return 0; } extern s32 cur_obj_check_grabbed_mario(void); lua_pushinteger(L, cur_obj_check_grabbed_mario()); return 1; } int smlua_func_cur_obj_check_if_at_animation_end(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", "cur_obj_check_if_at_animation_end", 0, top); return 0; } extern s32 cur_obj_check_if_at_animation_end(void); lua_pushinteger(L, cur_obj_check_if_at_animation_end()); return 1; } int smlua_func_cur_obj_check_if_near_animation_end(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", "cur_obj_check_if_near_animation_end", 0, top); return 0; } extern s32 cur_obj_check_if_near_animation_end(void); lua_pushinteger(L, cur_obj_check_if_near_animation_end()); return 1; } int smlua_func_cur_obj_check_interacted(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", "cur_obj_check_interacted", 0, top); return 0; } extern s32 cur_obj_check_interacted(void); lua_pushinteger(L, cur_obj_check_interacted()); return 1; } int smlua_func_cur_obj_clear_interact_status_flag(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", "cur_obj_clear_interact_status_flag", 1, top); return 0; } s32 flag = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_clear_interact_status_flag"); return 0; } extern s32 cur_obj_clear_interact_status_flag(s32 flag); lua_pushinteger(L, cur_obj_clear_interact_status_flag(flag)); return 1; } int smlua_func_cur_obj_compute_vel_xz(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", "cur_obj_compute_vel_xz", 0, top); return 0; } extern void cur_obj_compute_vel_xz(void); cur_obj_compute_vel_xz(); return 1; } int smlua_func_cur_obj_count_objects_with_behavior(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_count_objects_with_behavior", 2, top); return 0; } BehaviorScript* behavior = (BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_count_objects_with_behavior"); return 0; } f32 dist = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_count_objects_with_behavior"); return 0; } extern u16 cur_obj_count_objects_with_behavior(const BehaviorScript* behavior, f32 dist); lua_pushinteger(L, cur_obj_count_objects_with_behavior(behavior, dist)); return 1; } int smlua_func_cur_obj_detect_steep_floor(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", "cur_obj_detect_steep_floor", 1, top); return 0; } s16 steepAngleDegrees = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_detect_steep_floor"); return 0; } extern s32 cur_obj_detect_steep_floor(s16 steepAngleDegrees); lua_pushinteger(L, cur_obj_detect_steep_floor(steepAngleDegrees)); return 1; } int smlua_func_cur_obj_disable(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", "cur_obj_disable", 0, top); return 0; } extern void cur_obj_disable(void); cur_obj_disable(); return 1; } int smlua_func_cur_obj_disable_rendering(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", "cur_obj_disable_rendering", 0, top); return 0; } extern void cur_obj_disable_rendering(void); cur_obj_disable_rendering(); return 1; } int smlua_func_cur_obj_disable_rendering_and_become_intangible(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", "cur_obj_disable_rendering_and_become_intangible", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_disable_rendering_and_become_intangible"); return 0; } extern void cur_obj_disable_rendering_and_become_intangible(struct Object *obj); cur_obj_disable_rendering_and_become_intangible(obj); return 1; } int smlua_func_cur_obj_dist_to_nearest_object_with_behavior(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", "cur_obj_dist_to_nearest_object_with_behavior", 1, top); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_dist_to_nearest_object_with_behavior"); return 0; } extern f32 cur_obj_dist_to_nearest_object_with_behavior(const BehaviorScript *behavior); lua_pushnumber(L, cur_obj_dist_to_nearest_object_with_behavior(behavior)); return 1; } int smlua_func_cur_obj_enable_rendering(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", "cur_obj_enable_rendering", 0, top); return 0; } extern void cur_obj_enable_rendering(void); cur_obj_enable_rendering(); return 1; } int smlua_func_cur_obj_enable_rendering_2(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", "cur_obj_enable_rendering_2", 0, top); return 0; } extern void cur_obj_enable_rendering_2(void); cur_obj_enable_rendering_2(); return 1; } int smlua_func_cur_obj_enable_rendering_and_become_tangible(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", "cur_obj_enable_rendering_and_become_tangible", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_enable_rendering_and_become_tangible"); return 0; } extern void cur_obj_enable_rendering_and_become_tangible(struct Object *obj); cur_obj_enable_rendering_and_become_tangible(obj); return 1; } int smlua_func_cur_obj_enable_rendering_if_mario_in_room(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", "cur_obj_enable_rendering_if_mario_in_room", 0, top); return 0; } extern void cur_obj_enable_rendering_if_mario_in_room(void); cur_obj_enable_rendering_if_mario_in_room(); return 1; } int smlua_func_cur_obj_end_dialog(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_end_dialog", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_end_dialog"); return 0; } s32 dialogFlags = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_end_dialog"); return 0; } s32 dialogResult = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_end_dialog"); return 0; } extern void cur_obj_end_dialog(struct MarioState* m, s32 dialogFlags, s32 dialogResult); cur_obj_end_dialog(m, dialogFlags, dialogResult); return 1; } int smlua_func_cur_obj_extend_animation_if_at_end(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", "cur_obj_extend_animation_if_at_end", 0, top); return 0; } extern void cur_obj_extend_animation_if_at_end(void); cur_obj_extend_animation_if_at_end(); return 1; } int smlua_func_cur_obj_find_nearby_held_actor(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_find_nearby_held_actor", 2, top); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_find_nearby_held_actor"); return 0; } f32 maxDist = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_find_nearby_held_actor"); return 0; } extern struct Object *cur_obj_find_nearby_held_actor(const BehaviorScript *behavior, f32 maxDist); smlua_push_object(L, LOT_OBJECT, cur_obj_find_nearby_held_actor(behavior, maxDist)); return 1; } int smlua_func_cur_obj_find_nearest_object_with_behavior(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_find_nearest_object_with_behavior", 2, top); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_find_nearest_object_with_behavior"); return 0; } f32 * dist = (f32 *)smlua_to_cpointer(L, 2, LVT_F32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_find_nearest_object_with_behavior"); return 0; } extern struct Object *cur_obj_find_nearest_object_with_behavior(const BehaviorScript *behavior, f32 *dist); smlua_push_object(L, LOT_OBJECT, cur_obj_find_nearest_object_with_behavior(behavior, dist)); return 1; } int smlua_func_cur_obj_find_nearest_pole(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", "cur_obj_find_nearest_pole", 0, top); return 0; } extern struct Object* cur_obj_find_nearest_pole(void); smlua_push_object(L, LOT_OBJECT, cur_obj_find_nearest_pole()); return 1; } int smlua_func_cur_obj_follow_path(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", "cur_obj_follow_path", 1, top); return 0; } s32 unusedArg = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_follow_path"); return 0; } extern s32 cur_obj_follow_path(UNUSED s32 unusedArg); lua_pushinteger(L, cur_obj_follow_path(unusedArg)); return 1; } int smlua_func_cur_obj_forward_vel_approach_upward(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_forward_vel_approach_upward", 2, top); return 0; } f32 target = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_forward_vel_approach_upward"); return 0; } f32 increment = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_forward_vel_approach_upward"); return 0; } extern void cur_obj_forward_vel_approach_upward(f32 target, f32 increment); cur_obj_forward_vel_approach_upward(target, increment); return 1; } int smlua_func_cur_obj_get_dropped(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", "cur_obj_get_dropped", 0, top); return 0; } extern void cur_obj_get_dropped(void); cur_obj_get_dropped(); return 1; } int smlua_func_cur_obj_get_thrown_or_placed(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_get_thrown_or_placed", 3, top); return 0; } f32 forwardVel = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_get_thrown_or_placed"); return 0; } f32 velY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_get_thrown_or_placed"); return 0; } s32 thrownAction = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_get_thrown_or_placed"); return 0; } extern void cur_obj_get_thrown_or_placed(f32 forwardVel, f32 velY, s32 thrownAction); cur_obj_get_thrown_or_placed(forwardVel, velY, thrownAction); return 1; } int smlua_func_cur_obj_has_behavior(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", "cur_obj_has_behavior", 1, top); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_has_behavior"); return 0; } extern s32 cur_obj_has_behavior(const BehaviorScript *behavior); lua_pushinteger(L, cur_obj_has_behavior(behavior)); return 1; } int smlua_func_cur_obj_has_model(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", "cur_obj_has_model", 1, top); return 0; } u16 modelID = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_has_model"); return 0; } extern s32 cur_obj_has_model(u16 modelID); lua_pushinteger(L, cur_obj_has_model(modelID)); return 1; } int smlua_func_cur_obj_hide(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", "cur_obj_hide", 0, top); return 0; } extern void cur_obj_hide(void); cur_obj_hide(); return 1; } int smlua_func_cur_obj_hide_if_mario_far_away_y(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", "cur_obj_hide_if_mario_far_away_y", 1, top); return 0; } f32 distY = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_hide_if_mario_far_away_y"); return 0; } extern s32 cur_obj_hide_if_mario_far_away_y(f32 distY); lua_pushinteger(L, cur_obj_hide_if_mario_far_away_y(distY)); return 1; } int smlua_func_cur_obj_if_hit_wall_bounce_away(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", "cur_obj_if_hit_wall_bounce_away", 0, top); return 0; } extern void cur_obj_if_hit_wall_bounce_away(void); cur_obj_if_hit_wall_bounce_away(); return 1; } int smlua_func_cur_obj_init_animation(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", "cur_obj_init_animation", 1, top); return 0; } s32 animIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_init_animation"); return 0; } extern void cur_obj_init_animation(s32 animIndex); cur_obj_init_animation(animIndex); return 1; } int smlua_func_cur_obj_init_animation_and_anim_frame(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_init_animation_and_anim_frame", 2, top); return 0; } s32 animIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_init_animation_and_anim_frame"); return 0; } s32 animFrame = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_init_animation_and_anim_frame"); return 0; } extern void cur_obj_init_animation_and_anim_frame(s32 animIndex, s32 animFrame); cur_obj_init_animation_and_anim_frame(animIndex, animFrame); return 1; } int smlua_func_cur_obj_init_animation_and_check_if_near_end(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", "cur_obj_init_animation_and_check_if_near_end", 1, top); return 0; } s32 animIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_init_animation_and_check_if_near_end"); return 0; } extern s32 cur_obj_init_animation_and_check_if_near_end(s32 animIndex); lua_pushinteger(L, cur_obj_init_animation_and_check_if_near_end(animIndex)); return 1; } int smlua_func_cur_obj_init_animation_and_extend_if_at_end(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", "cur_obj_init_animation_and_extend_if_at_end", 1, top); return 0; } s32 animIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_init_animation_and_extend_if_at_end"); return 0; } extern void cur_obj_init_animation_and_extend_if_at_end(s32 animIndex); cur_obj_init_animation_and_extend_if_at_end(animIndex); return 1; } int smlua_func_cur_obj_init_animation_with_accel_and_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_init_animation_with_accel_and_sound", 2, top); return 0; } s32 animIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_init_animation_with_accel_and_sound"); return 0; } f32 accel = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_init_animation_with_accel_and_sound"); return 0; } extern void cur_obj_init_animation_with_accel_and_sound(s32 animIndex, f32 accel); cur_obj_init_animation_with_accel_and_sound(animIndex, accel); return 1; } int smlua_func_cur_obj_init_animation_with_sound(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", "cur_obj_init_animation_with_sound", 1, top); return 0; } s32 animIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_init_animation_with_sound"); return 0; } extern void cur_obj_init_animation_with_sound(s32 animIndex); cur_obj_init_animation_with_sound(animIndex); return 1; } int smlua_func_cur_obj_is_any_player_on_platform(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", "cur_obj_is_any_player_on_platform", 0, top); return 0; } extern s32 cur_obj_is_any_player_on_platform(void); lua_pushinteger(L, cur_obj_is_any_player_on_platform()); return 1; } int smlua_func_cur_obj_is_mario_ground_pounding_platform(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", "cur_obj_is_mario_ground_pounding_platform", 0, top); return 0; } extern s32 cur_obj_is_mario_ground_pounding_platform(void); lua_pushinteger(L, cur_obj_is_mario_ground_pounding_platform()); return 1; } int smlua_func_cur_obj_is_mario_on_platform(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", "cur_obj_is_mario_on_platform", 0, top); return 0; } extern s32 cur_obj_is_mario_on_platform(void); lua_pushinteger(L, cur_obj_is_mario_on_platform()); return 1; } int smlua_func_cur_obj_lateral_dist_from_mario_to_home(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", "cur_obj_lateral_dist_from_mario_to_home", 0, top); return 0; } extern f32 cur_obj_lateral_dist_from_mario_to_home(void); lua_pushnumber(L, cur_obj_lateral_dist_from_mario_to_home()); return 1; } int smlua_func_cur_obj_lateral_dist_from_obj_to_home(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", "cur_obj_lateral_dist_from_obj_to_home", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_lateral_dist_from_obj_to_home"); return 0; } extern f32 cur_obj_lateral_dist_from_obj_to_home(struct Object *obj); lua_pushnumber(L, cur_obj_lateral_dist_from_obj_to_home(obj)); return 1; } int smlua_func_cur_obj_lateral_dist_to_home(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", "cur_obj_lateral_dist_to_home", 0, top); return 0; } extern f32 cur_obj_lateral_dist_to_home(void); lua_pushnumber(L, cur_obj_lateral_dist_to_home()); return 1; } int smlua_func_cur_obj_mario_far_away(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", "cur_obj_mario_far_away", 0, top); return 0; } extern s32 cur_obj_mario_far_away(void); lua_pushinteger(L, cur_obj_mario_far_away()); return 1; } int smlua_func_cur_obj_move_after_thrown_or_dropped(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_move_after_thrown_or_dropped", 2, top); return 0; } f32 forwardVel = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_move_after_thrown_or_dropped"); return 0; } f32 velY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_move_after_thrown_or_dropped"); return 0; } extern void cur_obj_move_after_thrown_or_dropped(f32 forwardVel, f32 velY); cur_obj_move_after_thrown_or_dropped(forwardVel, velY); return 1; } int smlua_func_cur_obj_move_standard(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", "cur_obj_move_standard", 1, top); return 0; } s16 steepSlopeAngleDegrees = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_move_standard"); return 0; } extern void cur_obj_move_standard(s16 steepSlopeAngleDegrees); cur_obj_move_standard(steepSlopeAngleDegrees); return 1; } int smlua_func_cur_obj_move_up_and_down(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", "cur_obj_move_up_and_down", 1, top); return 0; } s32 a0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_move_up_and_down"); return 0; } extern s32 cur_obj_move_up_and_down(s32 a0); lua_pushinteger(L, cur_obj_move_up_and_down(a0)); return 1; } int smlua_func_cur_obj_move_update_ground_air_flags(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_move_update_ground_air_flags", 2, top); return 0; } f32 gravity = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_move_update_ground_air_flags"); return 0; } f32 bounciness = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_move_update_ground_air_flags"); return 0; } extern void cur_obj_move_update_ground_air_flags(UNUSED f32 gravity, f32 bounciness); cur_obj_move_update_ground_air_flags(gravity, bounciness); return 1; } int smlua_func_cur_obj_move_update_underwater_flags(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", "cur_obj_move_update_underwater_flags", 0, top); return 0; } extern void cur_obj_move_update_underwater_flags(void); cur_obj_move_update_underwater_flags(); return 1; } int smlua_func_cur_obj_move_using_fvel_and_gravity(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", "cur_obj_move_using_fvel_and_gravity", 0, top); return 0; } extern void cur_obj_move_using_fvel_and_gravity(void); cur_obj_move_using_fvel_and_gravity(); return 1; } int smlua_func_cur_obj_move_using_vel(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", "cur_obj_move_using_vel", 0, top); return 0; } extern void cur_obj_move_using_vel(void); cur_obj_move_using_vel(); return 1; } int smlua_func_cur_obj_move_using_vel_and_gravity(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", "cur_obj_move_using_vel_and_gravity", 0, top); return 0; } extern void cur_obj_move_using_vel_and_gravity(void); cur_obj_move_using_vel_and_gravity(); return 1; } int smlua_func_cur_obj_move_xz(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_move_xz", 2, top); return 0; } f32 steepSlopeNormalY = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_move_xz"); return 0; } s32 careAboutEdgesAndSteepSlopes = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_move_xz"); return 0; } extern s32 cur_obj_move_xz(f32 steepSlopeNormalY, s32 careAboutEdgesAndSteepSlopes); lua_pushinteger(L, cur_obj_move_xz(steepSlopeNormalY, careAboutEdgesAndSteepSlopes)); return 1; } int smlua_func_cur_obj_move_xz_using_fvel_and_yaw(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", "cur_obj_move_xz_using_fvel_and_yaw", 0, top); return 0; } extern void cur_obj_move_xz_using_fvel_and_yaw(void); cur_obj_move_xz_using_fvel_and_yaw(); return 1; } int smlua_func_cur_obj_move_y(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_move_y", 3, top); return 0; } f32 gravity = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_move_y"); return 0; } f32 bounciness = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_move_y"); return 0; } f32 buoyancy = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_move_y"); return 0; } extern void cur_obj_move_y(f32 gravity, f32 bounciness, f32 buoyancy); cur_obj_move_y(gravity, bounciness, buoyancy); return 1; } int smlua_func_cur_obj_move_y_and_get_water_level(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_move_y_and_get_water_level", 2, top); return 0; } f32 gravity = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_move_y_and_get_water_level"); return 0; } f32 buoyancy = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_move_y_and_get_water_level"); return 0; } extern f32 cur_obj_move_y_and_get_water_level(f32 gravity, f32 buoyancy); lua_pushnumber(L, cur_obj_move_y_and_get_water_level(gravity, buoyancy)); return 1; } int smlua_func_cur_obj_move_y_with_terminal_vel(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", "cur_obj_move_y_with_terminal_vel", 0, top); return 0; } extern void cur_obj_move_y_with_terminal_vel(void); cur_obj_move_y_with_terminal_vel(); return 1; } int smlua_func_cur_obj_nearest_object_with_behavior(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", "cur_obj_nearest_object_with_behavior", 1, top); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_nearest_object_with_behavior"); return 0; } extern struct Object *cur_obj_nearest_object_with_behavior(const BehaviorScript *behavior); smlua_push_object(L, LOT_OBJECT, cur_obj_nearest_object_with_behavior(behavior)); return 1; } int smlua_func_cur_obj_outside_home_rectangle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_outside_home_rectangle", 4, top); return 0; } f32 minX = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_outside_home_rectangle"); return 0; } f32 maxX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_outside_home_rectangle"); return 0; } f32 minZ = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_outside_home_rectangle"); return 0; } f32 maxZ = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "cur_obj_outside_home_rectangle"); return 0; } extern s32 cur_obj_outside_home_rectangle(f32 minX, f32 maxX, f32 minZ, f32 maxZ); lua_pushinteger(L, cur_obj_outside_home_rectangle(minX, maxX, minZ, maxZ)); return 1; } int smlua_func_cur_obj_outside_home_square(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", "cur_obj_outside_home_square", 1, top); return 0; } f32 halfLength = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_outside_home_square"); return 0; } extern s32 cur_obj_outside_home_square(f32 halfLength); lua_pushinteger(L, cur_obj_outside_home_square(halfLength)); return 1; } int smlua_func_cur_obj_progress_direction_table(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", "cur_obj_progress_direction_table", 0, top); return 0; } extern s32 cur_obj_progress_direction_table(void); lua_pushinteger(L, cur_obj_progress_direction_table()); return 1; } int smlua_func_cur_obj_push_mario_away(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", "cur_obj_push_mario_away", 1, top); return 0; } f32 radius = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_push_mario_away"); return 0; } extern void cur_obj_push_mario_away(f32 radius); cur_obj_push_mario_away(radius); return 1; } int smlua_func_cur_obj_push_mario_away_from_cylinder(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_push_mario_away_from_cylinder", 2, top); return 0; } f32 radius = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_push_mario_away_from_cylinder"); return 0; } f32 extentY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_push_mario_away_from_cylinder"); return 0; } extern void cur_obj_push_mario_away_from_cylinder(f32 radius, f32 extentY); cur_obj_push_mario_away_from_cylinder(radius, extentY); return 1; } int smlua_func_cur_obj_reflect_move_angle_off_wall(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", "cur_obj_reflect_move_angle_off_wall", 0, top); return 0; } extern s16 cur_obj_reflect_move_angle_off_wall(void); lua_pushinteger(L, cur_obj_reflect_move_angle_off_wall()); return 1; } int smlua_func_cur_obj_reset_timer_and_subaction(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", "cur_obj_reset_timer_and_subaction", 0, top); return 0; } extern void cur_obj_reset_timer_and_subaction(void); cur_obj_reset_timer_and_subaction(); return 1; } int smlua_func_cur_obj_resolve_wall_collisions(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", "cur_obj_resolve_wall_collisions", 0, top); return 0; } extern s32 cur_obj_resolve_wall_collisions(void); lua_pushinteger(L, cur_obj_resolve_wall_collisions()); return 1; } int smlua_func_cur_obj_reverse_animation(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", "cur_obj_reverse_animation", 0, top); return 0; } extern void cur_obj_reverse_animation(void); cur_obj_reverse_animation(); return 1; } int smlua_func_cur_obj_rotate_face_angle_using_vel(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", "cur_obj_rotate_face_angle_using_vel", 0, top); return 0; } extern void cur_obj_rotate_face_angle_using_vel(void); cur_obj_rotate_face_angle_using_vel(); return 1; } int smlua_func_cur_obj_rotate_move_angle_using_vel(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", "cur_obj_rotate_move_angle_using_vel", 0, top); return 0; } extern void cur_obj_rotate_move_angle_using_vel(void); cur_obj_rotate_move_angle_using_vel(); return 1; } int smlua_func_cur_obj_rotate_yaw_toward(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_rotate_yaw_toward", 2, top); return 0; } s16 target = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_rotate_yaw_toward"); return 0; } s16 increment = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_rotate_yaw_toward"); return 0; } extern s32 cur_obj_rotate_yaw_toward(s16 target, s16 increment); lua_pushinteger(L, cur_obj_rotate_yaw_toward(target, increment)); return 1; } int smlua_func_cur_obj_scale(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", "cur_obj_scale", 1, top); return 0; } f32 scale = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_scale"); return 0; } extern void cur_obj_scale(f32 scale); cur_obj_scale(scale); return 1; } int smlua_func_cur_obj_scale_over_time(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_scale_over_time", 4, top); return 0; } s32 a0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_scale_over_time"); return 0; } s32 a1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_scale_over_time"); return 0; } f32 sp10 = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_scale_over_time"); return 0; } f32 sp14 = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "cur_obj_scale_over_time"); return 0; } extern void cur_obj_scale_over_time(s32 a0, s32 a1, f32 sp10, f32 sp14); cur_obj_scale_over_time(a0, a1, sp10, sp14); return 1; } int smlua_func_cur_obj_set_behavior(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", "cur_obj_set_behavior", 1, top); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_set_behavior"); return 0; } extern void cur_obj_set_behavior(const BehaviorScript *behavior); cur_obj_set_behavior(behavior); return 1; } int smlua_func_cur_obj_set_billboard_if_vanilla_cam(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", "cur_obj_set_billboard_if_vanilla_cam", 0, top); return 0; } extern void cur_obj_set_billboard_if_vanilla_cam(void); cur_obj_set_billboard_if_vanilla_cam(); return 1; } int smlua_func_cur_obj_set_direction_table(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", "cur_obj_set_direction_table", 1, top); return 0; } s8 * a0 = (s8 *)smlua_to_cpointer(L, 1, LVT_S8_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_set_direction_table"); return 0; } extern s32 cur_obj_set_direction_table(s8 *a0); lua_pushinteger(L, cur_obj_set_direction_table(a0)); return 1; } int smlua_func_cur_obj_set_face_angle_to_move_angle(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", "cur_obj_set_face_angle_to_move_angle", 0, top); return 0; } extern void cur_obj_set_face_angle_to_move_angle(void); cur_obj_set_face_angle_to_move_angle(); return 1; } int smlua_func_cur_obj_set_hitbox_and_die_if_attacked(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_set_hitbox_and_die_if_attacked", 3, top); return 0; } struct ObjectHitbox* hitbox = (struct ObjectHitbox*)smlua_to_cobject(L, 1, LOT_OBJECTHITBOX); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_set_hitbox_and_die_if_attacked"); return 0; } s32 deathSound = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_set_hitbox_and_die_if_attacked"); return 0; } s32 noLootCoins = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_set_hitbox_and_die_if_attacked"); return 0; } extern s32 cur_obj_set_hitbox_and_die_if_attacked(struct ObjectHitbox *hitbox, s32 deathSound, s32 noLootCoins); lua_pushinteger(L, cur_obj_set_hitbox_and_die_if_attacked(hitbox, deathSound, noLootCoins)); return 1; } int smlua_func_cur_obj_set_hitbox_radius_and_height(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_set_hitbox_radius_and_height", 2, top); return 0; } f32 radius = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_set_hitbox_radius_and_height"); return 0; } f32 height = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_set_hitbox_radius_and_height"); return 0; } extern void cur_obj_set_hitbox_radius_and_height(f32 radius, f32 height); cur_obj_set_hitbox_radius_and_height(radius, height); return 1; } int smlua_func_cur_obj_set_home_once(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", "cur_obj_set_home_once", 0, top); return 0; } extern void cur_obj_set_home_once(void); cur_obj_set_home_once(); return 1; } int smlua_func_cur_obj_set_hurtbox_radius_and_height(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_set_hurtbox_radius_and_height", 2, top); return 0; } f32 radius = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_set_hurtbox_radius_and_height"); return 0; } f32 height = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_set_hurtbox_radius_and_height"); return 0; } extern void cur_obj_set_hurtbox_radius_and_height(f32 radius, f32 height); cur_obj_set_hurtbox_radius_and_height(radius, height); return 1; } int smlua_func_cur_obj_set_pos_relative(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_set_pos_relative", 4, top); return 0; } struct Object* other = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_set_pos_relative"); return 0; } f32 dleft = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_set_pos_relative"); return 0; } f32 dy = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_set_pos_relative"); return 0; } f32 dforward = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "cur_obj_set_pos_relative"); return 0; } extern void cur_obj_set_pos_relative(struct Object *other, f32 dleft, f32 dy, f32 dforward); cur_obj_set_pos_relative(other, dleft, dy, dforward); return 1; } int smlua_func_cur_obj_set_pos_relative_to_parent(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_set_pos_relative_to_parent", 3, top); return 0; } f32 dleft = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_set_pos_relative_to_parent"); return 0; } f32 dy = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_set_pos_relative_to_parent"); return 0; } f32 dforward = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_set_pos_relative_to_parent"); return 0; } extern void cur_obj_set_pos_relative_to_parent(f32 dleft, f32 dy, f32 dforward); cur_obj_set_pos_relative_to_parent(dleft, dy, dforward); return 1; } int smlua_func_cur_obj_set_pos_to_home(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", "cur_obj_set_pos_to_home", 0, top); return 0; } extern void cur_obj_set_pos_to_home(void); cur_obj_set_pos_to_home(); return 1; } int smlua_func_cur_obj_set_pos_to_home_and_stop(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", "cur_obj_set_pos_to_home_and_stop", 0, top); return 0; } extern void cur_obj_set_pos_to_home_and_stop(void); cur_obj_set_pos_to_home_and_stop(); return 1; } int smlua_func_cur_obj_set_pos_to_home_with_debug(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", "cur_obj_set_pos_to_home_with_debug", 0, top); return 0; } extern void cur_obj_set_pos_to_home_with_debug(void); cur_obj_set_pos_to_home_with_debug(); return 1; } int smlua_func_cur_obj_set_pos_via_transform(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", "cur_obj_set_pos_via_transform", 0, top); return 0; } extern void cur_obj_set_pos_via_transform(void); cur_obj_set_pos_via_transform(); return 1; } int smlua_func_cur_obj_set_vel_from_mario_vel(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_set_vel_from_mario_vel", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_set_vel_from_mario_vel"); return 0; } f32 f12 = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_set_vel_from_mario_vel"); return 0; } f32 f14 = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_set_vel_from_mario_vel"); return 0; } extern void cur_obj_set_vel_from_mario_vel(struct MarioState* m, f32 f12, f32 f14); cur_obj_set_vel_from_mario_vel(m, f12, f14); return 1; } int smlua_func_cur_obj_set_y_vel_and_animation(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_set_y_vel_and_animation", 2, top); return 0; } f32 sp18 = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_set_y_vel_and_animation"); return 0; } s32 sp1C = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_set_y_vel_and_animation"); return 0; } extern void cur_obj_set_y_vel_and_animation(f32 sp18, s32 sp1C); cur_obj_set_y_vel_and_animation(sp18, sp1C); return 1; } int smlua_func_cur_obj_shake_screen(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", "cur_obj_shake_screen", 1, top); return 0; } s32 shake = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_shake_screen"); return 0; } extern void cur_obj_shake_screen(s32 shake); cur_obj_shake_screen(shake); return 1; } int smlua_func_cur_obj_shake_y(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", "cur_obj_shake_y", 1, top); return 0; } f32 amount = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_shake_y"); return 0; } extern void cur_obj_shake_y(f32 amount); cur_obj_shake_y(amount); return 1; } int smlua_func_cur_obj_shake_y_until(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_shake_y_until", 2, top); return 0; } s32 cycles = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_shake_y_until"); return 0; } s32 amount = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_shake_y_until"); return 0; } extern s32 cur_obj_shake_y_until(s32 cycles, s32 amount); lua_pushinteger(L, cur_obj_shake_y_until(cycles, amount)); return 1; } int smlua_func_cur_obj_spawn_loot_blue_coin(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", "cur_obj_spawn_loot_blue_coin", 0, top); return 0; } extern void cur_obj_spawn_loot_blue_coin(void); cur_obj_spawn_loot_blue_coin(); return 1; } int smlua_func_cur_obj_spawn_loot_coin_at_mario_pos(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", "cur_obj_spawn_loot_coin_at_mario_pos", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_spawn_loot_coin_at_mario_pos"); return 0; } extern void cur_obj_spawn_loot_coin_at_mario_pos(struct MarioState* m); cur_obj_spawn_loot_coin_at_mario_pos(m); return 1; } int smlua_func_cur_obj_spawn_particles(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", "cur_obj_spawn_particles", 1, top); return 0; } struct SpawnParticlesInfo* info = (struct SpawnParticlesInfo*)smlua_to_cobject(L, 1, LOT_SPAWNPARTICLESINFO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_spawn_particles"); return 0; } extern void cur_obj_spawn_particles(struct SpawnParticlesInfo *info); cur_obj_spawn_particles(info); return 1; } #ifndef VERSION_JP int smlua_func_cur_obj_spawn_star_at_y_offset(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_spawn_star_at_y_offset", 4, top); return 0; } f32 targetX = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_spawn_star_at_y_offset"); return 0; } f32 targetY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_spawn_star_at_y_offset"); return 0; } f32 targetZ = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_spawn_star_at_y_offset"); return 0; } f32 offsetY = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "cur_obj_spawn_star_at_y_offset"); return 0; } extern void cur_obj_spawn_star_at_y_offset(f32 targetX, f32 targetY, f32 targetZ, f32 offsetY); cur_obj_spawn_star_at_y_offset(targetX, targetY, targetZ, offsetY); return 1; } #endif int smlua_func_cur_obj_start_cam_event(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_start_cam_event", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_start_cam_event"); return 0; } s32 cameraEvent = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_start_cam_event"); return 0; } extern void cur_obj_start_cam_event(UNUSED struct Object *obj, s32 cameraEvent); cur_obj_start_cam_event(obj, cameraEvent); return 1; } int smlua_func_cur_obj_unhide(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", "cur_obj_unhide", 0, top); return 0; } extern void cur_obj_unhide(void); cur_obj_unhide(); return 1; } int smlua_func_cur_obj_unrender_and_reset_state(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_unrender_and_reset_state", 2, top); return 0; } s32 sp18 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_unrender_and_reset_state"); return 0; } s32 sp1C = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_unrender_and_reset_state"); return 0; } extern void cur_obj_unrender_and_reset_state(s32 sp18, s32 sp1C); cur_obj_unrender_and_reset_state(sp18, sp1C); return 1; } int smlua_func_cur_obj_unused_init_on_floor(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", "cur_obj_unused_init_on_floor", 0, top); return 0; } extern void cur_obj_unused_init_on_floor(void); cur_obj_unused_init_on_floor(); return 1; } int smlua_func_cur_obj_unused_play_footstep_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_unused_play_footstep_sound", 3, top); return 0; } s32 animFrame1 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_unused_play_footstep_sound"); return 0; } s32 animFrame2 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_unused_play_footstep_sound"); return 0; } s32 sound = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "cur_obj_unused_play_footstep_sound"); return 0; } extern void cur_obj_unused_play_footstep_sound(s32 animFrame1, s32 animFrame2, s32 sound); cur_obj_unused_play_footstep_sound(animFrame1, animFrame2, sound); return 1; } int smlua_func_cur_obj_unused_resolve_wall_collisions(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_unused_resolve_wall_collisions", 2, top); return 0; } f32 offsetY = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_unused_resolve_wall_collisions"); return 0; } f32 radius = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_unused_resolve_wall_collisions"); return 0; } extern void cur_obj_unused_resolve_wall_collisions(f32 offsetY, f32 radius); cur_obj_unused_resolve_wall_collisions(offsetY, radius); return 1; } int smlua_func_cur_obj_update_floor(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", "cur_obj_update_floor", 0, top); return 0; } extern void cur_obj_update_floor(void); cur_obj_update_floor(); return 1; } int smlua_func_cur_obj_update_floor_and_resolve_wall_collisions(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", "cur_obj_update_floor_and_resolve_wall_collisions", 1, top); return 0; } s16 steepSlopeDegrees = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_update_floor_and_resolve_wall_collisions"); return 0; } extern void cur_obj_update_floor_and_resolve_wall_collisions(s16 steepSlopeDegrees); cur_obj_update_floor_and_resolve_wall_collisions(steepSlopeDegrees); return 1; } int smlua_func_cur_obj_update_floor_and_walls(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", "cur_obj_update_floor_and_walls", 0, top); return 0; } extern void cur_obj_update_floor_and_walls(void); cur_obj_update_floor_and_walls(); return 1; } int smlua_func_cur_obj_update_floor_height(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", "cur_obj_update_floor_height", 0, top); return 0; } extern void cur_obj_update_floor_height(void); cur_obj_update_floor_height(); return 1; } int smlua_func_cur_obj_update_floor_height_and_get_floor(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", "cur_obj_update_floor_height_and_get_floor", 0, top); return 0; } extern struct Surface *cur_obj_update_floor_height_and_get_floor(void); smlua_push_object(L, LOT_SURFACE, cur_obj_update_floor_height_and_get_floor()); return 1; } int smlua_func_cur_obj_wait_then_blink(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "cur_obj_wait_then_blink", 2, top); return 0; } s32 timeUntilBlinking = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_wait_then_blink"); return 0; } s32 numBlinks = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "cur_obj_wait_then_blink"); return 0; } extern s32 cur_obj_wait_then_blink(s32 timeUntilBlinking, s32 numBlinks); lua_pushinteger(L, cur_obj_wait_then_blink(timeUntilBlinking, numBlinks)); return 1; } int smlua_func_cur_obj_was_attacked_or_ground_pounded(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", "cur_obj_was_attacked_or_ground_pounded", 0, top); return 0; } extern s32 cur_obj_was_attacked_or_ground_pounded(void); lua_pushinteger(L, cur_obj_was_attacked_or_ground_pounded()); return 1; } int smlua_func_cur_obj_within_12k_bounds(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", "cur_obj_within_12k_bounds", 0, top); return 0; } extern s32 cur_obj_within_12k_bounds(void); lua_pushinteger(L, cur_obj_within_12k_bounds()); return 1; } int smlua_func_disable_time_stop(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", "disable_time_stop", 0, top); return 0; } extern void disable_time_stop(void); disable_time_stop(); return 1; } int smlua_func_disable_time_stop_including_mario(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", "disable_time_stop_including_mario", 0, top); return 0; } extern void disable_time_stop_including_mario(void); disable_time_stop_including_mario(); return 1; } int smlua_func_dist_between_object_and_point(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "dist_between_object_and_point", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "dist_between_object_and_point"); return 0; } f32 pointX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "dist_between_object_and_point"); return 0; } f32 pointY = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "dist_between_object_and_point"); return 0; } f32 pointZ = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "dist_between_object_and_point"); return 0; } extern f32 dist_between_object_and_point(struct Object *obj, f32 pointX, f32 pointY, f32 pointZ); lua_pushnumber(L, dist_between_object_and_point(obj, pointX, pointY, pointZ)); return 1; } int smlua_func_dist_between_objects(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "dist_between_objects", 2, top); return 0; } struct Object* obj1 = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "dist_between_objects"); return 0; } struct Object* obj2 = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "dist_between_objects"); return 0; } extern f32 dist_between_objects(struct Object *obj1, struct Object *obj2); lua_pushnumber(L, dist_between_objects(obj1, obj2)); return 1; } int smlua_func_enable_time_stop(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", "enable_time_stop", 0, top); return 0; } extern void enable_time_stop(void); enable_time_stop(); return 1; } int smlua_func_enable_time_stop_if_alone(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", "enable_time_stop_if_alone", 0, top); return 0; } extern void enable_time_stop_if_alone(void); enable_time_stop_if_alone(); return 1; } int smlua_func_enable_time_stop_including_mario(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", "enable_time_stop_including_mario", 0, top); return 0; } extern void enable_time_stop_including_mario(void); enable_time_stop_including_mario(); return 1; } int smlua_func_find_object_with_behavior(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", "find_object_with_behavior", 1, top); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_object_with_behavior"); return 0; } extern struct Object *find_object_with_behavior(const BehaviorScript *behavior); smlua_push_object(L, LOT_OBJECT, find_object_with_behavior(behavior)); return 1; } int smlua_func_find_unimportant_object(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", "find_unimportant_object", 0, top); return 0; } extern struct Object *find_unimportant_object(void); smlua_push_object(L, LOT_OBJECT, find_unimportant_object()); return 1; } /* int smlua_func_geo_choose_area_ext(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_choose_area_ext", 3, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_choose_area_ext"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_choose_area_ext"); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(3, "a"); mtx[0][1] = smlua_get_number_field(3, "b"); mtx[0][2] = smlua_get_number_field(3, "c"); mtx[0][3] = smlua_get_number_field(3, "d"); mtx[1][0] = smlua_get_number_field(3, "e"); mtx[1][1] = smlua_get_number_field(3, "f"); mtx[1][2] = smlua_get_number_field(3, "g"); mtx[1][3] = smlua_get_number_field(3, "h"); mtx[2][0] = smlua_get_number_field(3, "i"); mtx[2][1] = smlua_get_number_field(3, "j"); mtx[2][2] = smlua_get_number_field(3, "k"); mtx[2][3] = smlua_get_number_field(3, "l"); mtx[3][0] = smlua_get_number_field(3, "m"); mtx[3][1] = smlua_get_number_field(3, "n"); mtx[3][2] = smlua_get_number_field(3, "o"); mtx[3][3] = smlua_get_number_field(3, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_choose_area_ext"); return 0; } extern Gfx *geo_choose_area_ext(UNUSED s32 callContext, struct GraphNode *node, UNUSED Mat4 mtx); UNIMPLEMENTED -->(L, geo_choose_area_ext(callContext, node, mtx)); smlua_push_number_field(3, "a", mtx[0][0]); smlua_push_number_field(3, "b", mtx[0][1]); smlua_push_number_field(3, "c", mtx[0][2]); smlua_push_number_field(3, "d", mtx[0][3]); smlua_push_number_field(3, "e", mtx[1][0]); smlua_push_number_field(3, "f", mtx[1][1]); smlua_push_number_field(3, "g", mtx[1][2]); smlua_push_number_field(3, "h", mtx[1][3]); smlua_push_number_field(3, "i", mtx[2][0]); smlua_push_number_field(3, "j", mtx[2][1]); smlua_push_number_field(3, "k", mtx[2][2]); smlua_push_number_field(3, "l", mtx[2][3]); smlua_push_number_field(3, "m", mtx[3][0]); smlua_push_number_field(3, "n", mtx[3][1]); smlua_push_number_field(3, "o", mtx[3][2]); smlua_push_number_field(3, "p", mtx[3][3]); return 1; } */ int smlua_func_geo_offset_klepto_debug(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_offset_klepto_debug", 3, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_offset_klepto_debug"); return 0; } struct GraphNode* a1 = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_offset_klepto_debug"); return 0; } s32 sp8 = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_offset_klepto_debug"); return 0; } extern s32 geo_offset_klepto_debug(s32 callContext, struct GraphNode *a1, UNUSED s32 sp8); lua_pushinteger(L, geo_offset_klepto_debug(callContext, a1, sp8)); return 1; } /* int smlua_func_geo_offset_klepto_held_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_offset_klepto_held_object", 3, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_offset_klepto_held_object"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_offset_klepto_held_object"); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(3, "a"); mtx[0][1] = smlua_get_number_field(3, "b"); mtx[0][2] = smlua_get_number_field(3, "c"); mtx[0][3] = smlua_get_number_field(3, "d"); mtx[1][0] = smlua_get_number_field(3, "e"); mtx[1][1] = smlua_get_number_field(3, "f"); mtx[1][2] = smlua_get_number_field(3, "g"); mtx[1][3] = smlua_get_number_field(3, "h"); mtx[2][0] = smlua_get_number_field(3, "i"); mtx[2][1] = smlua_get_number_field(3, "j"); mtx[2][2] = smlua_get_number_field(3, "k"); mtx[2][3] = smlua_get_number_field(3, "l"); mtx[3][0] = smlua_get_number_field(3, "m"); mtx[3][1] = smlua_get_number_field(3, "n"); mtx[3][2] = smlua_get_number_field(3, "o"); mtx[3][3] = smlua_get_number_field(3, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_offset_klepto_held_object"); return 0; } extern Gfx *geo_offset_klepto_held_object(s32 callContext, struct GraphNode *node, UNUSED Mat4 mtx); UNIMPLEMENTED -->(L, geo_offset_klepto_held_object(callContext, node, mtx)); smlua_push_number_field(3, "a", mtx[0][0]); smlua_push_number_field(3, "b", mtx[0][1]); smlua_push_number_field(3, "c", mtx[0][2]); smlua_push_number_field(3, "d", mtx[0][3]); smlua_push_number_field(3, "e", mtx[1][0]); smlua_push_number_field(3, "f", mtx[1][1]); smlua_push_number_field(3, "g", mtx[1][2]); smlua_push_number_field(3, "h", mtx[1][3]); smlua_push_number_field(3, "i", mtx[2][0]); smlua_push_number_field(3, "j", mtx[2][1]); smlua_push_number_field(3, "k", mtx[2][2]); smlua_push_number_field(3, "l", mtx[2][3]); smlua_push_number_field(3, "m", mtx[3][0]); smlua_push_number_field(3, "n", mtx[3][1]); smlua_push_number_field(3, "o", mtx[3][2]); smlua_push_number_field(3, "p", mtx[3][3]); return 1; } */ /* int smlua_func_geo_switch_anim_state(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_switch_anim_state", 2, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_switch_anim_state"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_switch_anim_state"); return 0; } extern Gfx *geo_switch_anim_state(s32 callContext, struct GraphNode *node); UNIMPLEMENTED -->(L, geo_switch_anim_state(callContext, node)); return 1; } */ /* int smlua_func_geo_switch_area(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_switch_area", 2, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_switch_area"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_switch_area"); return 0; } extern Gfx *geo_switch_area(s32 callContext, struct GraphNode *node); UNIMPLEMENTED -->(L, geo_switch_area(callContext, node)); return 1; } */ /* int smlua_func_geo_update_layer_transparency(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_update_layer_transparency", 3, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_update_layer_transparency"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_update_layer_transparency"); return 0; } // void * context = (void *)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_update_layer_transparency"); return 0; } extern Gfx *geo_update_layer_transparency(s32 callContext, struct GraphNode *node, UNUSED void *context); UNIMPLEMENTED -->(L, geo_update_layer_transparency(callContext, node, context)); return 1; } */ /* int smlua_func_geo_update_projectile_pos_from_parent(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "geo_update_projectile_pos_from_parent", 3, top); return 0; } s32 callContext = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "geo_update_projectile_pos_from_parent"); return 0; } struct GraphNode* node = (struct GraphNode*)smlua_to_cobject(L, 2, LOT_GRAPHNODE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "geo_update_projectile_pos_from_parent"); return 0; } Mat4 mtx; mtx[0][0] = smlua_get_number_field(3, "a"); mtx[0][1] = smlua_get_number_field(3, "b"); mtx[0][2] = smlua_get_number_field(3, "c"); mtx[0][3] = smlua_get_number_field(3, "d"); mtx[1][0] = smlua_get_number_field(3, "e"); mtx[1][1] = smlua_get_number_field(3, "f"); mtx[1][2] = smlua_get_number_field(3, "g"); mtx[1][3] = smlua_get_number_field(3, "h"); mtx[2][0] = smlua_get_number_field(3, "i"); mtx[2][1] = smlua_get_number_field(3, "j"); mtx[2][2] = smlua_get_number_field(3, "k"); mtx[2][3] = smlua_get_number_field(3, "l"); mtx[3][0] = smlua_get_number_field(3, "m"); mtx[3][1] = smlua_get_number_field(3, "n"); mtx[3][2] = smlua_get_number_field(3, "o"); mtx[3][3] = smlua_get_number_field(3, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "geo_update_projectile_pos_from_parent"); return 0; } extern Gfx *geo_update_projectile_pos_from_parent(s32 callContext, UNUSED struct GraphNode *node, Mat4 mtx); UNIMPLEMENTED -->(L, geo_update_projectile_pos_from_parent(callContext, node, mtx)); smlua_push_number_field(3, "a", mtx[0][0]); smlua_push_number_field(3, "b", mtx[0][1]); smlua_push_number_field(3, "c", mtx[0][2]); smlua_push_number_field(3, "d", mtx[0][3]); smlua_push_number_field(3, "e", mtx[1][0]); smlua_push_number_field(3, "f", mtx[1][1]); smlua_push_number_field(3, "g", mtx[1][2]); smlua_push_number_field(3, "h", mtx[1][3]); smlua_push_number_field(3, "i", mtx[2][0]); smlua_push_number_field(3, "j", mtx[2][1]); smlua_push_number_field(3, "k", mtx[2][2]); smlua_push_number_field(3, "l", mtx[2][3]); smlua_push_number_field(3, "m", mtx[3][0]); smlua_push_number_field(3, "n", mtx[3][1]); smlua_push_number_field(3, "o", mtx[3][2]); smlua_push_number_field(3, "p", mtx[3][3]); return 1; } */ int smlua_func_get_object_list_from_behavior(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", "get_object_list_from_behavior", 1, top); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_object_list_from_behavior"); return 0; } extern u32 get_object_list_from_behavior(const BehaviorScript *behavior); lua_pushinteger(L, get_object_list_from_behavior(behavior)); return 1; } int smlua_func_get_trajectory_length(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", "get_trajectory_length", 1, top); return 0; } Trajectory* trajectory = (Trajectory*)smlua_to_cpointer(L, 1, LVT_TRAJECTORY_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_trajectory_length"); return 0; } extern s32 get_trajectory_length(Trajectory* trajectory); lua_pushinteger(L, get_trajectory_length(trajectory)); return 1; } int smlua_func_increment_velocity_toward_range(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "increment_velocity_toward_range", 4, top); return 0; } f32 value = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "increment_velocity_toward_range"); return 0; } f32 center = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "increment_velocity_toward_range"); return 0; } f32 zeroThreshold = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "increment_velocity_toward_range"); return 0; } f32 increment = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "increment_velocity_toward_range"); return 0; } extern f32 increment_velocity_toward_range(f32 value, f32 center, f32 zeroThreshold, f32 increment); lua_pushnumber(L, increment_velocity_toward_range(value, center, zeroThreshold, increment)); return 1; } int smlua_func_is_item_in_array(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "is_item_in_array", 2, top); return 0; } s8 item = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_item_in_array"); return 0; } s8 * array = (s8 *)smlua_to_cpointer(L, 2, LVT_S8_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "is_item_in_array"); return 0; } extern s32 is_item_in_array(s8 item, s8 *array); lua_pushinteger(L, is_item_in_array(item, array)); return 1; } int smlua_func_is_mario_moving_fast_or_in_air(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", "is_mario_moving_fast_or_in_air", 1, top); return 0; } s32 speedThreshold = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "is_mario_moving_fast_or_in_air"); return 0; } extern s32 is_mario_moving_fast_or_in_air(s32 speedThreshold); lua_pushinteger(L, is_mario_moving_fast_or_in_air(speedThreshold)); return 1; } int smlua_func_lateral_dist_between_objects(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "lateral_dist_between_objects", 2, top); return 0; } struct Object* obj1 = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "lateral_dist_between_objects"); return 0; } struct Object* obj2 = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "lateral_dist_between_objects"); return 0; } extern f32 lateral_dist_between_objects(struct Object *obj1, struct Object *obj2); lua_pushnumber(L, lateral_dist_between_objects(obj1, obj2)); return 1; } int smlua_func_linear_mtxf_mul_vec3f(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "linear_mtxf_mul_vec3f", 3, top); return 0; } Mat4 m; m[0][0] = smlua_get_number_field(1, "a"); m[0][1] = smlua_get_number_field(1, "b"); m[0][2] = smlua_get_number_field(1, "c"); m[0][3] = smlua_get_number_field(1, "d"); m[1][0] = smlua_get_number_field(1, "e"); m[1][1] = smlua_get_number_field(1, "f"); m[1][2] = smlua_get_number_field(1, "g"); m[1][3] = smlua_get_number_field(1, "h"); m[2][0] = smlua_get_number_field(1, "i"); m[2][1] = smlua_get_number_field(1, "j"); m[2][2] = smlua_get_number_field(1, "k"); m[2][3] = smlua_get_number_field(1, "l"); m[3][0] = smlua_get_number_field(1, "m"); m[3][1] = smlua_get_number_field(1, "n"); m[3][2] = smlua_get_number_field(1, "o"); m[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "linear_mtxf_mul_vec3f"); return 0; } f32* dst = smlua_get_vec3f_from_buffer(); dst[0] = smlua_get_number_field(2, "x"); dst[1] = smlua_get_number_field(2, "y"); dst[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "linear_mtxf_mul_vec3f"); return 0; } f32* v = smlua_get_vec3f_from_buffer(); v[0] = smlua_get_number_field(3, "x"); v[1] = smlua_get_number_field(3, "y"); v[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "linear_mtxf_mul_vec3f"); return 0; } extern void linear_mtxf_mul_vec3f(Mat4 m, Vec3f dst, Vec3f v); linear_mtxf_mul_vec3f(m, dst, v); smlua_push_number_field(1, "a", m[0][0]); smlua_push_number_field(1, "b", m[0][1]); smlua_push_number_field(1, "c", m[0][2]); smlua_push_number_field(1, "d", m[0][3]); smlua_push_number_field(1, "e", m[1][0]); smlua_push_number_field(1, "f", m[1][1]); smlua_push_number_field(1, "g", m[1][2]); smlua_push_number_field(1, "h", m[1][3]); smlua_push_number_field(1, "i", m[2][0]); smlua_push_number_field(1, "j", m[2][1]); smlua_push_number_field(1, "k", m[2][2]); smlua_push_number_field(1, "l", m[2][3]); smlua_push_number_field(1, "m", m[3][0]); smlua_push_number_field(1, "n", m[3][1]); smlua_push_number_field(1, "o", m[3][2]); smlua_push_number_field(1, "p", m[3][3]); smlua_push_number_field(2, "x", dst[0]); smlua_push_number_field(2, "y", dst[1]); smlua_push_number_field(2, "z", dst[2]); smlua_push_number_field(3, "x", v[0]); smlua_push_number_field(3, "y", v[1]); smlua_push_number_field(3, "z", v[2]); return 1; } int smlua_func_linear_mtxf_transpose_mul_vec3f(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "linear_mtxf_transpose_mul_vec3f", 3, top); return 0; } Mat4 m; m[0][0] = smlua_get_number_field(1, "a"); m[0][1] = smlua_get_number_field(1, "b"); m[0][2] = smlua_get_number_field(1, "c"); m[0][3] = smlua_get_number_field(1, "d"); m[1][0] = smlua_get_number_field(1, "e"); m[1][1] = smlua_get_number_field(1, "f"); m[1][2] = smlua_get_number_field(1, "g"); m[1][3] = smlua_get_number_field(1, "h"); m[2][0] = smlua_get_number_field(1, "i"); m[2][1] = smlua_get_number_field(1, "j"); m[2][2] = smlua_get_number_field(1, "k"); m[2][3] = smlua_get_number_field(1, "l"); m[3][0] = smlua_get_number_field(1, "m"); m[3][1] = smlua_get_number_field(1, "n"); m[3][2] = smlua_get_number_field(1, "o"); m[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "linear_mtxf_transpose_mul_vec3f"); return 0; } f32* dst = smlua_get_vec3f_from_buffer(); dst[0] = smlua_get_number_field(2, "x"); dst[1] = smlua_get_number_field(2, "y"); dst[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "linear_mtxf_transpose_mul_vec3f"); return 0; } f32* v = smlua_get_vec3f_from_buffer(); v[0] = smlua_get_number_field(3, "x"); v[1] = smlua_get_number_field(3, "y"); v[2] = smlua_get_number_field(3, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "linear_mtxf_transpose_mul_vec3f"); return 0; } extern void linear_mtxf_transpose_mul_vec3f(Mat4 m, Vec3f dst, Vec3f v); linear_mtxf_transpose_mul_vec3f(m, dst, v); smlua_push_number_field(1, "a", m[0][0]); smlua_push_number_field(1, "b", m[0][1]); smlua_push_number_field(1, "c", m[0][2]); smlua_push_number_field(1, "d", m[0][3]); smlua_push_number_field(1, "e", m[1][0]); smlua_push_number_field(1, "f", m[1][1]); smlua_push_number_field(1, "g", m[1][2]); smlua_push_number_field(1, "h", m[1][3]); smlua_push_number_field(1, "i", m[2][0]); smlua_push_number_field(1, "j", m[2][1]); smlua_push_number_field(1, "k", m[2][2]); smlua_push_number_field(1, "l", m[2][3]); smlua_push_number_field(1, "m", m[3][0]); smlua_push_number_field(1, "n", m[3][1]); smlua_push_number_field(1, "o", m[3][2]); smlua_push_number_field(1, "p", m[3][3]); smlua_push_number_field(2, "x", dst[0]); smlua_push_number_field(2, "y", dst[1]); smlua_push_number_field(2, "z", dst[2]); smlua_push_number_field(3, "x", v[0]); smlua_push_number_field(3, "y", v[1]); smlua_push_number_field(3, "z", v[2]); return 1; } int smlua_func_mario_is_dive_sliding(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", "mario_is_dive_sliding", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_is_dive_sliding"); return 0; } extern s32 mario_is_dive_sliding(struct MarioState* m); lua_pushinteger(L, mario_is_dive_sliding(m)); return 1; } int smlua_func_mario_is_in_air_action(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", "mario_is_in_air_action", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_is_in_air_action"); return 0; } extern s32 mario_is_in_air_action(struct MarioState* m); lua_pushinteger(L, mario_is_in_air_action(m)); return 1; } int smlua_func_mario_is_within_rectangle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "mario_is_within_rectangle", 4, top); return 0; } s16 minX = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_is_within_rectangle"); return 0; } s16 maxX = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "mario_is_within_rectangle"); return 0; } s16 minZ = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "mario_is_within_rectangle"); return 0; } s16 maxZ = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "mario_is_within_rectangle"); return 0; } extern s32 mario_is_within_rectangle(s16 minX, s16 maxX, s16 minZ, s16 maxZ); lua_pushinteger(L, mario_is_within_rectangle(minX, maxX, minZ, maxZ)); return 1; } int smlua_func_mario_set_flag(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", "mario_set_flag", 1, top); return 0; } s32 flag = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "mario_set_flag"); return 0; } extern void mario_set_flag(s32 flag); mario_set_flag(flag); return 1; } int smlua_func_obj_angle_to_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_angle_to_object", 2, top); return 0; } struct Object* obj1 = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_angle_to_object"); return 0; } struct Object* obj2 = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_angle_to_object"); return 0; } extern s16 obj_angle_to_object(struct Object *obj1, struct Object *obj2); lua_pushinteger(L, obj_angle_to_object(obj1, obj2)); return 1; } int smlua_func_obj_angle_to_point(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_angle_to_point", 3, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_angle_to_point"); return 0; } f32 pointX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_angle_to_point"); return 0; } f32 pointZ = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_angle_to_point"); return 0; } extern s16 obj_angle_to_point(struct Object *obj, f32 pointX, f32 pointZ); lua_pushinteger(L, obj_angle_to_point(obj, pointX, pointZ)); return 1; } int smlua_func_obj_apply_scale_to_matrix(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_apply_scale_to_matrix", 3, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_apply_scale_to_matrix"); return 0; } Mat4 dst; dst[0][0] = smlua_get_number_field(2, "a"); dst[0][1] = smlua_get_number_field(2, "b"); dst[0][2] = smlua_get_number_field(2, "c"); dst[0][3] = smlua_get_number_field(2, "d"); dst[1][0] = smlua_get_number_field(2, "e"); dst[1][1] = smlua_get_number_field(2, "f"); dst[1][2] = smlua_get_number_field(2, "g"); dst[1][3] = smlua_get_number_field(2, "h"); dst[2][0] = smlua_get_number_field(2, "i"); dst[2][1] = smlua_get_number_field(2, "j"); dst[2][2] = smlua_get_number_field(2, "k"); dst[2][3] = smlua_get_number_field(2, "l"); dst[3][0] = smlua_get_number_field(2, "m"); dst[3][1] = smlua_get_number_field(2, "n"); dst[3][2] = smlua_get_number_field(2, "o"); dst[3][3] = smlua_get_number_field(2, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_apply_scale_to_matrix"); return 0; } Mat4 src; src[0][0] = smlua_get_number_field(3, "a"); src[0][1] = smlua_get_number_field(3, "b"); src[0][2] = smlua_get_number_field(3, "c"); src[0][3] = smlua_get_number_field(3, "d"); src[1][0] = smlua_get_number_field(3, "e"); src[1][1] = smlua_get_number_field(3, "f"); src[1][2] = smlua_get_number_field(3, "g"); src[1][3] = smlua_get_number_field(3, "h"); src[2][0] = smlua_get_number_field(3, "i"); src[2][1] = smlua_get_number_field(3, "j"); src[2][2] = smlua_get_number_field(3, "k"); src[2][3] = smlua_get_number_field(3, "l"); src[3][0] = smlua_get_number_field(3, "m"); src[3][1] = smlua_get_number_field(3, "n"); src[3][2] = smlua_get_number_field(3, "o"); src[3][3] = smlua_get_number_field(3, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_apply_scale_to_matrix"); return 0; } extern void obj_apply_scale_to_matrix(struct Object *obj, Mat4 dst, Mat4 src); obj_apply_scale_to_matrix(obj, dst, src); smlua_push_number_field(2, "a", dst[0][0]); smlua_push_number_field(2, "b", dst[0][1]); smlua_push_number_field(2, "c", dst[0][2]); smlua_push_number_field(2, "d", dst[0][3]); smlua_push_number_field(2, "e", dst[1][0]); smlua_push_number_field(2, "f", dst[1][1]); smlua_push_number_field(2, "g", dst[1][2]); smlua_push_number_field(2, "h", dst[1][3]); smlua_push_number_field(2, "i", dst[2][0]); smlua_push_number_field(2, "j", dst[2][1]); smlua_push_number_field(2, "k", dst[2][2]); smlua_push_number_field(2, "l", dst[2][3]); smlua_push_number_field(2, "m", dst[3][0]); smlua_push_number_field(2, "n", dst[3][1]); smlua_push_number_field(2, "o", dst[3][2]); smlua_push_number_field(2, "p", dst[3][3]); smlua_push_number_field(3, "a", src[0][0]); smlua_push_number_field(3, "b", src[0][1]); smlua_push_number_field(3, "c", src[0][2]); smlua_push_number_field(3, "d", src[0][3]); smlua_push_number_field(3, "e", src[1][0]); smlua_push_number_field(3, "f", src[1][1]); smlua_push_number_field(3, "g", src[1][2]); smlua_push_number_field(3, "h", src[1][3]); smlua_push_number_field(3, "i", src[2][0]); smlua_push_number_field(3, "j", src[2][1]); smlua_push_number_field(3, "k", src[2][2]); smlua_push_number_field(3, "l", src[2][3]); smlua_push_number_field(3, "m", src[3][0]); smlua_push_number_field(3, "n", src[3][1]); smlua_push_number_field(3, "o", src[3][2]); smlua_push_number_field(3, "p", src[3][3]); return 1; } int smlua_func_obj_apply_scale_to_transform(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", "obj_apply_scale_to_transform", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_apply_scale_to_transform"); return 0; } extern void obj_apply_scale_to_transform(struct Object *obj); obj_apply_scale_to_transform(obj); return 1; } int smlua_func_obj_attack_collided_from_other_object(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", "obj_attack_collided_from_other_object", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_attack_collided_from_other_object"); return 0; } extern s32 obj_attack_collided_from_other_object(struct Object *obj); lua_pushinteger(L, obj_attack_collided_from_other_object(obj)); return 1; } int smlua_func_obj_become_tangible(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", "obj_become_tangible", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_become_tangible"); return 0; } extern void obj_become_tangible(struct Object *obj); obj_become_tangible(obj); return 1; } int smlua_func_obj_build_relative_transform(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", "obj_build_relative_transform", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_build_relative_transform"); return 0; } extern void obj_build_relative_transform(struct Object *obj); obj_build_relative_transform(obj); return 1; } int smlua_func_obj_build_transform_from_pos_and_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_build_transform_from_pos_and_angle", 3, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_build_transform_from_pos_and_angle"); return 0; } s16 posIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_build_transform_from_pos_and_angle"); return 0; } s16 angleIndex = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_build_transform_from_pos_and_angle"); return 0; } extern void obj_build_transform_from_pos_and_angle(struct Object *obj, s16 posIndex, s16 angleIndex); obj_build_transform_from_pos_and_angle(obj, posIndex, angleIndex); return 1; } int smlua_func_obj_build_transform_relative_to_parent(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", "obj_build_transform_relative_to_parent", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_build_transform_relative_to_parent"); return 0; } extern void obj_build_transform_relative_to_parent(struct Object *obj); obj_build_transform_relative_to_parent(obj); return 1; } int smlua_func_obj_build_vel_from_transform(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", "obj_build_vel_from_transform", 1, top); return 0; } struct Object* a0 = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_build_vel_from_transform"); return 0; } extern void obj_build_vel_from_transform(struct Object *a0); obj_build_vel_from_transform(a0); return 1; } int smlua_func_obj_check_if_collided_with_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_check_if_collided_with_object", 2, top); return 0; } struct Object* obj1 = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_check_if_collided_with_object"); return 0; } struct Object* obj2 = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_check_if_collided_with_object"); return 0; } extern s32 obj_check_if_collided_with_object(struct Object *obj1, struct Object *obj2); lua_pushinteger(L, obj_check_if_collided_with_object(obj1, obj2)); return 1; } int smlua_func_obj_copy_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_copy_angle", 2, top); return 0; } struct Object* dst = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_copy_angle"); return 0; } struct Object* src = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_copy_angle"); return 0; } extern void obj_copy_angle(struct Object *dst, struct Object *src); obj_copy_angle(dst, src); return 1; } int smlua_func_obj_copy_behavior_params(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_copy_behavior_params", 2, top); return 0; } struct Object* dst = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_copy_behavior_params"); return 0; } struct Object* src = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_copy_behavior_params"); return 0; } extern void obj_copy_behavior_params(struct Object *dst, struct Object *src); obj_copy_behavior_params(dst, src); return 1; } int smlua_func_obj_copy_graph_y_offset(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_copy_graph_y_offset", 2, top); return 0; } struct Object* dst = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_copy_graph_y_offset"); return 0; } struct Object* src = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_copy_graph_y_offset"); return 0; } extern void obj_copy_graph_y_offset(struct Object *dst, struct Object *src); obj_copy_graph_y_offset(dst, src); return 1; } int smlua_func_obj_copy_pos(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_copy_pos", 2, top); return 0; } struct Object* dst = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_copy_pos"); return 0; } struct Object* src = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_copy_pos"); return 0; } extern void obj_copy_pos(struct Object *dst, struct Object *src); obj_copy_pos(dst, src); return 1; } int smlua_func_obj_copy_pos_and_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_copy_pos_and_angle", 2, top); return 0; } struct Object* dst = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_copy_pos_and_angle"); return 0; } struct Object* src = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_copy_pos_and_angle"); return 0; } extern void obj_copy_pos_and_angle(struct Object *dst, struct Object *src); obj_copy_pos_and_angle(dst, src); return 1; } int smlua_func_obj_copy_scale(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_copy_scale", 2, top); return 0; } struct Object* dst = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_copy_scale"); return 0; } struct Object* src = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_copy_scale"); return 0; } extern void obj_copy_scale(struct Object *dst, struct Object *src); obj_copy_scale(dst, src); return 1; } int smlua_func_obj_create_transform_from_self(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", "obj_create_transform_from_self", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_create_transform_from_self"); return 0; } extern void obj_create_transform_from_self(struct Object *obj); obj_create_transform_from_self(obj); return 1; } int smlua_func_obj_explode_and_spawn_coins(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_explode_and_spawn_coins", 2, top); return 0; } f32 sp18 = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_explode_and_spawn_coins"); return 0; } s32 sp1C = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_explode_and_spawn_coins"); return 0; } extern void obj_explode_and_spawn_coins(f32 sp18, s32 sp1C); obj_explode_and_spawn_coins(sp18, sp1C); return 1; } int smlua_func_obj_has_behavior(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_has_behavior", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_has_behavior"); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 2, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_has_behavior"); return 0; } extern s32 obj_has_behavior(struct Object *obj, const BehaviorScript *behavior); lua_pushinteger(L, obj_has_behavior(obj, behavior)); return 1; } int smlua_func_obj_init_animation(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_init_animation", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_init_animation"); return 0; } s32 animIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_init_animation"); return 0; } extern void obj_init_animation(struct Object *obj, s32 animIndex); obj_init_animation(obj, animIndex); return 1; } int smlua_func_obj_init_animation_with_accel_and_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_init_animation_with_accel_and_sound", 3, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_init_animation_with_accel_and_sound"); return 0; } s32 animIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_init_animation_with_accel_and_sound"); return 0; } f32 accel = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_init_animation_with_accel_and_sound"); return 0; } extern void obj_init_animation_with_accel_and_sound(struct Object *obj, s32 animIndex, f32 accel); obj_init_animation_with_accel_and_sound(obj, animIndex, accel); return 1; } int smlua_func_obj_init_animation_with_sound(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_init_animation_with_sound", 3, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_init_animation_with_sound"); return 0; } struct AnimationTable* animations = (struct AnimationTable*)smlua_to_cobject(L, 2, LOT_ANIMATIONTABLE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_init_animation_with_sound"); return 0; } s32 animIndex = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_init_animation_with_sound"); return 0; } extern void obj_init_animation_with_sound(struct Object *obj, const struct AnimationTable* animations, s32 animIndex); obj_init_animation_with_sound(obj, animations, animIndex); return 1; } int smlua_func_obj_is_hidden(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", "obj_is_hidden", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_hidden"); return 0; } extern s32 obj_is_hidden(struct Object *obj); lua_pushinteger(L, obj_is_hidden(obj)); return 1; } int smlua_func_obj_mark_for_deletion(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", "obj_mark_for_deletion", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_mark_for_deletion"); return 0; } extern void obj_mark_for_deletion(struct Object *obj); obj_mark_for_deletion(obj); return 1; } int smlua_func_obj_pitch_to_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_pitch_to_object", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_pitch_to_object"); return 0; } struct Object* target = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_pitch_to_object"); return 0; } extern s16 obj_pitch_to_object(struct Object* obj, struct Object* target); lua_pushinteger(L, obj_pitch_to_object(obj, target)); return 1; } int smlua_func_obj_scale(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_scale", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_scale"); return 0; } f32 scale = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_scale"); return 0; } extern void obj_scale(struct Object *obj, f32 scale); obj_scale(obj, scale); return 1; } int smlua_func_obj_scale_random(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_scale_random", 3, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_scale_random"); return 0; } f32 rangeLength = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_scale_random"); return 0; } f32 minScale = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_scale_random"); return 0; } extern void obj_scale_random(struct Object *obj, f32 rangeLength, f32 minScale); obj_scale_random(obj, rangeLength, minScale); return 1; } int smlua_func_obj_scale_xyz(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_scale_xyz", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_scale_xyz"); return 0; } f32 xScale = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_scale_xyz"); return 0; } f32 yScale = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_scale_xyz"); return 0; } f32 zScale = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_scale_xyz"); return 0; } extern void obj_scale_xyz(struct Object *obj, f32 xScale, f32 yScale, f32 zScale); obj_scale_xyz(obj, xScale, yScale, zScale); return 1; } int smlua_func_obj_set_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_angle", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_angle"); return 0; } s16 pitch = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_angle"); return 0; } s16 yaw = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_angle"); return 0; } s16 roll = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_set_angle"); return 0; } extern void obj_set_angle(struct Object *obj, s16 pitch, s16 yaw, s16 roll); obj_set_angle(obj, pitch, yaw, roll); return 1; } int smlua_func_obj_set_behavior(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_behavior", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_behavior"); return 0; } BehaviorScript * behavior = (BehaviorScript *)smlua_to_cpointer(L, 2, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_behavior"); return 0; } extern void obj_set_behavior(struct Object *obj, const BehaviorScript *behavior); obj_set_behavior(obj, behavior); return 1; } int smlua_func_obj_set_billboard(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", "obj_set_billboard", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_billboard"); return 0; } extern void obj_set_billboard(struct Object *obj); obj_set_billboard(obj); return 1; } /* int smlua_func_obj_set_collision_data(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_collision_data", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_collision_data"); return 0; } // void * segAddr = (void *)smlua_to_cobject(L, 2, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_collision_data"); return 0; } extern void obj_set_collision_data(struct Object *obj, const void *segAddr); obj_set_collision_data(obj, segAddr); return 1; } */ int smlua_func_obj_set_cylboard(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", "obj_set_cylboard", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_cylboard"); return 0; } extern void obj_set_cylboard(struct Object *obj); obj_set_cylboard(obj); return 1; } int smlua_func_obj_set_face_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_face_angle", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_face_angle"); return 0; } s16 pitch = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_face_angle"); return 0; } s16 yaw = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_face_angle"); return 0; } s16 roll = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_set_face_angle"); return 0; } extern void obj_set_face_angle(struct Object *obj, s16 pitch, s16 yaw, s16 roll); obj_set_face_angle(obj, pitch, yaw, roll); return 1; } int smlua_func_obj_set_face_angle_to_move_angle(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", "obj_set_face_angle_to_move_angle", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_face_angle_to_move_angle"); return 0; } extern void obj_set_face_angle_to_move_angle(struct Object *obj); obj_set_face_angle_to_move_angle(obj); return 1; } int smlua_func_obj_set_gfx_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_gfx_angle", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_gfx_angle"); return 0; } s16 pitch = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_gfx_angle"); return 0; } s16 yaw = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_gfx_angle"); return 0; } s16 roll = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_set_gfx_angle"); return 0; } extern void obj_set_gfx_angle(struct Object *obj, s16 pitch, s16 yaw, s16 roll); obj_set_gfx_angle(obj, pitch, yaw, roll); return 1; } int smlua_func_obj_set_gfx_pos(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_gfx_pos", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_gfx_pos"); return 0; } f32 x = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_gfx_pos"); return 0; } f32 y = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_gfx_pos"); return 0; } f32 z = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_set_gfx_pos"); return 0; } extern void obj_set_gfx_pos(struct Object *obj, f32 x, f32 y, f32 z); obj_set_gfx_pos(obj, x, y, z); return 1; } int smlua_func_obj_set_gfx_pos_at_obj_pos(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_gfx_pos_at_obj_pos", 2, top); return 0; } struct Object* obj1 = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_gfx_pos_at_obj_pos"); return 0; } struct Object* obj2 = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_gfx_pos_at_obj_pos"); return 0; } extern void obj_set_gfx_pos_at_obj_pos(struct Object *obj1, struct Object *obj2); obj_set_gfx_pos_at_obj_pos(obj1, obj2); return 1; } int smlua_func_obj_set_gfx_pos_from_pos(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", "obj_set_gfx_pos_from_pos", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_gfx_pos_from_pos"); return 0; } extern void obj_set_gfx_pos_from_pos(struct Object *obj); obj_set_gfx_pos_from_pos(obj); return 1; } int smlua_func_obj_set_gfx_scale(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_gfx_scale", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_gfx_scale"); return 0; } f32 x = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_gfx_scale"); return 0; } f32 y = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_gfx_scale"); return 0; } f32 z = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_set_gfx_scale"); return 0; } extern void obj_set_gfx_scale(struct Object *obj, f32 x, f32 y, f32 z); obj_set_gfx_scale(obj, x, y, z); return 1; } int smlua_func_obj_set_held_state(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_held_state", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_held_state"); return 0; } BehaviorScript * heldBehavior = (BehaviorScript *)smlua_to_cpointer(L, 2, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_held_state"); return 0; } extern void obj_set_held_state(struct Object *obj, const BehaviorScript *heldBehavior); obj_set_held_state(obj, heldBehavior); return 1; } int smlua_func_obj_set_hitbox(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_hitbox", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_hitbox"); return 0; } struct ObjectHitbox* hitbox = (struct ObjectHitbox*)smlua_to_cobject(L, 2, LOT_OBJECTHITBOX); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_hitbox"); return 0; } extern void obj_set_hitbox(struct Object *obj, struct ObjectHitbox *hitbox); obj_set_hitbox(obj, hitbox); return 1; } int smlua_func_obj_set_hitbox_radius_and_height(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_hitbox_radius_and_height", 3, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_hitbox_radius_and_height"); return 0; } f32 radius = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_hitbox_radius_and_height"); return 0; } f32 height = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_hitbox_radius_and_height"); return 0; } extern void obj_set_hitbox_radius_and_height(struct Object *o, f32 radius, f32 height); obj_set_hitbox_radius_and_height(o, radius, height); return 1; } int smlua_func_obj_set_hurtbox_radius_and_height(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_hurtbox_radius_and_height", 3, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_hurtbox_radius_and_height"); return 0; } f32 radius = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_hurtbox_radius_and_height"); return 0; } f32 height = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_hurtbox_radius_and_height"); return 0; } extern void obj_set_hurtbox_radius_and_height(struct Object *o, f32 radius, f32 height); obj_set_hurtbox_radius_and_height(o, radius, height); return 1; } int smlua_func_obj_set_move_angle(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_move_angle", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_move_angle"); return 0; } s16 pitch = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_move_angle"); return 0; } s16 yaw = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_move_angle"); return 0; } s16 roll = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_set_move_angle"); return 0; } extern void obj_set_move_angle(struct Object *obj, s16 pitch, s16 yaw, s16 roll); obj_set_move_angle(obj, pitch, yaw, roll); return 1; } int smlua_func_obj_set_parent_relative_pos(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_parent_relative_pos", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_parent_relative_pos"); return 0; } s16 relX = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_parent_relative_pos"); return 0; } s16 relY = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_parent_relative_pos"); return 0; } s16 relZ = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_set_parent_relative_pos"); return 0; } extern void obj_set_parent_relative_pos(struct Object *obj, s16 relX, s16 relY, s16 relZ); obj_set_parent_relative_pos(obj, relX, relY, relZ); return 1; } int smlua_func_obj_set_pos(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_pos", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_pos"); return 0; } s16 x = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_pos"); return 0; } s16 y = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_pos"); return 0; } s16 z = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_set_pos"); return 0; } extern void obj_set_pos(struct Object *obj, s16 x, s16 y, s16 z); obj_set_pos(obj, x, y, z); return 1; } int smlua_func_obj_set_pos_relative(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_pos_relative", 5, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_pos_relative"); return 0; } struct Object* other = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_pos_relative"); return 0; } f32 dleft = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_pos_relative"); return 0; } f32 dy = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_set_pos_relative"); return 0; } f32 dforward = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "obj_set_pos_relative"); return 0; } extern void obj_set_pos_relative(struct Object *obj, struct Object *other, f32 dleft, f32 dy, f32 dforward); obj_set_pos_relative(obj, other, dleft, dy, dforward); return 1; } int smlua_func_obj_set_throw_matrix_from_transform(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", "obj_set_throw_matrix_from_transform", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_throw_matrix_from_transform"); return 0; } extern void obj_set_throw_matrix_from_transform(struct Object *obj); obj_set_throw_matrix_from_transform(obj); return 1; } int smlua_func_obj_spawn_loot_blue_coins(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_spawn_loot_blue_coins", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_spawn_loot_blue_coins"); return 0; } s32 numCoins = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_spawn_loot_blue_coins"); return 0; } f32 sp28 = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_spawn_loot_blue_coins"); return 0; } s16 posJitter = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_spawn_loot_blue_coins"); return 0; } extern void obj_spawn_loot_blue_coins(struct Object *obj, s32 numCoins, f32 sp28, s16 posJitter); obj_spawn_loot_blue_coins(obj, numCoins, sp28, posJitter); return 1; } int smlua_func_obj_spawn_loot_coins(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_spawn_loot_coins", 6, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_spawn_loot_coins"); return 0; } s32 numCoins = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_spawn_loot_coins"); return 0; } f32 sp30 = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_spawn_loot_coins"); return 0; } BehaviorScript * coinBehavior = (BehaviorScript *)smlua_to_cpointer(L, 4, LVT_BEHAVIORSCRIPT_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_spawn_loot_coins"); return 0; } s16 posJitter = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "obj_spawn_loot_coins"); return 0; } s16 model = smlua_to_integer(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "obj_spawn_loot_coins"); return 0; } extern void obj_spawn_loot_coins(struct Object *obj, s32 numCoins, f32 sp30, const BehaviorScript *coinBehavior, s16 posJitter, s16 model); obj_spawn_loot_coins(obj, numCoins, sp30, coinBehavior, posJitter, model); return 1; } int smlua_func_obj_spawn_loot_yellow_coins(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_spawn_loot_yellow_coins", 3, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_spawn_loot_yellow_coins"); return 0; } s32 numCoins = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_spawn_loot_yellow_coins"); return 0; } f32 sp28 = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_spawn_loot_yellow_coins"); return 0; } extern void obj_spawn_loot_yellow_coins(struct Object *obj, s32 numCoins, f32 sp28); obj_spawn_loot_yellow_coins(obj, numCoins, sp28); return 1; } int smlua_func_obj_translate_local(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_translate_local", 3, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_translate_local"); return 0; } s16 posIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_translate_local"); return 0; } s16 localTranslateIndex = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_translate_local"); return 0; } extern void obj_translate_local(struct Object *obj, s16 posIndex, s16 localTranslateIndex); obj_translate_local(obj, posIndex, localTranslateIndex); return 1; } int smlua_func_obj_translate_xyz_random(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_translate_xyz_random", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_translate_xyz_random"); return 0; } f32 rangeLength = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_translate_xyz_random"); return 0; } extern void obj_translate_xyz_random(struct Object *obj, f32 rangeLength); obj_translate_xyz_random(obj, rangeLength); return 1; } int smlua_func_obj_translate_xz_random(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_translate_xz_random", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_translate_xz_random"); return 0; } f32 rangeLength = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_translate_xz_random"); return 0; } extern void obj_translate_xz_random(struct Object *obj, f32 rangeLength); obj_translate_xz_random(obj, rangeLength); return 1; } int smlua_func_obj_turn_toward_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_turn_toward_object", 4, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_turn_toward_object"); return 0; } struct Object* target = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_turn_toward_object"); return 0; } s16 angleIndex = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_turn_toward_object"); return 0; } s16 turnAmount = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_turn_toward_object"); return 0; } extern s16 obj_turn_toward_object(struct Object *obj, struct Object *target, s16 angleIndex, s16 turnAmount); lua_pushinteger(L, obj_turn_toward_object(obj, target, angleIndex, turnAmount)); return 1; } int smlua_func_obj_update_pos_from_parent_transformation(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_update_pos_from_parent_transformation", 2, top); return 0; } Mat4 a0; a0[0][0] = smlua_get_number_field(1, "a"); a0[0][1] = smlua_get_number_field(1, "b"); a0[0][2] = smlua_get_number_field(1, "c"); a0[0][3] = smlua_get_number_field(1, "d"); a0[1][0] = smlua_get_number_field(1, "e"); a0[1][1] = smlua_get_number_field(1, "f"); a0[1][2] = smlua_get_number_field(1, "g"); a0[1][3] = smlua_get_number_field(1, "h"); a0[2][0] = smlua_get_number_field(1, "i"); a0[2][1] = smlua_get_number_field(1, "j"); a0[2][2] = smlua_get_number_field(1, "k"); a0[2][3] = smlua_get_number_field(1, "l"); a0[3][0] = smlua_get_number_field(1, "m"); a0[3][1] = smlua_get_number_field(1, "n"); a0[3][2] = smlua_get_number_field(1, "o"); a0[3][3] = smlua_get_number_field(1, "p"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_update_pos_from_parent_transformation"); return 0; } struct Object* a1 = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_update_pos_from_parent_transformation"); return 0; } extern void obj_update_pos_from_parent_transformation(Mat4 a0, struct Object *a1); obj_update_pos_from_parent_transformation(a0, a1); smlua_push_number_field(1, "a", a0[0][0]); smlua_push_number_field(1, "b", a0[0][1]); smlua_push_number_field(1, "c", a0[0][2]); smlua_push_number_field(1, "d", a0[0][3]); smlua_push_number_field(1, "e", a0[1][0]); smlua_push_number_field(1, "f", a0[1][1]); smlua_push_number_field(1, "g", a0[1][2]); smlua_push_number_field(1, "h", a0[1][3]); smlua_push_number_field(1, "i", a0[2][0]); smlua_push_number_field(1, "j", a0[2][1]); smlua_push_number_field(1, "k", a0[2][2]); smlua_push_number_field(1, "l", a0[2][3]); smlua_push_number_field(1, "m", a0[3][0]); smlua_push_number_field(1, "n", a0[3][1]); smlua_push_number_field(1, "o", a0[3][2]); smlua_push_number_field(1, "p", a0[3][3]); return 1; } int smlua_func_player_performed_grab_escape_action(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", "player_performed_grab_escape_action", 0, top); return 0; } extern s32 player_performed_grab_escape_action(void); lua_pushinteger(L, player_performed_grab_escape_action()); return 1; } int smlua_func_random_f32_around_zero(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", "random_f32_around_zero", 1, top); return 0; } f32 diameter = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "random_f32_around_zero"); return 0; } extern f32 random_f32_around_zero(f32 diameter); lua_pushnumber(L, random_f32_around_zero(diameter)); return 1; } int smlua_func_set_mario_interact_hoot_if_in_range(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_mario_interact_hoot_if_in_range", 3, top); return 0; } s32 sp0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_mario_interact_hoot_if_in_range"); return 0; } s32 sp4 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_mario_interact_hoot_if_in_range"); return 0; } f32 sp8 = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_mario_interact_hoot_if_in_range"); return 0; } extern void set_mario_interact_hoot_if_in_range(UNUSED s32 sp0, UNUSED s32 sp4, f32 sp8); set_mario_interact_hoot_if_in_range(sp0, sp4, sp8); return 1; } int smlua_func_set_time_stop_flags(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", "set_time_stop_flags", 1, top); return 0; } s32 flags = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_time_stop_flags"); return 0; } extern void set_time_stop_flags(s32 flags); set_time_stop_flags(flags); return 1; } int smlua_func_set_time_stop_flags_if_alone(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", "set_time_stop_flags_if_alone", 1, top); return 0; } s32 flags = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_time_stop_flags_if_alone"); return 0; } extern void set_time_stop_flags_if_alone(s32 flags); set_time_stop_flags_if_alone(flags); return 1; } int smlua_func_signum_positive(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", "signum_positive", 1, top); return 0; } s32 x = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "signum_positive"); return 0; } extern s32 signum_positive(s32 x); lua_pushinteger(L, signum_positive(x)); return 1; } int smlua_func_spawn_base_star_with_no_lvl_exit(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", "spawn_base_star_with_no_lvl_exit", 0, top); return 0; } extern void spawn_base_star_with_no_lvl_exit(void); spawn_base_star_with_no_lvl_exit(); return 1; } int smlua_func_spawn_mist_particles(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", "spawn_mist_particles", 0, top); return 0; } extern void spawn_mist_particles(void); spawn_mist_particles(); return 1; } int smlua_func_spawn_mist_particles_with_sound(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", "spawn_mist_particles_with_sound", 1, top); return 0; } u32 sp18 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_mist_particles_with_sound"); return 0; } extern void spawn_mist_particles_with_sound(u32 sp18); spawn_mist_particles_with_sound(sp18); return 1; } int smlua_func_spawn_star_with_no_lvl_exit(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_star_with_no_lvl_exit", 2, top); return 0; } s32 sp20 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_star_with_no_lvl_exit"); return 0; } s32 sp24 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_star_with_no_lvl_exit"); return 0; } extern struct Object *spawn_star_with_no_lvl_exit(s32 sp20, s32 sp24); smlua_push_object(L, LOT_OBJECT, spawn_star_with_no_lvl_exit(sp20, sp24)); return 1; } int smlua_func_spawn_water_droplet(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_water_droplet", 2, top); return 0; } struct Object* parent = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_water_droplet"); return 0; } struct WaterDropletParams* params = (struct WaterDropletParams*)smlua_to_cobject(L, 2, LOT_WATERDROPLETPARAMS); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_water_droplet"); return 0; } extern struct Object *spawn_water_droplet(struct Object *parent, struct WaterDropletParams *params); smlua_push_object(L, LOT_OBJECT, spawn_water_droplet(parent, params)); return 1; } int smlua_func_stub_obj_helpers_3(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "stub_obj_helpers_3", 2, top); return 0; } s32 sp0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "stub_obj_helpers_3"); return 0; } s32 sp4 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "stub_obj_helpers_3"); return 0; } extern void stub_obj_helpers_3(UNUSED s32 sp0, UNUSED s32 sp4); stub_obj_helpers_3(sp0, sp4); return 1; } int smlua_func_stub_obj_helpers_4(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", "stub_obj_helpers_4", 0, top); return 0; } extern void stub_obj_helpers_4(void); stub_obj_helpers_4(); return 1; } ///////////////////////////// // object_list_processor.h // ///////////////////////////// int smlua_func_set_object_respawn_info_bits(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_object_respawn_info_bits", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_object_respawn_info_bits"); return 0; } u8 bits = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_object_respawn_info_bits"); return 0; } set_object_respawn_info_bits(obj, bits); return 1; } /////////////////// // rumble_init.c // /////////////////// int smlua_func_queue_rumble_data(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "queue_rumble_data", 2, top); return 0; } s16 a0 = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "queue_rumble_data"); return 0; } s16 a1 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "queue_rumble_data"); return 0; } extern void queue_rumble_data(s16 a0, s16 a1); queue_rumble_data(a0, a1); return 1; } int smlua_func_queue_rumble_data_mario(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "queue_rumble_data_mario", 3, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "queue_rumble_data_mario"); return 0; } s16 a0 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "queue_rumble_data_mario"); return 0; } s16 a1 = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "queue_rumble_data_mario"); return 0; } extern void queue_rumble_data_mario(struct MarioState* m, s16 a0, s16 a1); queue_rumble_data_mario(m, a0, a1); return 1; } int smlua_func_queue_rumble_data_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "queue_rumble_data_object", 3, top); return 0; } struct Object* object = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "queue_rumble_data_object"); return 0; } s16 a0 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "queue_rumble_data_object"); return 0; } s16 a1 = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "queue_rumble_data_object"); return 0; } extern void queue_rumble_data_object(struct Object* object, s16 a0, s16 a1); queue_rumble_data_object(object, a0, a1); return 1; } int smlua_func_reset_rumble_timers(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", "reset_rumble_timers", 1, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "reset_rumble_timers"); return 0; } extern void reset_rumble_timers(struct MarioState* m); reset_rumble_timers(m); return 1; } int smlua_func_reset_rumble_timers_2(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "reset_rumble_timers_2", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "reset_rumble_timers_2"); return 0; } s32 a0 = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "reset_rumble_timers_2"); return 0; } extern void reset_rumble_timers_2(struct MarioState* m, s32 a0); reset_rumble_timers_2(m, a0); return 1; } ///////////////// // save_file.h // ///////////////// int smlua_func_save_file_clear_flags(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", "save_file_clear_flags", 1, top); return 0; } u32 flags = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_clear_flags"); return 0; } save_file_clear_flags(flags); return 1; } int smlua_func_save_file_do_save(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "save_file_do_save", 2, top); return 0; } s32 fileIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_do_save"); return 0; } s8 forceSave = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "save_file_do_save"); return 0; } save_file_do_save(fileIndex, forceSave); return 1; } int smlua_func_save_file_erase_current_backup_save(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", "save_file_erase_current_backup_save", 0, top); return 0; } save_file_erase_current_backup_save(); return 1; } int smlua_func_save_file_get_cap_pos(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", "save_file_get_cap_pos", 1, top); return 0; } s16* capPos = smlua_get_vec3s_from_buffer(); capPos[0] = smlua_get_integer_field(1, "x"); capPos[1] = smlua_get_integer_field(1, "y"); capPos[2] = smlua_get_integer_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_get_cap_pos"); return 0; } lua_pushinteger(L, save_file_get_cap_pos(capPos)); smlua_push_integer_field(1, "x", capPos[0]); smlua_push_integer_field(1, "y", capPos[1]); smlua_push_integer_field(1, "z", capPos[2]); return 1; } int smlua_func_save_file_get_course_coin_score(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "save_file_get_course_coin_score", 2, top); return 0; } s32 fileIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_get_course_coin_score"); return 0; } s32 courseIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "save_file_get_course_coin_score"); return 0; } lua_pushinteger(L, save_file_get_course_coin_score(fileIndex, courseIndex)); return 1; } int smlua_func_save_file_get_course_star_count(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "save_file_get_course_star_count", 2, top); return 0; } s32 fileIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_get_course_star_count"); return 0; } s32 courseIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "save_file_get_course_star_count"); return 0; } lua_pushinteger(L, save_file_get_course_star_count(fileIndex, courseIndex)); return 1; } int smlua_func_save_file_get_flags(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", "save_file_get_flags", 0, top); return 0; } lua_pushinteger(L, save_file_get_flags()); return 1; } int smlua_func_save_file_get_max_coin_score(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", "save_file_get_max_coin_score", 1, top); return 0; } s32 courseIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_get_max_coin_score"); return 0; } lua_pushinteger(L, save_file_get_max_coin_score(courseIndex)); return 1; } int smlua_func_save_file_get_sound_mode(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", "save_file_get_sound_mode", 0, top); return 0; } lua_pushinteger(L, save_file_get_sound_mode()); return 1; } int smlua_func_save_file_get_star_flags(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "save_file_get_star_flags", 2, top); return 0; } s32 fileIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_get_star_flags"); return 0; } s32 courseIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "save_file_get_star_flags"); return 0; } lua_pushinteger(L, save_file_get_star_flags(fileIndex, courseIndex)); return 1; } int smlua_func_save_file_get_total_star_count(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "save_file_get_total_star_count", 3, top); return 0; } s32 fileIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_get_total_star_count"); return 0; } s32 minCourse = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "save_file_get_total_star_count"); return 0; } s32 maxCourse = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "save_file_get_total_star_count"); return 0; } lua_pushinteger(L, save_file_get_total_star_count(fileIndex, minCourse, maxCourse)); return 1; } int smlua_func_save_file_is_cannon_unlocked(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "save_file_is_cannon_unlocked", 2, top); return 0; } s32 fileIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_is_cannon_unlocked"); return 0; } s32 courseIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "save_file_is_cannon_unlocked"); return 0; } lua_pushinteger(L, save_file_is_cannon_unlocked(fileIndex, courseIndex)); return 1; } int smlua_func_save_file_reload(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", "save_file_reload", 1, top); return 0; } u8 load_all = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_reload"); return 0; } save_file_reload(load_all); return 1; } int smlua_func_save_file_set_course_coin_score(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "save_file_set_course_coin_score", 3, top); return 0; } s32 fileIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_set_course_coin_score"); return 0; } s32 courseIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "save_file_set_course_coin_score"); return 0; } u8 coinScore = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "save_file_set_course_coin_score"); return 0; } save_file_set_course_coin_score(fileIndex, courseIndex, coinScore); return 1; } int smlua_func_save_file_set_flags(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", "save_file_set_flags", 1, top); return 0; } u32 flags = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_set_flags"); return 0; } save_file_set_flags(flags); return 1; } int smlua_func_save_file_set_star_flags(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "save_file_set_star_flags", 3, top); return 0; } s32 fileIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_set_star_flags"); return 0; } s32 courseIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "save_file_set_star_flags"); return 0; } u32 starFlags = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "save_file_set_star_flags"); return 0; } save_file_set_star_flags(fileIndex, courseIndex, starFlags); return 1; } int smlua_func_touch_coin_score_age(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "touch_coin_score_age", 2, top); return 0; } s32 fileIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "touch_coin_score_age"); return 0; } s32 courseIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "touch_coin_score_age"); return 0; } touch_coin_score_age(fileIndex, courseIndex); return 1; } //////////////////////// // smlua_anim_utils.h // //////////////////////// int smlua_func_smlua_anim_util_get_current_animation_name(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", "smlua_anim_util_get_current_animation_name", 1, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_anim_util_get_current_animation_name"); return 0; } lua_pushstring(L, smlua_anim_util_get_current_animation_name(obj)); return 1; } int smlua_func_smlua_anim_util_set_animation(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_anim_util_set_animation", 2, top); return 0; } struct Object* obj = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_anim_util_set_animation"); return 0; } const char* name = smlua_to_string(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_anim_util_set_animation"); return 0; } smlua_anim_util_set_animation(obj, name); return 1; } ///////////////////////// // smlua_audio_utils.h // ///////////////////////// int smlua_func_audio_sample_destroy(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", "audio_sample_destroy", 1, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_sample_destroy"); return 0; } audio_sample_destroy(audio); return 1; } int smlua_func_audio_sample_load(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", "audio_sample_load", 1, top); return 0; } const char* filename = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_sample_load"); return 0; } smlua_push_object(L, LOT_BASSAUDIO, audio_sample_load(filename)); return 1; } int smlua_func_audio_sample_play(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "audio_sample_play", 3, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_sample_play"); return 0; } f32* position = smlua_get_vec3f_from_buffer(); position[0] = smlua_get_number_field(2, "x"); position[1] = smlua_get_number_field(2, "y"); position[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "audio_sample_play"); return 0; } f32 volume = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "audio_sample_play"); return 0; } audio_sample_play(audio, position, volume); smlua_push_number_field(2, "x", position[0]); smlua_push_number_field(2, "y", position[1]); smlua_push_number_field(2, "z", position[2]); return 1; } int smlua_func_audio_sample_stop(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", "audio_sample_stop", 1, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_sample_stop"); return 0; } audio_sample_stop(audio); return 1; } int smlua_func_audio_stream_destroy(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", "audio_stream_destroy", 1, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_destroy"); return 0; } audio_stream_destroy(audio); return 1; } int smlua_func_audio_stream_get_frequency(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", "audio_stream_get_frequency", 1, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_get_frequency"); return 0; } lua_pushnumber(L, audio_stream_get_frequency(audio)); return 1; } int smlua_func_audio_stream_get_looping(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", "audio_stream_get_looping", 1, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_get_looping"); return 0; } lua_pushboolean(L, audio_stream_get_looping(audio)); return 1; } int smlua_func_audio_stream_get_position(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", "audio_stream_get_position", 1, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_get_position"); return 0; } lua_pushnumber(L, audio_stream_get_position(audio)); return 1; } int smlua_func_audio_stream_get_tempo(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", "audio_stream_get_tempo", 1, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_get_tempo"); return 0; } lua_pushnumber(L, audio_stream_get_tempo(audio)); return 1; } int smlua_func_audio_stream_get_volume(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", "audio_stream_get_volume", 1, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_get_volume"); return 0; } lua_pushnumber(L, audio_stream_get_volume(audio)); return 1; } int smlua_func_audio_stream_load(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", "audio_stream_load", 1, top); return 0; } const char* filename = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_load"); return 0; } smlua_push_object(L, LOT_BASSAUDIO, audio_stream_load(filename)); return 1; } int smlua_func_audio_stream_load_url(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", "audio_stream_load_url", 1, top); return 0; } const char* url = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_load_url"); return 0; } smlua_push_object(L, LOT_BASSAUDIO, audio_stream_load_url(url)); return 1; } int smlua_func_audio_stream_pause(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", "audio_stream_pause", 1, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_pause"); return 0; } audio_stream_pause(audio); return 1; } int smlua_func_audio_stream_play(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "audio_stream_play", 3, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_play"); return 0; } bool restart = smlua_to_boolean(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "audio_stream_play"); return 0; } f32 volume = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "audio_stream_play"); return 0; } audio_stream_play(audio, restart, volume); return 1; } int smlua_func_audio_stream_set_frequency(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "audio_stream_set_frequency", 2, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_set_frequency"); return 0; } f32 freq = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "audio_stream_set_frequency"); return 0; } audio_stream_set_frequency(audio, freq); return 1; } int smlua_func_audio_stream_set_looping(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "audio_stream_set_looping", 2, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_set_looping"); return 0; } bool looping = smlua_to_boolean(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "audio_stream_set_looping"); return 0; } audio_stream_set_looping(audio, looping); return 1; } int smlua_func_audio_stream_set_position(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "audio_stream_set_position", 2, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_set_position"); return 0; } f32 pos = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "audio_stream_set_position"); return 0; } audio_stream_set_position(audio, pos); return 1; } int smlua_func_audio_stream_set_speed(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "audio_stream_set_speed", 4, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_set_speed"); return 0; } f32 initial_freq = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "audio_stream_set_speed"); return 0; } f32 speed = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "audio_stream_set_speed"); return 0; } bool pitch = smlua_to_boolean(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "audio_stream_set_speed"); return 0; } audio_stream_set_speed(audio, initial_freq, speed, pitch); return 1; } int smlua_func_audio_stream_set_tempo(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "audio_stream_set_tempo", 2, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_set_tempo"); return 0; } f32 tempo = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "audio_stream_set_tempo"); return 0; } audio_stream_set_tempo(audio, tempo); return 1; } int smlua_func_audio_stream_set_volume(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "audio_stream_set_volume", 2, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_set_volume"); return 0; } f32 volume = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "audio_stream_set_volume"); return 0; } audio_stream_set_volume(audio, volume); return 1; } int smlua_func_audio_stream_stop(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", "audio_stream_stop", 1, top); return 0; } struct BassAudio* audio = (struct BassAudio*)smlua_to_cobject(L, 1, LOT_BASSAUDIO); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "audio_stream_stop"); return 0; } audio_stream_stop(audio); return 1; } int smlua_func_smlua_audio_utils_replace_sequence(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_audio_utils_replace_sequence", 4, top); return 0; } u8 sequenceId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_audio_utils_replace_sequence"); return 0; } u8 bankId = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_audio_utils_replace_sequence"); return 0; } u8 defaultVolume = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "smlua_audio_utils_replace_sequence"); return 0; } const char* m64Name = smlua_to_string(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "smlua_audio_utils_replace_sequence"); return 0; } smlua_audio_utils_replace_sequence(sequenceId, bankId, defaultVolume, m64Name); return 1; } int smlua_func_smlua_audio_utils_reset_all(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", "smlua_audio_utils_reset_all", 0, top); return 0; } smlua_audio_utils_reset_all(); return 1; } ///////////////////////////// // smlua_collision_utils.h // ///////////////////////////// int smlua_func_collision_find_ceil(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "collision_find_ceil", 3, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "collision_find_ceil"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "collision_find_ceil"); return 0; } f32 z = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "collision_find_ceil"); return 0; } smlua_push_object(L, LOT_SURFACE, collision_find_ceil(x, y, z)); return 1; } int smlua_func_collision_find_floor(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "collision_find_floor", 3, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "collision_find_floor"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "collision_find_floor"); return 0; } f32 z = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "collision_find_floor"); return 0; } smlua_push_object(L, LOT_SURFACE, collision_find_floor(x, y, z)); return 1; } int smlua_func_collision_find_surface_on_ray(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "collision_find_surface_on_ray", 6, top); return 0; } f32 startX = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "collision_find_surface_on_ray"); return 0; } f32 startY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "collision_find_surface_on_ray"); return 0; } f32 startZ = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "collision_find_surface_on_ray"); return 0; } f32 dirX = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "collision_find_surface_on_ray"); return 0; } f32 dirY = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "collision_find_surface_on_ray"); return 0; } f32 dirZ = smlua_to_number(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "collision_find_surface_on_ray"); return 0; } smlua_push_object(L, LOT_RAYINTERSECTIONINFO, collision_find_surface_on_ray(startX, startY, startZ, dirX, dirY, dirZ)); return 1; } int smlua_func_collision_get_temp_wall_collision_data(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", "collision_get_temp_wall_collision_data", 0, top); return 0; } smlua_push_object(L, LOT_WALLCOLLISIONDATA, collision_get_temp_wall_collision_data()); return 1; } int smlua_func_get_water_surface_pseudo_floor(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", "get_water_surface_pseudo_floor", 0, top); return 0; } smlua_push_object(L, LOT_SURFACE, get_water_surface_pseudo_floor()); return 1; } int smlua_func_smlua_collision_util_get(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", "smlua_collision_util_get", 1, top); return 0; } const char* name = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_collision_util_get"); return 0; } smlua_push_pointer(L, LVT_COLLISION_P, (void*)smlua_collision_util_get(name)); return 1; } //////////////////////// // smlua_deprecated.h // //////////////////////// int smlua_func_network_discord_id_from_local_index(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", "network_discord_id_from_local_index", 1, top); return 0; } u8 localIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "network_discord_id_from_local_index"); return 0; } lua_pushstring(L, network_discord_id_from_local_index(localIndex)); return 1; } ///////////////////////// // smlua_level_utils.h // ///////////////////////// int smlua_func_level_is_vanilla_level(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", "level_is_vanilla_level", 1, top); return 0; } s16 levelNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "level_is_vanilla_level"); return 0; } lua_pushboolean(L, level_is_vanilla_level(levelNum)); return 1; } int smlua_func_level_register(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 8) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "level_register", 8, top); return 0; } const char* scriptEntryName = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "level_register"); return 0; } s16 courseNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "level_register"); return 0; } const char* fullName = smlua_to_string(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "level_register"); return 0; } const char* shortName = smlua_to_string(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "level_register"); return 0; } u32 acousticReach = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "level_register"); return 0; } u32 echoLevel1 = smlua_to_integer(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "level_register"); return 0; } u32 echoLevel2 = smlua_to_integer(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "level_register"); return 0; } u32 echoLevel3 = smlua_to_integer(L, 8); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 8, "level_register"); return 0; } lua_pushinteger(L, level_register(scriptEntryName, courseNum, fullName, shortName, acousticReach, echoLevel1, echoLevel2, echoLevel3)); return 1; } int smlua_func_smlua_level_util_change_area(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", "smlua_level_util_change_area", 1, top); return 0; } s32 areaIndex = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_level_util_change_area"); return 0; } smlua_level_util_change_area(areaIndex); return 1; } int smlua_func_smlua_level_util_get_info(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", "smlua_level_util_get_info", 1, top); return 0; } s16 levelNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_level_util_get_info"); return 0; } smlua_push_object(L, LOT_CUSTOMLEVELINFO, smlua_level_util_get_info(levelNum)); return 1; } int smlua_func_smlua_level_util_get_info_from_course_num(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", "smlua_level_util_get_info_from_course_num", 1, top); return 0; } u8 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_level_util_get_info_from_course_num"); return 0; } smlua_push_object(L, LOT_CUSTOMLEVELINFO, smlua_level_util_get_info_from_course_num(courseNum)); return 1; } int smlua_func_smlua_level_util_get_info_from_short_name(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", "smlua_level_util_get_info_from_short_name", 1, top); return 0; } const char* shortName = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_level_util_get_info_from_short_name"); return 0; } smlua_push_object(L, LOT_CUSTOMLEVELINFO, smlua_level_util_get_info_from_short_name(shortName)); return 1; } int smlua_func_warp_exit_level(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", "warp_exit_level", 1, top); return 0; } s32 aDelay = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "warp_exit_level"); return 0; } lua_pushboolean(L, warp_exit_level(aDelay)); return 1; } int smlua_func_warp_restart_level(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", "warp_restart_level", 0, top); return 0; } lua_pushboolean(L, warp_restart_level()); return 1; } int smlua_func_warp_to_castle(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", "warp_to_castle", 1, top); return 0; } s32 aLevel = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "warp_to_castle"); return 0; } lua_pushboolean(L, warp_to_castle(aLevel)); return 1; } int smlua_func_warp_to_level(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "warp_to_level", 3, top); return 0; } s32 aLevel = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "warp_to_level"); return 0; } s32 aArea = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "warp_to_level"); return 0; } s32 aAct = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "warp_to_level"); return 0; } lua_pushboolean(L, warp_to_level(aLevel, aArea, aAct)); return 1; } int smlua_func_warp_to_start_level(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", "warp_to_start_level", 0, top); return 0; } lua_pushboolean(L, warp_to_start_level()); return 1; } int smlua_func_warp_to_warpnode(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "warp_to_warpnode", 4, top); return 0; } s32 aLevel = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "warp_to_warpnode"); return 0; } s32 aArea = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "warp_to_warpnode"); return 0; } s32 aAct = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "warp_to_warpnode"); return 0; } s32 aWarpId = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "warp_to_warpnode"); return 0; } lua_pushboolean(L, warp_to_warpnode(aLevel, aArea, aAct, aWarpId)); return 1; } //////////////////////// // smlua_math_utils.h // //////////////////////// int smlua_func_clamp(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "clamp", 3, top); return 0; } s32 a = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "clamp"); return 0; } s32 b = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "clamp"); return 0; } s32 c = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "clamp"); return 0; } lua_pushinteger(L, clamp(a, b, c)); return 1; } int smlua_func_clampf(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "clampf", 3, top); return 0; } f32 a = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "clampf"); return 0; } f32 b = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "clampf"); return 0; } f32 c = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "clampf"); return 0; } lua_pushnumber(L, clampf(a, b, c)); return 1; } int smlua_func_max(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "max", 2, top); return 0; } s32 a = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "max"); return 0; } s32 b = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "max"); return 0; } lua_pushinteger(L, max(a, b)); return 1; } int smlua_func_maxf(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "maxf", 2, top); return 0; } f32 a = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "maxf"); return 0; } f32 b = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "maxf"); return 0; } lua_pushnumber(L, maxf(a, b)); return 1; } int smlua_func_min(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "min", 2, top); return 0; } s32 a = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "min"); return 0; } s32 b = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "min"); return 0; } lua_pushinteger(L, min(a, b)); return 1; } int smlua_func_minf(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "minf", 2, top); return 0; } f32 a = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "minf"); return 0; } f32 b = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "minf"); return 0; } lua_pushnumber(L, minf(a, b)); return 1; } int smlua_func_sqr(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", "sqr", 1, top); return 0; } s32 x = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "sqr"); return 0; } lua_pushinteger(L, sqr(x)); return 1; } int smlua_func_sqrf(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", "sqrf", 1, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "sqrf"); return 0; } lua_pushnumber(L, sqrf(x)); return 1; } //////////////////////// // smlua_misc_utils.h // //////////////////////// int smlua_func_add_scroll_target(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "add_scroll_target", 4, top); return 0; } u32 index = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "add_scroll_target"); return 0; } const char* name = smlua_to_string(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "add_scroll_target"); return 0; } u32 offset = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "add_scroll_target"); return 0; } u32 size = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "add_scroll_target"); return 0; } add_scroll_target(index, name, offset, size); return 1; } int smlua_func_allocate_mario_action(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", "allocate_mario_action", 1, top); return 0; } u32 actFlags = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "allocate_mario_action"); return 0; } lua_pushinteger(L, allocate_mario_action(actFlags)); return 1; } int smlua_func_camera_allow_toxic_gas_camera(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", "camera_allow_toxic_gas_camera", 1, top); return 0; } u8 allow = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_allow_toxic_gas_camera"); return 0; } camera_allow_toxic_gas_camera(allow); return 1; } int smlua_func_camera_config_enable_analog_cam(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", "camera_config_enable_analog_cam", 1, top); return 0; } bool enable = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_config_enable_analog_cam"); return 0; } camera_config_enable_analog_cam(enable); return 1; } int smlua_func_camera_config_enable_free_cam(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", "camera_config_enable_free_cam", 1, top); return 0; } bool enable = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_config_enable_free_cam"); return 0; } camera_config_enable_free_cam(enable); return 1; } int smlua_func_camera_config_enable_mouse_look(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", "camera_config_enable_mouse_look", 1, top); return 0; } bool enable = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_config_enable_mouse_look"); return 0; } camera_config_enable_mouse_look(enable); return 1; } int smlua_func_camera_config_get_aggression(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", "camera_config_get_aggression", 0, top); return 0; } lua_pushinteger(L, camera_config_get_aggression()); return 1; } int smlua_func_camera_config_get_deceleration(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", "camera_config_get_deceleration", 0, top); return 0; } lua_pushinteger(L, camera_config_get_deceleration()); return 1; } int smlua_func_camera_config_get_pan_level(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", "camera_config_get_pan_level", 0, top); return 0; } lua_pushinteger(L, camera_config_get_pan_level()); return 1; } int smlua_func_camera_config_get_x_sensitivity(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", "camera_config_get_x_sensitivity", 0, top); return 0; } lua_pushinteger(L, camera_config_get_x_sensitivity()); return 1; } int smlua_func_camera_config_get_y_sensitivity(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", "camera_config_get_y_sensitivity", 0, top); return 0; } lua_pushinteger(L, camera_config_get_y_sensitivity()); return 1; } int smlua_func_camera_config_invert_x(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", "camera_config_invert_x", 1, top); return 0; } bool invert = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_config_invert_x"); return 0; } camera_config_invert_x(invert); return 1; } int smlua_func_camera_config_invert_y(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", "camera_config_invert_y", 1, top); return 0; } bool invert = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_config_invert_y"); return 0; } camera_config_invert_y(invert); return 1; } int smlua_func_camera_config_is_analog_cam_enabled(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", "camera_config_is_analog_cam_enabled", 0, top); return 0; } lua_pushboolean(L, camera_config_is_analog_cam_enabled()); return 1; } int smlua_func_camera_config_is_free_cam_enabled(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", "camera_config_is_free_cam_enabled", 0, top); return 0; } lua_pushboolean(L, camera_config_is_free_cam_enabled()); return 1; } int smlua_func_camera_config_is_mouse_look_enabled(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", "camera_config_is_mouse_look_enabled", 0, top); return 0; } lua_pushboolean(L, camera_config_is_mouse_look_enabled()); return 1; } int smlua_func_camera_config_is_x_inverted(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", "camera_config_is_x_inverted", 0, top); return 0; } lua_pushboolean(L, camera_config_is_x_inverted()); return 1; } int smlua_func_camera_config_is_y_inverted(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", "camera_config_is_y_inverted", 0, top); return 0; } lua_pushboolean(L, camera_config_is_y_inverted()); return 1; } int smlua_func_camera_config_set_aggression(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", "camera_config_set_aggression", 1, top); return 0; } u32 value = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_config_set_aggression"); return 0; } camera_config_set_aggression(value); return 1; } int smlua_func_camera_config_set_deceleration(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", "camera_config_set_deceleration", 1, top); return 0; } u32 value = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_config_set_deceleration"); return 0; } camera_config_set_deceleration(value); return 1; } int smlua_func_camera_config_set_pan_level(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", "camera_config_set_pan_level", 1, top); return 0; } u32 value = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_config_set_pan_level"); return 0; } camera_config_set_pan_level(value); return 1; } int smlua_func_camera_config_set_x_sensitivity(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", "camera_config_set_x_sensitivity", 1, top); return 0; } u32 value = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_config_set_x_sensitivity"); return 0; } camera_config_set_x_sensitivity(value); return 1; } int smlua_func_camera_config_set_y_sensitivity(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", "camera_config_set_y_sensitivity", 1, top); return 0; } u32 value = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_config_set_y_sensitivity"); return 0; } camera_config_set_y_sensitivity(value); return 1; } int smlua_func_camera_freeze(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", "camera_freeze", 0, top); return 0; } camera_freeze(); return 1; } int smlua_func_camera_is_frozen(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", "camera_is_frozen", 0, top); return 0; } lua_pushboolean(L, camera_is_frozen()); return 1; } int smlua_func_camera_reset_overrides(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", "camera_reset_overrides", 0, top); return 0; } camera_reset_overrides(); return 1; } int smlua_func_camera_romhack_allow_centering(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", "camera_romhack_allow_centering", 1, top); return 0; } u8 allow = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_romhack_allow_centering"); return 0; } camera_romhack_allow_centering(allow); return 1; } int smlua_func_camera_set_romhack_override(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", "camera_set_romhack_override", 1, top); return 0; } int rco = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "camera_set_romhack_override"); return 0; } camera_set_romhack_override(rco); return 1; } int smlua_func_camera_unfreeze(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", "camera_unfreeze", 0, top); return 0; } camera_unfreeze(); 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 courseNum = 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(courseNum)); return 1; } int smlua_func_deref_s32_pointer(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", "deref_s32_pointer", 1, top); return 0; } s32* pointer = (s32*)smlua_to_cpointer(L, 1, LVT_S32_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "deref_s32_pointer"); return 0; } lua_pushinteger(L, deref_s32_pointer(pointer)); return 1; } int smlua_func_djui_is_popup_disabled(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_is_popup_disabled", 0, top); return 0; } lua_pushboolean(L, djui_is_popup_disabled()); return 1; } int smlua_func_djui_popup_create_global(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_popup_create_global", 2, top); return 0; } const char* message = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_popup_create_global"); return 0; } int lines = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_popup_create_global"); return 0; } djui_popup_create_global(message, lines); return 1; } int smlua_func_djui_reset_popup_disabled_override(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_reset_popup_disabled_override", 0, top); return 0; } djui_reset_popup_disabled_override(); return 1; } int smlua_func_djui_set_popup_disabled_override(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", "djui_set_popup_disabled_override", 1, top); return 0; } bool value = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_set_popup_disabled_override"); return 0; } djui_set_popup_disabled_override(value); return 1; } int smlua_func_get_current_save_file_num(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", "get_current_save_file_num", 0, top); return 0; } lua_pushinteger(L, get_current_save_file_num()); return 1; } int smlua_func_get_dialog_box_state(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", "get_dialog_box_state", 0, top); return 0; } lua_pushinteger(L, get_dialog_box_state()); return 1; } int smlua_func_get_dialog_id(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", "get_dialog_id", 0, top); return 0; } lua_pushinteger(L, get_dialog_id()); return 1; } int smlua_func_get_envfx(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", "get_envfx", 0, top); return 0; } lua_pushinteger(L, get_envfx()); return 1; } int smlua_func_get_environment_region(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", "get_environment_region", 1, top); return 0; } u8 index = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_environment_region"); return 0; } lua_pushnumber(L, get_environment_region(index)); return 1; } int smlua_func_get_got_file_coin_hi_score(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", "get_got_file_coin_hi_score", 0, top); return 0; } lua_pushboolean(L, get_got_file_coin_hi_score()); return 1; } int smlua_func_get_hand_foot_pos_x(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_hand_foot_pos_x", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_hand_foot_pos_x"); return 0; } u8 index = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_hand_foot_pos_x"); return 0; } lua_pushnumber(L, get_hand_foot_pos_x(m, index)); return 1; } int smlua_func_get_hand_foot_pos_y(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_hand_foot_pos_y", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_hand_foot_pos_y"); return 0; } u8 index = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_hand_foot_pos_y"); return 0; } lua_pushnumber(L, get_hand_foot_pos_y(m, index)); return 1; } int smlua_func_get_hand_foot_pos_z(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_hand_foot_pos_z", 2, top); return 0; } struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_hand_foot_pos_z"); return 0; } u8 index = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "get_hand_foot_pos_z"); return 0; } lua_pushnumber(L, get_hand_foot_pos_z(m, index)); return 1; } int smlua_func_get_last_completed_course_num(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", "get_last_completed_course_num", 0, top); return 0; } lua_pushinteger(L, get_last_completed_course_num()); return 1; } int smlua_func_get_last_completed_star_num(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", "get_last_completed_star_num", 0, top); return 0; } lua_pushinteger(L, get_last_completed_star_num()); return 1; } int smlua_func_get_last_star_or_key(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", "get_last_star_or_key", 0, top); return 0; } lua_pushinteger(L, get_last_star_or_key()); return 1; } int smlua_func_get_lighting_color(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", "get_lighting_color", 1, top); return 0; } u8 index = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_lighting_color"); return 0; } lua_pushinteger(L, get_lighting_color(index)); return 1; } int smlua_func_get_lighting_dir(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", "get_lighting_dir", 1, top); return 0; } u8 index = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_lighting_dir"); return 0; } lua_pushnumber(L, get_lighting_dir(index)); return 1; } int smlua_func_get_network_area_timer(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", "get_network_area_timer", 0, top); return 0; } lua_pushinteger(L, get_network_area_timer()); return 1; } int smlua_func_get_os_name(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", "get_os_name", 0, top); return 0; } lua_pushstring(L, get_os_name()); return 1; } int smlua_func_get_save_file_modified(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", "get_save_file_modified", 0, top); return 0; } lua_pushboolean(L, get_save_file_modified()); return 1; } int smlua_func_get_skybox(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", "get_skybox", 0, top); return 0; } lua_pushinteger(L, get_skybox()); return 1; } int smlua_func_get_temp_s32_pointer(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", "get_temp_s32_pointer", 1, top); return 0; } s32 initialValue = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_temp_s32_pointer"); return 0; } smlua_push_pointer(L, LVT_S32_P, (void*)get_temp_s32_pointer(initialValue)); return 1; } int smlua_func_get_time(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", "get_time", 0, top); return 0; } lua_pushinteger(L, get_time()); return 1; } int smlua_func_get_ttc_speed_setting(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", "get_ttc_speed_setting", 0, top); return 0; } lua_pushinteger(L, get_ttc_speed_setting()); return 1; } int smlua_func_hud_get_value(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", "hud_get_value", 1, top); return 0; } int type = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "hud_get_value"); return 0; } lua_pushinteger(L, hud_get_value(type)); return 1; } int smlua_func_hud_hide(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", "hud_hide", 0, top); return 0; } hud_hide(); return 1; } int smlua_func_hud_is_hidden(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", "hud_is_hidden", 0, top); return 0; } lua_pushboolean(L, hud_is_hidden()); return 1; } int smlua_func_hud_render_power_meter(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "hud_render_power_meter", 5, top); return 0; } s32 health = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "hud_render_power_meter"); return 0; } f32 x = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "hud_render_power_meter"); return 0; } f32 y = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "hud_render_power_meter"); return 0; } f32 width = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "hud_render_power_meter"); return 0; } f32 height = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "hud_render_power_meter"); return 0; } hud_render_power_meter(health, x, y, width, height); return 1; } int smlua_func_hud_render_power_meter_interpolated(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 9) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "hud_render_power_meter_interpolated", 9, top); return 0; } s32 health = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "hud_render_power_meter_interpolated"); return 0; } f32 prevX = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "hud_render_power_meter_interpolated"); return 0; } f32 prevY = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "hud_render_power_meter_interpolated"); return 0; } f32 prevWidth = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "hud_render_power_meter_interpolated"); return 0; } f32 prevHeight = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "hud_render_power_meter_interpolated"); return 0; } f32 x = smlua_to_number(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "hud_render_power_meter_interpolated"); return 0; } f32 y = smlua_to_number(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "hud_render_power_meter_interpolated"); return 0; } f32 width = smlua_to_number(L, 8); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 8, "hud_render_power_meter_interpolated"); return 0; } f32 height = smlua_to_number(L, 9); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 9, "hud_render_power_meter_interpolated"); return 0; } hud_render_power_meter_interpolated(health, prevX, prevY, prevWidth, prevHeight, x, y, width, height); return 1; } int smlua_func_hud_set_value(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "hud_set_value", 2, top); return 0; } int type = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "hud_set_value"); return 0; } s32 value = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "hud_set_value"); return 0; } hud_set_value(type, value); return 1; } int smlua_func_hud_show(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", "hud_show", 0, top); return 0; } hud_show(); return 1; } int smlua_func_is_game_paused(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", "is_game_paused", 0, top); return 0; } lua_pushboolean(L, is_game_paused()); return 1; } int smlua_func_is_transition_playing(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", "is_transition_playing", 0, top); return 0; } lua_pushboolean(L, is_transition_playing()); return 1; } int smlua_func_movtexqc_register(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "movtexqc_register", 4, top); return 0; } const char* name = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "movtexqc_register"); return 0; } s16 level = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "movtexqc_register"); return 0; } s16 area = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "movtexqc_register"); return 0; } s16 type = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "movtexqc_register"); return 0; } movtexqc_register(name, level, area, type); return 1; } int smlua_func_play_transition(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 5) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "play_transition", 5, top); return 0; } s16 transType = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_transition"); return 0; } s16 time = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "play_transition"); return 0; } u8 red = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "play_transition"); return 0; } u8 green = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "play_transition"); return 0; } u8 blue = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "play_transition"); return 0; } play_transition(transType, time, red, green, blue); return 1; } int smlua_func_save_file_get_using_backup_slot(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", "save_file_get_using_backup_slot", 0, top); return 0; } lua_pushboolean(L, save_file_get_using_backup_slot()); return 1; } int smlua_func_save_file_set_using_backup_slot(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", "save_file_set_using_backup_slot", 1, top); return 0; } bool usingBackupSlot = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "save_file_set_using_backup_slot"); return 0; } save_file_set_using_backup_slot(usingBackupSlot); return 1; } int smlua_func_set_environment_region(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_environment_region", 2, top); return 0; } u8 index = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_environment_region"); return 0; } s32 value = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_environment_region"); return 0; } set_environment_region(index, value); return 1; } int smlua_func_set_got_file_coin_hi_score(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", "set_got_file_coin_hi_score", 1, top); return 0; } bool value = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_got_file_coin_hi_score"); return 0; } set_got_file_coin_hi_score(value); return 1; } int smlua_func_set_last_completed_course_num(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", "set_last_completed_course_num", 1, top); return 0; } u8 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_last_completed_course_num"); return 0; } set_last_completed_course_num(courseNum); return 1; } int smlua_func_set_last_completed_star_num(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", "set_last_completed_star_num", 1, top); return 0; } u8 starNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_last_completed_star_num"); return 0; } set_last_completed_star_num(starNum); return 1; } int smlua_func_set_last_star_or_key(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", "set_last_star_or_key", 1, top); return 0; } u8 value = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_last_star_or_key"); return 0; } set_last_star_or_key(value); return 1; } int smlua_func_set_lighting_color(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_lighting_color", 2, top); return 0; } u8 index = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_lighting_color"); return 0; } u8 value = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_lighting_color"); return 0; } set_lighting_color(index, value); return 1; } int smlua_func_set_lighting_dir(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_lighting_dir", 2, top); return 0; } u8 index = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_lighting_dir"); return 0; } f32 value = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_lighting_dir"); return 0; } set_lighting_dir(index, value); return 1; } int smlua_func_set_override_envfx(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", "set_override_envfx", 1, top); return 0; } s32 envfx = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_override_envfx"); return 0; } set_override_envfx(envfx); return 1; } int smlua_func_set_override_far(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", "set_override_far", 1, top); return 0; } f32 far = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_override_far"); return 0; } set_override_far(far); return 1; } int smlua_func_set_override_fov(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", "set_override_fov", 1, top); return 0; } f32 fov = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_override_fov"); return 0; } set_override_fov(fov); return 1; } int smlua_func_set_override_near(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", "set_override_near", 1, top); return 0; } f32 near = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_override_near"); return 0; } set_override_near(near); return 1; } int smlua_func_set_override_skybox(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", "set_override_skybox", 1, top); return 0; } s8 background = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_override_skybox"); return 0; } set_override_skybox(background); return 1; } int smlua_func_set_save_file_modified(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", "set_save_file_modified", 1, top); return 0; } bool value = smlua_to_boolean(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_save_file_modified"); return 0; } set_save_file_modified(value); return 1; } int smlua_func_set_ttc_speed_setting(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", "set_ttc_speed_setting", 1, top); return 0; } s16 speed = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_ttc_speed_setting"); return 0; } set_ttc_speed_setting(speed); return 1; } ///////////////////////// // smlua_model_utils.h // ///////////////////////// int smlua_func_smlua_model_util_get_id(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", "smlua_model_util_get_id", 1, top); return 0; } const char* name = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_model_util_get_id"); return 0; } lua_pushinteger(L, smlua_model_util_get_id(name)); return 1; } /////////////////////// // smlua_obj_utils.h // /////////////////////// int smlua_func_get_temp_object_hitbox(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", "get_temp_object_hitbox", 0, top); return 0; } smlua_push_object(L, LOT_OBJECTHITBOX, get_temp_object_hitbox()); return 1; } int smlua_func_get_trajectory(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", "get_trajectory", 1, top); return 0; } const char* name = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_trajectory"); return 0; } smlua_push_pointer(L, LVT_TRAJECTORY_P, (void*)get_trajectory(name)); return 1; } int smlua_func_obj_check_hitbox_overlap(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_check_hitbox_overlap", 2, top); return 0; } struct Object* o1 = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_check_hitbox_overlap"); return 0; } struct Object* o2 = (struct Object*)smlua_to_cobject(L, 2, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_check_hitbox_overlap"); return 0; } lua_pushboolean(L, obj_check_hitbox_overlap(o1, o2)); return 1; } int smlua_func_obj_check_overlap_with_hitbox_params(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 7) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_check_overlap_with_hitbox_params", 7, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_check_overlap_with_hitbox_params"); return 0; } f32 x = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_check_overlap_with_hitbox_params"); return 0; } f32 y = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_check_overlap_with_hitbox_params"); return 0; } f32 z = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_check_overlap_with_hitbox_params"); return 0; } f32 h = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "obj_check_overlap_with_hitbox_params"); return 0; } f32 r = smlua_to_number(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "obj_check_overlap_with_hitbox_params"); return 0; } f32 d = smlua_to_number(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "obj_check_overlap_with_hitbox_params"); return 0; } lua_pushboolean(L, obj_check_overlap_with_hitbox_params(o, x, y, z, h, r, d)); return 1; } int smlua_func_obj_count_objects_with_behavior_id(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", "obj_count_objects_with_behavior_id", 1, top); return 0; } int behaviorId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_count_objects_with_behavior_id"); return 0; } lua_pushinteger(L, obj_count_objects_with_behavior_id(behaviorId)); return 1; } int smlua_func_obj_get_collided_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_get_collided_object", 2, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_collided_object"); return 0; } s16 index = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_get_collided_object"); return 0; } smlua_push_object(L, LOT_OBJECT, obj_get_collided_object(o, index)); return 1; } int smlua_func_obj_get_first(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", "obj_get_first", 1, top); return 0; } int objList = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_first"); return 0; } smlua_push_object(L, LOT_OBJECT, obj_get_first(objList)); return 1; } int smlua_func_obj_get_first_with_behavior_id(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", "obj_get_first_with_behavior_id", 1, top); return 0; } int behaviorId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_first_with_behavior_id"); return 0; } smlua_push_object(L, LOT_OBJECT, obj_get_first_with_behavior_id(behaviorId)); return 1; } int smlua_func_obj_get_first_with_behavior_id_and_field_f32(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_get_first_with_behavior_id_and_field_f32", 3, top); return 0; } int behaviorId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_first_with_behavior_id_and_field_f32"); return 0; } s32 fieldIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_get_first_with_behavior_id_and_field_f32"); return 0; } f32 value = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_get_first_with_behavior_id_and_field_f32"); return 0; } smlua_push_object(L, LOT_OBJECT, obj_get_first_with_behavior_id_and_field_f32(behaviorId, fieldIndex, value)); return 1; } int smlua_func_obj_get_first_with_behavior_id_and_field_s32(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_get_first_with_behavior_id_and_field_s32", 3, top); return 0; } int behaviorId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_first_with_behavior_id_and_field_s32"); return 0; } s32 fieldIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_get_first_with_behavior_id_and_field_s32"); return 0; } s32 value = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_get_first_with_behavior_id_and_field_s32"); return 0; } smlua_push_object(L, LOT_OBJECT, obj_get_first_with_behavior_id_and_field_s32(behaviorId, fieldIndex, value)); return 1; } int smlua_func_obj_get_nearest_object_with_behavior_id(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_get_nearest_object_with_behavior_id", 2, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_nearest_object_with_behavior_id"); return 0; } int behaviorId = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_get_nearest_object_with_behavior_id"); return 0; } smlua_push_object(L, LOT_OBJECT, obj_get_nearest_object_with_behavior_id(o, behaviorId)); return 1; } int smlua_func_obj_get_next(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", "obj_get_next", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_next"); return 0; } smlua_push_object(L, LOT_OBJECT, obj_get_next(o)); return 1; } int smlua_func_obj_get_next_with_same_behavior_id(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", "obj_get_next_with_same_behavior_id", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_next_with_same_behavior_id"); return 0; } smlua_push_object(L, LOT_OBJECT, obj_get_next_with_same_behavior_id(o)); return 1; } int smlua_func_obj_get_next_with_same_behavior_id_and_field_f32(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_get_next_with_same_behavior_id_and_field_f32", 3, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_next_with_same_behavior_id_and_field_f32"); return 0; } s32 fieldIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_get_next_with_same_behavior_id_and_field_f32"); return 0; } f32 value = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_get_next_with_same_behavior_id_and_field_f32"); return 0; } smlua_push_object(L, LOT_OBJECT, obj_get_next_with_same_behavior_id_and_field_f32(o, fieldIndex, value)); return 1; } int smlua_func_obj_get_next_with_same_behavior_id_and_field_s32(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_get_next_with_same_behavior_id_and_field_s32", 3, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_next_with_same_behavior_id_and_field_s32"); return 0; } s32 fieldIndex = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_get_next_with_same_behavior_id_and_field_s32"); return 0; } s32 value = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_get_next_with_same_behavior_id_and_field_s32"); return 0; } smlua_push_object(L, LOT_OBJECT, obj_get_next_with_same_behavior_id_and_field_s32(o, fieldIndex, value)); return 1; } int smlua_func_obj_get_temp_spawn_particles_info(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", "obj_get_temp_spawn_particles_info", 1, top); return 0; } int modelId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_get_temp_spawn_particles_info"); return 0; } smlua_push_object(L, LOT_SPAWNPARTICLESINFO, obj_get_temp_spawn_particles_info(modelId)); return 1; } int smlua_func_obj_has_behavior_id(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_has_behavior_id", 2, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_has_behavior_id"); return 0; } int behaviorId = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_has_behavior_id"); return 0; } lua_pushinteger(L, obj_has_behavior_id(o, behaviorId)); return 1; } int smlua_func_obj_has_model_extended(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_has_model_extended", 2, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_has_model_extended"); return 0; } int modelId = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_has_model_extended"); return 0; } lua_pushinteger(L, obj_has_model_extended(o, modelId)); return 1; } int smlua_func_obj_is_attackable(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", "obj_is_attackable", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_attackable"); return 0; } lua_pushboolean(L, obj_is_attackable(o)); return 1; } int smlua_func_obj_is_breakable_object(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", "obj_is_breakable_object", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_breakable_object"); return 0; } lua_pushboolean(L, obj_is_breakable_object(o)); return 1; } int smlua_func_obj_is_bully(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", "obj_is_bully", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_bully"); return 0; } lua_pushboolean(L, obj_is_bully(o)); return 1; } int smlua_func_obj_is_coin(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", "obj_is_coin", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_coin"); return 0; } lua_pushboolean(L, obj_is_coin(o)); return 1; } int smlua_func_obj_is_exclamation_box(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", "obj_is_exclamation_box", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_exclamation_box"); return 0; } lua_pushboolean(L, obj_is_exclamation_box(o)); return 1; } int smlua_func_obj_is_grabbable(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", "obj_is_grabbable", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_grabbable"); return 0; } lua_pushboolean(L, obj_is_grabbable(o)); return 1; } int smlua_func_obj_is_mushroom_1up(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", "obj_is_mushroom_1up", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_mushroom_1up"); return 0; } lua_pushboolean(L, obj_is_mushroom_1up(o)); return 1; } int smlua_func_obj_is_secret(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", "obj_is_secret", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_secret"); return 0; } lua_pushboolean(L, obj_is_secret(o)); return 1; } int smlua_func_obj_is_valid_for_interaction(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", "obj_is_valid_for_interaction", 1, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_is_valid_for_interaction"); return 0; } lua_pushboolean(L, obj_is_valid_for_interaction(o)); return 1; } int smlua_func_obj_move_xyz(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_move_xyz", 4, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_move_xyz"); return 0; } f32 dx = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_move_xyz"); return 0; } f32 dy = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_move_xyz"); return 0; } f32 dz = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_move_xyz"); return 0; } obj_move_xyz(o, dx, dy, dz); return 1; } int smlua_func_obj_set_model_extended(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_model_extended", 2, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_model_extended"); return 0; } int modelId = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_model_extended"); return 0; } obj_set_model_extended(o, modelId); return 1; } int smlua_func_obj_set_vel(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "obj_set_vel", 4, top); return 0; } struct Object* o = (struct Object*)smlua_to_cobject(L, 1, LOT_OBJECT); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "obj_set_vel"); return 0; } f32 vx = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "obj_set_vel"); return 0; } f32 vy = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "obj_set_vel"); return 0; } f32 vz = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "obj_set_vel"); return 0; } obj_set_vel(o, vx, vy, vz); return 1; } int smlua_func_restore_exclamation_box_original_contents(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", "restore_exclamation_box_original_contents", 0, top); return 0; } restore_exclamation_box_original_contents(); return 1; } int smlua_func_set_whirlpools(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_whirlpools", 6, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_whirlpools"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_whirlpools"); return 0; } f32 z = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_whirlpools"); return 0; } s16 strength = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "set_whirlpools"); return 0; } s16 area = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "set_whirlpools"); return 0; } s32 index = smlua_to_integer(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "set_whirlpools"); return 0; } set_whirlpools(x, y, z, strength, area, index); return 1; } int smlua_func_spawn_non_sync_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_non_sync_object", 6, top); return 0; } int behaviorId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_non_sync_object"); return 0; } int modelId = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_non_sync_object"); return 0; } f32 x = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "spawn_non_sync_object"); return 0; } f32 y = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "spawn_non_sync_object"); return 0; } f32 z = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "spawn_non_sync_object"); return 0; } LuaFunction objSetupFunction = smlua_to_lua_function(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "spawn_non_sync_object"); return 0; } smlua_push_object(L, LOT_OBJECT, spawn_non_sync_object(behaviorId, modelId, x, y, z, objSetupFunction)); return 1; } int smlua_func_spawn_sync_object(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "spawn_sync_object", 6, top); return 0; } int behaviorId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "spawn_sync_object"); return 0; } int modelId = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "spawn_sync_object"); return 0; } f32 x = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "spawn_sync_object"); return 0; } f32 y = smlua_to_number(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "spawn_sync_object"); return 0; } f32 z = smlua_to_number(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "spawn_sync_object"); return 0; } LuaFunction objSetupFunction = smlua_to_lua_function(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "spawn_sync_object"); return 0; } smlua_push_object(L, LOT_OBJECT, spawn_sync_object(behaviorId, modelId, x, y, z, objSetupFunction)); return 1; } //////////////////////// // smlua_text_utils.h // //////////////////////// int smlua_func_smlua_text_utils_act_name_get(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_text_utils_act_name_get", 2, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_act_name_get"); return 0; } u8 actNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_text_utils_act_name_get"); return 0; } lua_pushstring(L, smlua_text_utils_act_name_get(courseNum, actNum)); return 1; } int smlua_func_smlua_text_utils_act_name_is_modified(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_text_utils_act_name_is_modified", 2, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_act_name_is_modified"); return 0; } u8 actNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_text_utils_act_name_is_modified"); return 0; } lua_pushboolean(L, smlua_text_utils_act_name_is_modified(courseNum, actNum)); return 1; } int smlua_func_smlua_text_utils_act_name_replace(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_text_utils_act_name_replace", 3, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_act_name_replace"); return 0; } u8 actNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_text_utils_act_name_replace"); return 0; } const char* name = smlua_to_string(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "smlua_text_utils_act_name_replace"); return 0; } smlua_text_utils_act_name_replace(courseNum, actNum, name); return 1; } int smlua_func_smlua_text_utils_act_name_reset(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_text_utils_act_name_reset", 2, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_act_name_reset"); return 0; } u8 actNum = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_text_utils_act_name_reset"); return 0; } smlua_text_utils_act_name_reset(courseNum, actNum); return 1; } int smlua_func_smlua_text_utils_castle_secret_stars_replace(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", "smlua_text_utils_castle_secret_stars_replace", 1, top); return 0; } const char* name = smlua_to_string(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_castle_secret_stars_replace"); return 0; } smlua_text_utils_castle_secret_stars_replace(name); return 1; } int smlua_func_smlua_text_utils_course_acts_replace(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 8) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_text_utils_course_acts_replace", 8, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_course_acts_replace"); return 0; } const char* courseName = smlua_to_string(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_text_utils_course_acts_replace"); return 0; } const char* act1 = smlua_to_string(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "smlua_text_utils_course_acts_replace"); return 0; } const char* act2 = smlua_to_string(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "smlua_text_utils_course_acts_replace"); return 0; } const char* act3 = smlua_to_string(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "smlua_text_utils_course_acts_replace"); return 0; } const char* act4 = smlua_to_string(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "smlua_text_utils_course_acts_replace"); return 0; } const char* act5 = smlua_to_string(L, 7); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "smlua_text_utils_course_acts_replace"); return 0; } const char* act6 = smlua_to_string(L, 8); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 8, "smlua_text_utils_course_acts_replace"); return 0; } smlua_text_utils_course_acts_replace(courseNum, courseName, act1, act2, act3, act4, act5, act6); return 1; } int smlua_func_smlua_text_utils_course_name_get(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", "smlua_text_utils_course_name_get", 1, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_course_name_get"); return 0; } lua_pushstring(L, smlua_text_utils_course_name_get(courseNum)); return 1; } int smlua_func_smlua_text_utils_course_name_mod_index(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", "smlua_text_utils_course_name_mod_index", 1, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_course_name_mod_index"); return 0; } lua_pushinteger(L, smlua_text_utils_course_name_mod_index(courseNum)); return 1; } int smlua_func_smlua_text_utils_course_name_replace(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_text_utils_course_name_replace", 2, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_course_name_replace"); return 0; } const char* name = smlua_to_string(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_text_utils_course_name_replace"); return 0; } smlua_text_utils_course_name_replace(courseNum, name); return 1; } int smlua_func_smlua_text_utils_course_name_reset(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", "smlua_text_utils_course_name_reset", 1, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_course_name_reset"); return 0; } smlua_text_utils_course_name_reset(courseNum); return 1; } int smlua_func_smlua_text_utils_dialog_replace(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 6) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_text_utils_dialog_replace", 6, top); return 0; } int dialogId = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_dialog_replace"); return 0; } u32 unused = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_text_utils_dialog_replace"); return 0; } s8 linesPerBox = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "smlua_text_utils_dialog_replace"); return 0; } s16 leftOffset = smlua_to_integer(L, 4); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "smlua_text_utils_dialog_replace"); return 0; } s16 width = smlua_to_integer(L, 5); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "smlua_text_utils_dialog_replace"); return 0; } const char* str = smlua_to_string(L, 6); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "smlua_text_utils_dialog_replace"); return 0; } smlua_text_utils_dialog_replace(dialogId, unused, linesPerBox, leftOffset, width, str); return 1; } int smlua_func_smlua_text_utils_extra_text_replace(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_text_utils_extra_text_replace", 2, top); return 0; } s16 index = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_extra_text_replace"); return 0; } const char* text = smlua_to_string(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_text_utils_extra_text_replace"); return 0; } smlua_text_utils_extra_text_replace(index, text); return 1; } int smlua_func_smlua_text_utils_get_language(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", "smlua_text_utils_get_language", 0, top); return 0; } lua_pushstring(L, smlua_text_utils_get_language()); return 1; } int smlua_func_smlua_text_utils_secret_star_replace(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "smlua_text_utils_secret_star_replace", 2, top); return 0; } s16 courseNum = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "smlua_text_utils_secret_star_replace"); return 0; } const char* courseName = smlua_to_string(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "smlua_text_utils_secret_star_replace"); return 0; } smlua_text_utils_secret_star_replace(courseNum, courseName); return 1; } ////////////////// // sound_init.h // ////////////////// int smlua_func_disable_background_sound(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", "disable_background_sound", 0, top); return 0; } disable_background_sound(); return 1; } int smlua_func_enable_background_sound(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", "enable_background_sound", 0, top); return 0; } enable_background_sound(); return 1; } int smlua_func_fadeout_cap_music(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", "fadeout_cap_music", 0, top); return 0; } fadeout_cap_music(); return 1; } int smlua_func_fadeout_level_music(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", "fadeout_level_music", 1, top); return 0; } s16 fadeTimer = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "fadeout_level_music"); return 0; } fadeout_level_music(fadeTimer); return 1; } int smlua_func_fadeout_music(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", "fadeout_music", 1, top); return 0; } s16 fadeOutTime = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "fadeout_music"); return 0; } fadeout_music(fadeOutTime); return 1; } int smlua_func_lower_background_noise(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", "lower_background_noise", 1, top); return 0; } s32 a = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "lower_background_noise"); return 0; } lower_background_noise(a); return 1; } int smlua_func_play_cap_music(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", "play_cap_music", 1, top); return 0; } u16 seqArgs = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_cap_music"); return 0; } play_cap_music(seqArgs); return 1; } int smlua_func_play_cutscene_music(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", "play_cutscene_music", 1, top); return 0; } u16 seqArgs = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_cutscene_music"); return 0; } play_cutscene_music(seqArgs); return 1; } int smlua_func_play_infinite_stairs_music(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", "play_infinite_stairs_music", 0, top); return 0; } play_infinite_stairs_music(); return 1; } int smlua_func_play_menu_sounds(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", "play_menu_sounds", 1, top); return 0; } s16 soundMenuFlags = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "play_menu_sounds"); return 0; } play_menu_sounds(soundMenuFlags); return 1; } int smlua_func_play_painting_eject_sound(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", "play_painting_eject_sound", 0, top); return 0; } play_painting_eject_sound(); return 1; } int smlua_func_play_shell_music(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", "play_shell_music", 0, top); return 0; } play_shell_music(); return 1; } int smlua_func_raise_background_noise(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", "raise_background_noise", 1, top); return 0; } s32 a = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "raise_background_noise"); return 0; } raise_background_noise(a); return 1; } int smlua_func_reset_volume(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", "reset_volume", 0, top); return 0; } reset_volume(); return 1; } int smlua_func_set_background_music(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "set_background_music", 3, top); return 0; } u16 a = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "set_background_music"); return 0; } u16 seqArgs = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "set_background_music"); return 0; } s16 fadeTimer = smlua_to_integer(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "set_background_music"); return 0; } set_background_music(a, seqArgs, fadeTimer); return 1; } int smlua_func_stop_cap_music(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", "stop_cap_music", 0, top); return 0; } stop_cap_music(); return 1; } int smlua_func_stop_shell_music(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", "stop_shell_music", 0, top); return 0; } stop_shell_music(); return 1; } /////////////////// // spawn_sound.c // /////////////////// int smlua_func_calc_dist_to_volume_range_1(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", "calc_dist_to_volume_range_1", 1, top); return 0; } f32 distance = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "calc_dist_to_volume_range_1"); return 0; } extern s32 calc_dist_to_volume_range_1(f32 distance); lua_pushinteger(L, calc_dist_to_volume_range_1(distance)); return 1; } int smlua_func_calc_dist_to_volume_range_2(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", "calc_dist_to_volume_range_2", 1, top); return 0; } f32 distance = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "calc_dist_to_volume_range_2"); return 0; } extern s32 calc_dist_to_volume_range_2(f32 distance); lua_pushinteger(L, calc_dist_to_volume_range_2(distance)); return 1; } int smlua_func_cur_obj_play_sound_1(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", "cur_obj_play_sound_1", 1, top); return 0; } s32 soundMagic = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_play_sound_1"); return 0; } extern void cur_obj_play_sound_1(s32 soundMagic); cur_obj_play_sound_1(soundMagic); return 1; } int smlua_func_cur_obj_play_sound_2(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", "cur_obj_play_sound_2", 1, top); return 0; } s32 soundMagic = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "cur_obj_play_sound_2"); return 0; } extern void cur_obj_play_sound_2(s32 soundMagic); cur_obj_play_sound_2(soundMagic); return 1; } int smlua_func_exec_anim_sound_state(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "exec_anim_sound_state", 2, top); return 0; } struct SoundState* soundStates = (struct SoundState*)smlua_to_cobject(L, 1, LOT_SOUNDSTATE); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "exec_anim_sound_state"); return 0; } u16 maxSoundStates = smlua_to_integer(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "exec_anim_sound_state"); return 0; } extern void exec_anim_sound_state(struct SoundState *soundStates, u16 maxSoundStates); exec_anim_sound_state(soundStates, maxSoundStates); return 1; } ///////////////////////// // surface_collision.h // ///////////////////////// /* int smlua_func_find_ceil(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_ceil", 4, top); return 0; } f32 posX = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_ceil"); return 0; } f32 posY = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_ceil"); return 0; } f32 posZ = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "find_ceil"); return 0; } // struct Surface** pceil = (struct Surface**)smlua_to_cobject(L, 4, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "find_ceil"); return 0; } lua_pushnumber(L, find_ceil(posX, posY, posZ, pceil)); return 1; } */ int smlua_func_find_ceil_height(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_ceil_height", 3, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_ceil_height"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_ceil_height"); return 0; } f32 z = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "find_ceil_height"); return 0; } lua_pushnumber(L, find_ceil_height(x, y, z)); return 1; } /* int smlua_func_find_floor(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_floor", 4, top); return 0; } f32 xPos = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_floor"); return 0; } f32 yPos = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_floor"); return 0; } f32 zPos = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "find_floor"); return 0; } // struct Surface** pfloor = (struct Surface**)smlua_to_cobject(L, 4, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "find_floor"); return 0; } lua_pushnumber(L, find_floor(xPos, yPos, zPos, pfloor)); return 1; } */ int smlua_func_find_floor_height(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 3) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_floor_height", 3, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_floor_height"); return 0; } f32 y = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_floor_height"); return 0; } f32 z = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "find_floor_height"); return 0; } lua_pushnumber(L, find_floor_height(x, y, z)); return 1; } /* int smlua_func_find_floor_height_and_data(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_floor_height_and_data", 4, top); return 0; } f32 xPos = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_floor_height_and_data"); return 0; } f32 yPos = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_floor_height_and_data"); return 0; } f32 zPos = smlua_to_number(L, 3); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "find_floor_height_and_data"); return 0; } // struct FloorGeometry** floorGeo = (struct FloorGeometry**)smlua_to_cobject(L, 4, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "find_floor_height_and_data"); return 0; } lua_pushnumber(L, find_floor_height_and_data(xPos, yPos, zPos, floorGeo)); return 1; } */ int smlua_func_find_poison_gas_level(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_poison_gas_level", 2, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_poison_gas_level"); return 0; } f32 z = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_poison_gas_level"); return 0; } lua_pushnumber(L, find_poison_gas_level(x, z)); return 1; } /* int smlua_func_find_surface_on_ray(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_surface_on_ray", 4, top); return 0; } f32* orig = smlua_get_vec3f_from_buffer(); orig[0] = smlua_get_number_field(1, "x"); orig[1] = smlua_get_number_field(1, "y"); orig[2] = smlua_get_number_field(1, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_surface_on_ray"); return 0; } f32* dir = smlua_get_vec3f_from_buffer(); dir[0] = smlua_get_number_field(2, "x"); dir[1] = smlua_get_number_field(2, "y"); dir[2] = smlua_get_number_field(2, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_surface_on_ray"); return 0; } // struct Surface** hit_surface = (struct Surface**)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "find_surface_on_ray"); return 0; } f32* hit_pos = smlua_get_vec3f_from_buffer(); hit_pos[0] = smlua_get_number_field(4, "x"); hit_pos[1] = smlua_get_number_field(4, "y"); hit_pos[2] = smlua_get_number_field(4, "z"); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "find_surface_on_ray"); return 0; } find_surface_on_ray(orig, dir, hit_surface, hit_pos); smlua_push_number_field(1, "x", orig[0]); smlua_push_number_field(1, "y", orig[1]); smlua_push_number_field(1, "z", orig[2]); smlua_push_number_field(2, "x", dir[0]); smlua_push_number_field(2, "y", dir[1]); smlua_push_number_field(2, "z", dir[2]); smlua_push_number_field(4, "x", hit_pos[0]); smlua_push_number_field(4, "y", hit_pos[1]); smlua_push_number_field(4, "z", hit_pos[2]); return 1; } */ int smlua_func_find_wall_collisions(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", "find_wall_collisions", 1, top); return 0; } struct WallCollisionData* colData = (struct WallCollisionData*)smlua_to_cobject(L, 1, LOT_WALLCOLLISIONDATA); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_wall_collisions"); return 0; } lua_pushinteger(L, find_wall_collisions(colData)); return 1; } int smlua_func_find_water_level(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 2) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "find_water_level", 2, top); return 0; } f32 x = smlua_to_number(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "find_water_level"); return 0; } f32 z = smlua_to_number(L, 2); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "find_water_level"); return 0; } lua_pushnumber(L, find_water_level(x, z)); return 1; } //////////////////// // surface_load.h // //////////////////// int smlua_func_alloc_surface_pools(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", "alloc_surface_pools", 0, top); return 0; } alloc_surface_pools(); return 1; } int smlua_func_clear_dynamic_surfaces(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", "clear_dynamic_surfaces", 0, top); return 0; } clear_dynamic_surfaces(); return 1; } int smlua_func_get_area_terrain_size(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", "get_area_terrain_size", 1, top); return 0; } s16 * data = (s16 *)smlua_to_cpointer(L, 1, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "get_area_terrain_size"); return 0; } lua_pushinteger(L, get_area_terrain_size(data)); return 1; } int smlua_func_load_area_terrain(lua_State* L) { if (L == NULL) { return 0; } int top = lua_gettop(L); if (top != 4) { LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "load_area_terrain", 4, top); return 0; } s16 index = smlua_to_integer(L, 1); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "load_area_terrain"); return 0; } s16 * data = (s16 *)smlua_to_cpointer(L, 2, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "load_area_terrain"); return 0; } s8 * surfaceRooms = (s8 *)smlua_to_cpointer(L, 3, LVT_S8_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "load_area_terrain"); return 0; } s16 * macroObjects = (s16 *)smlua_to_cpointer(L, 4, LVT_S16_P); if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "load_area_terrain"); return 0; } load_area_terrain(index, data, surfaceRooms, macroObjects); return 1; } int smlua_func_load_object_collision_model(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", "load_object_collision_model", 0, top); return 0; } load_object_collision_model(); return 1; } void smlua_bind_functions_autogen(void) { lua_State* L = gLuaState; // area.h smlua_bind_function(L, "area_get_warp_node", smlua_func_area_get_warp_node); smlua_bind_function(L, "area_get_warp_node_from_params", smlua_func_area_get_warp_node_from_params); // behavior_actions.h smlua_bind_function(L, "arc_to_goal_pos", smlua_func_arc_to_goal_pos); smlua_bind_function(L, "bhv_1up_common_init", smlua_func_bhv_1up_common_init); smlua_bind_function(L, "bhv_1up_hidden_in_pole_loop", smlua_func_bhv_1up_hidden_in_pole_loop); smlua_bind_function(L, "bhv_1up_hidden_in_pole_spawner_loop", smlua_func_bhv_1up_hidden_in_pole_spawner_loop); smlua_bind_function(L, "bhv_1up_hidden_in_pole_trigger_loop", smlua_func_bhv_1up_hidden_in_pole_trigger_loop); smlua_bind_function(L, "bhv_1up_hidden_loop", smlua_func_bhv_1up_hidden_loop); smlua_bind_function(L, "bhv_1up_hidden_trigger_loop", smlua_func_bhv_1up_hidden_trigger_loop); smlua_bind_function(L, "bhv_1up_init", smlua_func_bhv_1up_init); smlua_bind_function(L, "bhv_1up_jump_on_approach_loop", smlua_func_bhv_1up_jump_on_approach_loop); smlua_bind_function(L, "bhv_1up_loop", smlua_func_bhv_1up_loop); smlua_bind_function(L, "bhv_1up_running_away_loop", smlua_func_bhv_1up_running_away_loop); smlua_bind_function(L, "bhv_1up_sliding_loop", smlua_func_bhv_1up_sliding_loop); smlua_bind_function(L, "bhv_1up_trigger_init", smlua_func_bhv_1up_trigger_init); smlua_bind_function(L, "bhv_1up_walking_loop", smlua_func_bhv_1up_walking_loop); smlua_bind_function(L, "bhv_act_selector_init", smlua_func_bhv_act_selector_init); smlua_bind_function(L, "bhv_act_selector_loop", smlua_func_bhv_act_selector_loop); smlua_bind_function(L, "bhv_act_selector_star_type_loop", smlua_func_bhv_act_selector_star_type_loop); smlua_bind_function(L, "bhv_activated_back_and_forth_platform_init", smlua_func_bhv_activated_back_and_forth_platform_init); smlua_bind_function(L, "bhv_activated_back_and_forth_platform_update", smlua_func_bhv_activated_back_and_forth_platform_update); smlua_bind_function(L, "bhv_alpha_boo_key_loop", smlua_func_bhv_alpha_boo_key_loop); smlua_bind_function(L, "bhv_ambient_sounds_init", smlua_func_bhv_ambient_sounds_init); smlua_bind_function(L, "bhv_animated_texture_loop", smlua_func_bhv_animated_texture_loop); smlua_bind_function(L, "bhv_animates_on_floor_switch_press_init", smlua_func_bhv_animates_on_floor_switch_press_init); smlua_bind_function(L, "bhv_animates_on_floor_switch_press_loop", smlua_func_bhv_animates_on_floor_switch_press_loop); smlua_bind_function(L, "bhv_arrow_lift_loop", smlua_func_bhv_arrow_lift_loop); smlua_bind_function(L, "bhv_bbh_tilting_trap_platform_loop", smlua_func_bhv_bbh_tilting_trap_platform_loop); smlua_bind_function(L, "bhv_beta_boo_key_loop", smlua_func_bhv_beta_boo_key_loop); smlua_bind_function(L, "bhv_beta_bowser_anchor_loop", smlua_func_bhv_beta_bowser_anchor_loop); smlua_bind_function(L, "bhv_beta_chest_bottom_init", smlua_func_bhv_beta_chest_bottom_init); smlua_bind_function(L, "bhv_beta_chest_bottom_loop", smlua_func_bhv_beta_chest_bottom_loop); smlua_bind_function(L, "bhv_beta_chest_lid_loop", smlua_func_bhv_beta_chest_lid_loop); smlua_bind_function(L, "bhv_beta_fish_splash_spawner_loop", smlua_func_bhv_beta_fish_splash_spawner_loop); smlua_bind_function(L, "bhv_beta_holdable_object_init", smlua_func_bhv_beta_holdable_object_init); smlua_bind_function(L, "bhv_beta_holdable_object_loop", smlua_func_bhv_beta_holdable_object_loop); smlua_bind_function(L, "bhv_beta_moving_flames_loop", smlua_func_bhv_beta_moving_flames_loop); smlua_bind_function(L, "bhv_beta_moving_flames_spawn_loop", smlua_func_bhv_beta_moving_flames_spawn_loop); smlua_bind_function(L, "bhv_beta_trampoline_spring_loop", smlua_func_bhv_beta_trampoline_spring_loop); smlua_bind_function(L, "bhv_beta_trampoline_top_loop", smlua_func_bhv_beta_trampoline_top_loop); smlua_bind_function(L, "bhv_big_boo_loop", smlua_func_bhv_big_boo_loop); smlua_bind_function(L, "bhv_big_boulder_generator_loop", smlua_func_bhv_big_boulder_generator_loop); smlua_bind_function(L, "bhv_big_boulder_init", smlua_func_bhv_big_boulder_init); smlua_bind_function(L, "bhv_big_boulder_loop", smlua_func_bhv_big_boulder_loop); smlua_bind_function(L, "bhv_big_bully_init", smlua_func_bhv_big_bully_init); smlua_bind_function(L, "bhv_big_bully_with_minions_init", smlua_func_bhv_big_bully_with_minions_init); smlua_bind_function(L, "bhv_big_bully_with_minions_loop", smlua_func_bhv_big_bully_with_minions_loop); smlua_bind_function(L, "bhv_bird_update", smlua_func_bhv_bird_update); smlua_bind_function(L, "bhv_birds_sound_loop", smlua_func_bhv_birds_sound_loop); smlua_bind_function(L, "bhv_bitfs_sinking_cage_platform_loop", smlua_func_bhv_bitfs_sinking_cage_platform_loop); smlua_bind_function(L, "bhv_bitfs_sinking_platform_loop", smlua_func_bhv_bitfs_sinking_platform_loop); smlua_bind_function(L, "bhv_black_smoke_bowser_loop", smlua_func_bhv_black_smoke_bowser_loop); smlua_bind_function(L, "bhv_black_smoke_mario_loop", smlua_func_bhv_black_smoke_mario_loop); smlua_bind_function(L, "bhv_black_smoke_upward_loop", smlua_func_bhv_black_smoke_upward_loop); smlua_bind_function(L, "bhv_blue_bowser_flame_init", smlua_func_bhv_blue_bowser_flame_init); smlua_bind_function(L, "bhv_blue_bowser_flame_loop", smlua_func_bhv_blue_bowser_flame_loop); smlua_bind_function(L, "bhv_blue_coin_jumping_loop", smlua_func_bhv_blue_coin_jumping_loop); smlua_bind_function(L, "bhv_blue_coin_number_loop", smlua_func_bhv_blue_coin_number_loop); smlua_bind_function(L, "bhv_blue_coin_sliding_jumping_init", smlua_func_bhv_blue_coin_sliding_jumping_init); smlua_bind_function(L, "bhv_blue_coin_sliding_loop", smlua_func_bhv_blue_coin_sliding_loop); smlua_bind_function(L, "bhv_blue_coin_switch_init", smlua_func_bhv_blue_coin_switch_init); smlua_bind_function(L, "bhv_blue_coin_switch_loop", smlua_func_bhv_blue_coin_switch_loop); smlua_bind_function(L, "bhv_blue_fish_movement_loop", smlua_func_bhv_blue_fish_movement_loop); smlua_bind_function(L, "bhv_blue_flames_group_loop", smlua_func_bhv_blue_flames_group_loop); smlua_bind_function(L, "bhv_bob_pit_bowling_ball_init", smlua_func_bhv_bob_pit_bowling_ball_init); smlua_bind_function(L, "bhv_bob_pit_bowling_ball_loop", smlua_func_bhv_bob_pit_bowling_ball_loop); smlua_bind_function(L, "bhv_bobomb_anchor_mario_loop", smlua_func_bhv_bobomb_anchor_mario_loop); smlua_bind_function(L, "bhv_bobomb_buddy_init", smlua_func_bhv_bobomb_buddy_init); smlua_bind_function(L, "bhv_bobomb_buddy_loop", smlua_func_bhv_bobomb_buddy_loop); smlua_bind_function(L, "bhv_bobomb_bully_death_smoke_init", smlua_func_bhv_bobomb_bully_death_smoke_init); smlua_bind_function(L, "bhv_bobomb_explosion_bubble_init", smlua_func_bhv_bobomb_explosion_bubble_init); smlua_bind_function(L, "bhv_bobomb_explosion_bubble_loop", smlua_func_bhv_bobomb_explosion_bubble_loop); smlua_bind_function(L, "bhv_bobomb_fuse_smoke_init", smlua_func_bhv_bobomb_fuse_smoke_init); smlua_bind_function(L, "bhv_bobomb_init", smlua_func_bhv_bobomb_init); smlua_bind_function(L, "bhv_bobomb_loop", smlua_func_bhv_bobomb_loop); smlua_bind_function(L, "bhv_boo_boss_spawned_bridge_loop", smlua_func_bhv_boo_boss_spawned_bridge_loop); smlua_bind_function(L, "bhv_boo_cage_init", smlua_func_bhv_boo_cage_init); smlua_bind_function(L, "bhv_boo_cage_loop", smlua_func_bhv_boo_cage_loop); smlua_bind_function(L, "bhv_boo_in_castle_loop", smlua_func_bhv_boo_in_castle_loop); smlua_bind_function(L, "bhv_boo_init", smlua_func_bhv_boo_init); smlua_bind_function(L, "bhv_boo_loop", smlua_func_bhv_boo_loop); smlua_bind_function(L, "bhv_boo_with_cage_init", smlua_func_bhv_boo_with_cage_init); smlua_bind_function(L, "bhv_boo_with_cage_loop", smlua_func_bhv_boo_with_cage_loop); smlua_bind_function(L, "bhv_book_switch_loop", smlua_func_bhv_book_switch_loop); smlua_bind_function(L, "bhv_bookend_spawn_loop", smlua_func_bhv_bookend_spawn_loop); smlua_bind_function(L, "bhv_bouncing_fireball_flame_loop", smlua_func_bhv_bouncing_fireball_flame_loop); smlua_bind_function(L, "bhv_bouncing_fireball_loop", smlua_func_bhv_bouncing_fireball_loop); smlua_bind_function(L, "bhv_bowling_ball_init", smlua_func_bhv_bowling_ball_init); smlua_bind_function(L, "bhv_bowling_ball_loop", smlua_func_bhv_bowling_ball_loop); smlua_bind_function(L, "bhv_bowser_body_anchor_init", smlua_func_bhv_bowser_body_anchor_init); smlua_bind_function(L, "bhv_bowser_body_anchor_loop", smlua_func_bhv_bowser_body_anchor_loop); smlua_bind_function(L, "bhv_bowser_bomb_explosion_loop", smlua_func_bhv_bowser_bomb_explosion_loop); smlua_bind_function(L, "bhv_bowser_bomb_loop", smlua_func_bhv_bowser_bomb_loop); smlua_bind_function(L, "bhv_bowser_bomb_smoke_loop", smlua_func_bhv_bowser_bomb_smoke_loop); smlua_bind_function(L, "bhv_bowser_course_red_coin_star_loop", smlua_func_bhv_bowser_course_red_coin_star_loop); smlua_bind_function(L, "bhv_bowser_flame_spawn_loop", smlua_func_bhv_bowser_flame_spawn_loop); smlua_bind_function(L, "bhv_bowser_init", smlua_func_bhv_bowser_init); smlua_bind_function(L, "bhv_bowser_key_course_exit_loop", smlua_func_bhv_bowser_key_course_exit_loop); smlua_bind_function(L, "bhv_bowser_key_init", smlua_func_bhv_bowser_key_init); smlua_bind_function(L, "bhv_bowser_key_loop", smlua_func_bhv_bowser_key_loop); smlua_bind_function(L, "bhv_bowser_key_unlock_door_loop", smlua_func_bhv_bowser_key_unlock_door_loop); smlua_bind_function(L, "bhv_bowser_loop", smlua_func_bhv_bowser_loop); smlua_bind_function(L, "bhv_bowser_shock_wave_loop", smlua_func_bhv_bowser_shock_wave_loop); smlua_bind_function(L, "bhv_bowser_tail_anchor_init", smlua_func_bhv_bowser_tail_anchor_init); smlua_bind_function(L, "bhv_bowser_tail_anchor_loop", smlua_func_bhv_bowser_tail_anchor_loop); smlua_bind_function(L, "bhv_bowsers_sub_loop", smlua_func_bhv_bowsers_sub_loop); smlua_bind_function(L, "bhv_breakable_box_loop", smlua_func_bhv_breakable_box_loop); smlua_bind_function(L, "bhv_breakable_box_small_init", smlua_func_bhv_breakable_box_small_init); smlua_bind_function(L, "bhv_breakable_box_small_loop", smlua_func_bhv_breakable_box_small_loop); smlua_bind_function(L, "bhv_bub_loop", smlua_func_bhv_bub_loop); smlua_bind_function(L, "bhv_bub_spawner_loop", smlua_func_bhv_bub_spawner_loop); smlua_bind_function(L, "bhv_bubba_loop", smlua_func_bhv_bubba_loop); smlua_bind_function(L, "bhv_bubble_cannon_barrel_loop", smlua_func_bhv_bubble_cannon_barrel_loop); smlua_bind_function(L, "bhv_bubble_maybe_loop", smlua_func_bhv_bubble_maybe_loop); smlua_bind_function(L, "bhv_bubble_player_loop", smlua_func_bhv_bubble_player_loop); smlua_bind_function(L, "bhv_bubble_splash_init", smlua_func_bhv_bubble_splash_init); smlua_bind_function(L, "bhv_bubble_wave_init", smlua_func_bhv_bubble_wave_init); smlua_bind_function(L, "bhv_bullet_bill_init", smlua_func_bhv_bullet_bill_init); smlua_bind_function(L, "bhv_bullet_bill_loop", smlua_func_bhv_bullet_bill_loop); smlua_bind_function(L, "bhv_bully_loop", smlua_func_bhv_bully_loop); smlua_bind_function(L, "bhv_butterfly_init", smlua_func_bhv_butterfly_init); smlua_bind_function(L, "bhv_butterfly_loop", smlua_func_bhv_butterfly_loop); smlua_bind_function(L, "bhv_camera_lakitu_init", smlua_func_bhv_camera_lakitu_init); smlua_bind_function(L, "bhv_camera_lakitu_update", smlua_func_bhv_camera_lakitu_update); smlua_bind_function(L, "bhv_cannon_barrel_loop", smlua_func_bhv_cannon_barrel_loop); smlua_bind_function(L, "bhv_cannon_base_loop", smlua_func_bhv_cannon_base_loop); smlua_bind_function(L, "bhv_cannon_base_unused_loop", smlua_func_bhv_cannon_base_unused_loop); smlua_bind_function(L, "bhv_cannon_closed_init", smlua_func_bhv_cannon_closed_init); smlua_bind_function(L, "bhv_cannon_closed_loop", smlua_func_bhv_cannon_closed_loop); smlua_bind_function(L, "bhv_cap_switch_loop", smlua_func_bhv_cap_switch_loop); smlua_bind_function(L, "bhv_castle_cannon_grate_init", smlua_func_bhv_castle_cannon_grate_init); smlua_bind_function(L, "bhv_castle_flag_init", smlua_func_bhv_castle_flag_init); smlua_bind_function(L, "bhv_castle_floor_trap_init", smlua_func_bhv_castle_floor_trap_init); smlua_bind_function(L, "bhv_castle_floor_trap_loop", smlua_func_bhv_castle_floor_trap_loop); smlua_bind_function(L, "bhv_ccm_touched_star_spawn_loop", smlua_func_bhv_ccm_touched_star_spawn_loop); smlua_bind_function(L, "bhv_celebration_star_init", smlua_func_bhv_celebration_star_init); smlua_bind_function(L, "bhv_celebration_star_loop", smlua_func_bhv_celebration_star_loop); smlua_bind_function(L, "bhv_celebration_star_sparkle_loop", smlua_func_bhv_celebration_star_sparkle_loop); smlua_bind_function(L, "bhv_chain_chomp_chain_part_update", smlua_func_bhv_chain_chomp_chain_part_update); smlua_bind_function(L, "bhv_chain_chomp_gate_init", smlua_func_bhv_chain_chomp_gate_init); smlua_bind_function(L, "bhv_chain_chomp_gate_update", smlua_func_bhv_chain_chomp_gate_update); smlua_bind_function(L, "bhv_chain_chomp_update", smlua_func_bhv_chain_chomp_update); smlua_bind_function(L, "bhv_checkerboard_elevator_group_init", smlua_func_bhv_checkerboard_elevator_group_init); smlua_bind_function(L, "bhv_checkerboard_elevator_group_loop", smlua_func_bhv_checkerboard_elevator_group_loop); smlua_bind_function(L, "bhv_checkerboard_platform_init", smlua_func_bhv_checkerboard_platform_init); smlua_bind_function(L, "bhv_checkerboard_platform_loop", smlua_func_bhv_checkerboard_platform_loop); smlua_bind_function(L, "bhv_chuckya_anchor_mario_loop", smlua_func_bhv_chuckya_anchor_mario_loop); smlua_bind_function(L, "bhv_chuckya_loop", smlua_func_bhv_chuckya_loop); smlua_bind_function(L, "bhv_circling_amp_init", smlua_func_bhv_circling_amp_init); smlua_bind_function(L, "bhv_circling_amp_loop", smlua_func_bhv_circling_amp_loop); smlua_bind_function(L, "bhv_clam_loop", smlua_func_bhv_clam_loop); smlua_bind_function(L, "bhv_cloud_part_update", smlua_func_bhv_cloud_part_update); smlua_bind_function(L, "bhv_cloud_update", smlua_func_bhv_cloud_update); smlua_bind_function(L, "bhv_coffin_loop", smlua_func_bhv_coffin_loop); smlua_bind_function(L, "bhv_coffin_spawner_loop", smlua_func_bhv_coffin_spawner_loop); smlua_bind_function(L, "bhv_coin_formation_init", smlua_func_bhv_coin_formation_init); smlua_bind_function(L, "bhv_coin_formation_loop", smlua_func_bhv_coin_formation_loop); smlua_bind_function(L, "bhv_coin_formation_spawn_loop", smlua_func_bhv_coin_formation_spawn_loop); smlua_bind_function(L, "bhv_coin_init", smlua_func_bhv_coin_init); smlua_bind_function(L, "bhv_coin_inside_boo_loop", smlua_func_bhv_coin_inside_boo_loop); smlua_bind_function(L, "bhv_coin_loop", smlua_func_bhv_coin_loop); smlua_bind_function(L, "bhv_coin_sparkles_loop", smlua_func_bhv_coin_sparkles_loop); smlua_bind_function(L, "bhv_collect_star_init", smlua_func_bhv_collect_star_init); smlua_bind_function(L, "bhv_collect_star_loop", smlua_func_bhv_collect_star_loop); smlua_bind_function(L, "bhv_controllable_platform_init", smlua_func_bhv_controllable_platform_init); smlua_bind_function(L, "bhv_controllable_platform_loop", smlua_func_bhv_controllable_platform_loop); smlua_bind_function(L, "bhv_controllable_platform_sub_loop", smlua_func_bhv_controllable_platform_sub_loop); smlua_bind_function(L, "bhv_courtyard_boo_triplet_init", smlua_func_bhv_courtyard_boo_triplet_init); smlua_bind_function(L, "bhv_ddd_moving_pole_loop", smlua_func_bhv_ddd_moving_pole_loop); smlua_bind_function(L, "bhv_ddd_pole_init", smlua_func_bhv_ddd_pole_init); smlua_bind_function(L, "bhv_ddd_pole_update", smlua_func_bhv_ddd_pole_update); smlua_bind_function(L, "bhv_ddd_warp_loop", smlua_func_bhv_ddd_warp_loop); smlua_bind_function(L, "bhv_decorative_pendulum_init", smlua_func_bhv_decorative_pendulum_init); smlua_bind_function(L, "bhv_decorative_pendulum_loop", smlua_func_bhv_decorative_pendulum_loop); smlua_bind_function(L, "bhv_donut_platform_spawner_update", smlua_func_bhv_donut_platform_spawner_update); smlua_bind_function(L, "bhv_donut_platform_update", smlua_func_bhv_donut_platform_update); smlua_bind_function(L, "bhv_door_init", smlua_func_bhv_door_init); smlua_bind_function(L, "bhv_door_loop", smlua_func_bhv_door_loop); smlua_bind_function(L, "bhv_dorrie_update", smlua_func_bhv_dorrie_update); smlua_bind_function(L, "bhv_elevator_init", smlua_func_bhv_elevator_init); smlua_bind_function(L, "bhv_elevator_loop", smlua_func_bhv_elevator_loop); smlua_bind_function(L, "bhv_end_birds_1_loop", smlua_func_bhv_end_birds_1_loop); smlua_bind_function(L, "bhv_end_birds_2_loop", smlua_func_bhv_end_birds_2_loop); smlua_bind_function(L, "bhv_enemy_lakitu_update", smlua_func_bhv_enemy_lakitu_update); smlua_bind_function(L, "bhv_exclamation_box_init", smlua_func_bhv_exclamation_box_init); smlua_bind_function(L, "bhv_exclamation_box_loop", smlua_func_bhv_exclamation_box_loop); smlua_bind_function(L, "bhv_explosion_init", smlua_func_bhv_explosion_init); smlua_bind_function(L, "bhv_explosion_loop", smlua_func_bhv_explosion_loop); smlua_bind_function(L, "bhv_eyerok_boss_init", smlua_func_bhv_eyerok_boss_init); smlua_bind_function(L, "bhv_eyerok_boss_loop", smlua_func_bhv_eyerok_boss_loop); smlua_bind_function(L, "bhv_eyerok_hand_loop", smlua_func_bhv_eyerok_hand_loop); smlua_bind_function(L, "bhv_fading_warp_loop", smlua_func_bhv_fading_warp_loop); smlua_bind_function(L, "bhv_falling_bowser_platform_loop", smlua_func_bhv_falling_bowser_platform_loop); smlua_bind_function(L, "bhv_falling_pillar_hitbox_loop", smlua_func_bhv_falling_pillar_hitbox_loop); smlua_bind_function(L, "bhv_falling_pillar_init", smlua_func_bhv_falling_pillar_init); smlua_bind_function(L, "bhv_falling_pillar_loop", smlua_func_bhv_falling_pillar_loop); smlua_bind_function(L, "bhv_ferris_wheel_axle_init", smlua_func_bhv_ferris_wheel_axle_init); smlua_bind_function(L, "bhv_ferris_wheel_platform_update", smlua_func_bhv_ferris_wheel_platform_update); smlua_bind_function(L, "bhv_fire_piranha_plant_init", smlua_func_bhv_fire_piranha_plant_init); smlua_bind_function(L, "bhv_fire_piranha_plant_update", smlua_func_bhv_fire_piranha_plant_update); smlua_bind_function(L, "bhv_fire_spitter_update", smlua_func_bhv_fire_spitter_update); smlua_bind_function(L, "bhv_fish_group_loop", smlua_func_bhv_fish_group_loop); smlua_bind_function(L, "bhv_fish_loop", smlua_func_bhv_fish_loop); smlua_bind_function(L, "bhv_fish_spawner_loop", smlua_func_bhv_fish_spawner_loop); smlua_bind_function(L, "bhv_flame_bouncing_init", smlua_func_bhv_flame_bouncing_init); smlua_bind_function(L, "bhv_flame_bouncing_loop", smlua_func_bhv_flame_bouncing_loop); smlua_bind_function(L, "bhv_flame_bowser_init", smlua_func_bhv_flame_bowser_init); smlua_bind_function(L, "bhv_flame_bowser_loop", smlua_func_bhv_flame_bowser_loop); smlua_bind_function(L, "bhv_flame_floating_landing_init", smlua_func_bhv_flame_floating_landing_init); smlua_bind_function(L, "bhv_flame_floating_landing_loop", smlua_func_bhv_flame_floating_landing_loop); smlua_bind_function(L, "bhv_flame_large_burning_out_init", smlua_func_bhv_flame_large_burning_out_init); smlua_bind_function(L, "bhv_flame_mario_loop", smlua_func_bhv_flame_mario_loop); smlua_bind_function(L, "bhv_flame_moving_forward_growing_init", smlua_func_bhv_flame_moving_forward_growing_init); smlua_bind_function(L, "bhv_flame_moving_forward_growing_loop", smlua_func_bhv_flame_moving_forward_growing_loop); smlua_bind_function(L, "bhv_flamethrower_flame_loop", smlua_func_bhv_flamethrower_flame_loop); smlua_bind_function(L, "bhv_flamethrower_loop", smlua_func_bhv_flamethrower_loop); smlua_bind_function(L, "bhv_floating_platform_loop", smlua_func_bhv_floating_platform_loop); smlua_bind_function(L, "bhv_floor_trap_in_castle_loop", smlua_func_bhv_floor_trap_in_castle_loop); smlua_bind_function(L, "bhv_fly_guy_flame_loop", smlua_func_bhv_fly_guy_flame_loop); smlua_bind_function(L, "bhv_fly_guy_update", smlua_func_bhv_fly_guy_update); smlua_bind_function(L, "bhv_flying_bookend_loop", smlua_func_bhv_flying_bookend_loop); smlua_bind_function(L, "bhv_free_bowling_ball_init", smlua_func_bhv_free_bowling_ball_init); smlua_bind_function(L, "bhv_free_bowling_ball_loop", smlua_func_bhv_free_bowling_ball_loop); smlua_bind_function(L, "bhv_generic_bowling_ball_spawner_init", smlua_func_bhv_generic_bowling_ball_spawner_init); smlua_bind_function(L, "bhv_generic_bowling_ball_spawner_loop", smlua_func_bhv_generic_bowling_ball_spawner_loop); smlua_bind_function(L, "bhv_giant_pole_loop", smlua_func_bhv_giant_pole_loop); smlua_bind_function(L, "bhv_golden_coin_sparkles_loop", smlua_func_bhv_golden_coin_sparkles_loop); smlua_bind_function(L, "bhv_goomba_init", smlua_func_bhv_goomba_init); smlua_bind_function(L, "bhv_goomba_triplet_spawner_update", smlua_func_bhv_goomba_triplet_spawner_update); smlua_bind_function(L, "bhv_goomba_update", smlua_func_bhv_goomba_update); smlua_bind_function(L, "bhv_grand_star_init", smlua_func_bhv_grand_star_init); smlua_bind_function(L, "bhv_grand_star_loop", smlua_func_bhv_grand_star_loop); smlua_bind_function(L, "bhv_grindel_thwomp_loop", smlua_func_bhv_grindel_thwomp_loop); smlua_bind_function(L, "bhv_ground_sand_init", smlua_func_bhv_ground_sand_init); smlua_bind_function(L, "bhv_ground_snow_init", smlua_func_bhv_ground_snow_init); smlua_bind_function(L, "bhv_haunted_bookshelf_loop", smlua_func_bhv_haunted_bookshelf_loop); smlua_bind_function(L, "bhv_haunted_bookshelf_manager_loop", smlua_func_bhv_haunted_bookshelf_manager_loop); smlua_bind_function(L, "bhv_haunted_chair_init", smlua_func_bhv_haunted_chair_init); smlua_bind_function(L, "bhv_haunted_chair_loop", smlua_func_bhv_haunted_chair_loop); smlua_bind_function(L, "bhv_heave_ho_loop", smlua_func_bhv_heave_ho_loop); smlua_bind_function(L, "bhv_heave_ho_throw_mario_loop", smlua_func_bhv_heave_ho_throw_mario_loop); smlua_bind_function(L, "bhv_hidden_blue_coin_loop", smlua_func_bhv_hidden_blue_coin_loop); smlua_bind_function(L, "bhv_hidden_object_loop", smlua_func_bhv_hidden_object_loop); smlua_bind_function(L, "bhv_hidden_red_coin_star_init", smlua_func_bhv_hidden_red_coin_star_init); smlua_bind_function(L, "bhv_hidden_red_coin_star_loop", smlua_func_bhv_hidden_red_coin_star_loop); smlua_bind_function(L, "bhv_hidden_star_init", smlua_func_bhv_hidden_star_init); smlua_bind_function(L, "bhv_hidden_star_loop", smlua_func_bhv_hidden_star_loop); smlua_bind_function(L, "bhv_hidden_star_trigger_loop", smlua_func_bhv_hidden_star_trigger_loop); smlua_bind_function(L, "bhv_homing_amp_init", smlua_func_bhv_homing_amp_init); smlua_bind_function(L, "bhv_homing_amp_loop", smlua_func_bhv_homing_amp_loop); smlua_bind_function(L, "bhv_hoot_init", smlua_func_bhv_hoot_init); smlua_bind_function(L, "bhv_hoot_loop", smlua_func_bhv_hoot_loop); smlua_bind_function(L, "bhv_horizontal_grindel_init", smlua_func_bhv_horizontal_grindel_init); smlua_bind_function(L, "bhv_horizontal_grindel_update", smlua_func_bhv_horizontal_grindel_update); smlua_bind_function(L, "bhv_idle_water_wave_loop", smlua_func_bhv_idle_water_wave_loop); smlua_bind_function(L, "bhv_init_changing_water_level_loop", smlua_func_bhv_init_changing_water_level_loop); smlua_bind_function(L, "bhv_intro_lakitu_loop", smlua_func_bhv_intro_lakitu_loop); smlua_bind_function(L, "bhv_intro_peach_loop", smlua_func_bhv_intro_peach_loop); smlua_bind_function(L, "bhv_intro_scene_loop", smlua_func_bhv_intro_scene_loop); smlua_bind_function(L, "bhv_invisible_objects_under_bridge_init", smlua_func_bhv_invisible_objects_under_bridge_init); smlua_bind_function(L, "bhv_invisible_objects_under_bridge_loop", smlua_func_bhv_invisible_objects_under_bridge_loop); smlua_bind_function(L, "bhv_jet_stream_loop", smlua_func_bhv_jet_stream_loop); smlua_bind_function(L, "bhv_jet_stream_ring_spawner_loop", smlua_func_bhv_jet_stream_ring_spawner_loop); smlua_bind_function(L, "bhv_jet_stream_water_ring_init", smlua_func_bhv_jet_stream_water_ring_init); smlua_bind_function(L, "bhv_jet_stream_water_ring_loop", smlua_func_bhv_jet_stream_water_ring_loop); smlua_bind_function(L, "bhv_jrb_floating_box_loop", smlua_func_bhv_jrb_floating_box_loop); smlua_bind_function(L, "bhv_jrb_sliding_box_loop", smlua_func_bhv_jrb_sliding_box_loop); smlua_bind_function(L, "bhv_jumping_box_loop", smlua_func_bhv_jumping_box_loop); smlua_bind_function(L, "bhv_kickable_board_loop", smlua_func_bhv_kickable_board_loop); smlua_bind_function(L, "bhv_king_bobomb_loop", smlua_func_bhv_king_bobomb_loop); smlua_bind_function(L, "bhv_klepto_init", smlua_func_bhv_klepto_init); smlua_bind_function(L, "bhv_klepto_update", smlua_func_bhv_klepto_update); smlua_bind_function(L, "bhv_koopa_init", smlua_func_bhv_koopa_init); smlua_bind_function(L, "bhv_koopa_race_endpoint_update", smlua_func_bhv_koopa_race_endpoint_update); smlua_bind_function(L, "bhv_koopa_shell_flame_loop", smlua_func_bhv_koopa_shell_flame_loop); smlua_bind_function(L, "bhv_koopa_shell_loop", smlua_func_bhv_koopa_shell_loop); smlua_bind_function(L, "bhv_koopa_shell_underwater_loop", smlua_func_bhv_koopa_shell_underwater_loop); smlua_bind_function(L, "bhv_koopa_update", smlua_func_bhv_koopa_update); smlua_bind_function(L, "bhv_large_bomp_init", smlua_func_bhv_large_bomp_init); smlua_bind_function(L, "bhv_large_bomp_loop", smlua_func_bhv_large_bomp_loop); smlua_bind_function(L, "bhv_lll_bowser_puzzle_loop", smlua_func_bhv_lll_bowser_puzzle_loop); smlua_bind_function(L, "bhv_lll_bowser_puzzle_piece_loop", smlua_func_bhv_lll_bowser_puzzle_piece_loop); smlua_bind_function(L, "bhv_lll_drawbridge_loop", smlua_func_bhv_lll_drawbridge_loop); smlua_bind_function(L, "bhv_lll_drawbridge_spawner_init", smlua_func_bhv_lll_drawbridge_spawner_init); smlua_bind_function(L, "bhv_lll_drawbridge_spawner_loop", smlua_func_bhv_lll_drawbridge_spawner_loop); smlua_bind_function(L, "bhv_lll_floating_wood_bridge_loop", smlua_func_bhv_lll_floating_wood_bridge_loop); smlua_bind_function(L, "bhv_lll_moving_octagonal_mesh_platform_loop", smlua_func_bhv_lll_moving_octagonal_mesh_platform_loop); smlua_bind_function(L, "bhv_lll_rolling_log_init", smlua_func_bhv_lll_rolling_log_init); smlua_bind_function(L, "bhv_lll_rotating_block_fire_bars_loop", smlua_func_bhv_lll_rotating_block_fire_bars_loop); smlua_bind_function(L, "bhv_lll_rotating_hex_flame_loop", smlua_func_bhv_lll_rotating_hex_flame_loop); smlua_bind_function(L, "bhv_lll_rotating_hexagonal_ring_loop", smlua_func_bhv_lll_rotating_hexagonal_ring_loop); smlua_bind_function(L, "bhv_lll_sinking_rectangular_platform_loop", smlua_func_bhv_lll_sinking_rectangular_platform_loop); smlua_bind_function(L, "bhv_lll_sinking_rock_block_loop", smlua_func_bhv_lll_sinking_rock_block_loop); smlua_bind_function(L, "bhv_lll_sinking_square_platforms_loop", smlua_func_bhv_lll_sinking_square_platforms_loop); smlua_bind_function(L, "bhv_lll_wood_piece_loop", smlua_func_bhv_lll_wood_piece_loop); smlua_bind_function(L, "bhv_mad_piano_update", smlua_func_bhv_mad_piano_update); smlua_bind_function(L, "bhv_manta_ray_init", smlua_func_bhv_manta_ray_init); smlua_bind_function(L, "bhv_manta_ray_loop", smlua_func_bhv_manta_ray_loop); smlua_bind_function(L, "bhv_manta_ray_water_ring_init", smlua_func_bhv_manta_ray_water_ring_init); smlua_bind_function(L, "bhv_manta_ray_water_ring_loop", smlua_func_bhv_manta_ray_water_ring_loop); smlua_bind_function(L, "bhv_menu_button_init", smlua_func_bhv_menu_button_init); smlua_bind_function(L, "bhv_menu_button_loop", smlua_func_bhv_menu_button_loop); smlua_bind_function(L, "bhv_menu_button_manager_init", smlua_func_bhv_menu_button_manager_init); smlua_bind_function(L, "bhv_menu_button_manager_loop", smlua_func_bhv_menu_button_manager_loop); smlua_bind_function(L, "bhv_merry_go_round_boo_manager_loop", smlua_func_bhv_merry_go_round_boo_manager_loop); smlua_bind_function(L, "bhv_merry_go_round_loop", smlua_func_bhv_merry_go_round_loop); smlua_bind_function(L, "bhv_metal_cap_init", smlua_func_bhv_metal_cap_init); smlua_bind_function(L, "bhv_metal_cap_loop", smlua_func_bhv_metal_cap_loop); smlua_bind_function(L, "bhv_mips_init", smlua_func_bhv_mips_init); smlua_bind_function(L, "bhv_mips_loop", smlua_func_bhv_mips_loop); smlua_bind_function(L, "bhv_moat_grills_loop", smlua_func_bhv_moat_grills_loop); smlua_bind_function(L, "bhv_moneybag_hidden_loop", smlua_func_bhv_moneybag_hidden_loop); smlua_bind_function(L, "bhv_moneybag_init", smlua_func_bhv_moneybag_init); smlua_bind_function(L, "bhv_moneybag_loop", smlua_func_bhv_moneybag_loop); smlua_bind_function(L, "bhv_monty_mole_hole_update", smlua_func_bhv_monty_mole_hole_update); smlua_bind_function(L, "bhv_monty_mole_init", smlua_func_bhv_monty_mole_init); smlua_bind_function(L, "bhv_monty_mole_rock_update", smlua_func_bhv_monty_mole_rock_update); smlua_bind_function(L, "bhv_monty_mole_update", smlua_func_bhv_monty_mole_update); smlua_bind_function(L, "bhv_moving_blue_coin_init", smlua_func_bhv_moving_blue_coin_init); smlua_bind_function(L, "bhv_moving_blue_coin_loop", smlua_func_bhv_moving_blue_coin_loop); smlua_bind_function(L, "bhv_moving_yellow_coin_init", smlua_func_bhv_moving_yellow_coin_init); smlua_bind_function(L, "bhv_moving_yellow_coin_loop", smlua_func_bhv_moving_yellow_coin_loop); smlua_bind_function(L, "bhv_mr_blizzard_init", smlua_func_bhv_mr_blizzard_init); smlua_bind_function(L, "bhv_mr_blizzard_snowball", smlua_func_bhv_mr_blizzard_snowball); smlua_bind_function(L, "bhv_mr_blizzard_update", smlua_func_bhv_mr_blizzard_update); smlua_bind_function(L, "bhv_mr_i_body_loop", smlua_func_bhv_mr_i_body_loop); smlua_bind_function(L, "bhv_mr_i_loop", smlua_func_bhv_mr_i_loop); smlua_bind_function(L, "bhv_mr_i_particle_loop", smlua_func_bhv_mr_i_particle_loop); smlua_bind_function(L, "bhv_normal_cap_init", smlua_func_bhv_normal_cap_init); smlua_bind_function(L, "bhv_normal_cap_loop", smlua_func_bhv_normal_cap_loop); smlua_bind_function(L, "bhv_object_bubble_init", smlua_func_bhv_object_bubble_init); smlua_bind_function(L, "bhv_object_bubble_loop", smlua_func_bhv_object_bubble_loop); smlua_bind_function(L, "bhv_object_water_wave_init", smlua_func_bhv_object_water_wave_init); smlua_bind_function(L, "bhv_object_water_wave_loop", smlua_func_bhv_object_water_wave_loop); smlua_bind_function(L, "bhv_openable_cage_door_loop", smlua_func_bhv_openable_cage_door_loop); smlua_bind_function(L, "bhv_openable_grill_loop", smlua_func_bhv_openable_grill_loop); smlua_bind_function(L, "bhv_orange_number_init", smlua_func_bhv_orange_number_init); smlua_bind_function(L, "bhv_orange_number_loop", smlua_func_bhv_orange_number_loop); smlua_bind_function(L, "bhv_particle_init", smlua_func_bhv_particle_init); smlua_bind_function(L, "bhv_particle_loop", smlua_func_bhv_particle_loop); smlua_bind_function(L, "bhv_penguin_race_finish_line_update", smlua_func_bhv_penguin_race_finish_line_update); smlua_bind_function(L, "bhv_penguin_race_shortcut_check_update", smlua_func_bhv_penguin_race_shortcut_check_update); smlua_bind_function(L, "bhv_piranha_particle_loop", smlua_func_bhv_piranha_particle_loop); smlua_bind_function(L, "bhv_piranha_plant_bubble_loop", smlua_func_bhv_piranha_plant_bubble_loop); smlua_bind_function(L, "bhv_piranha_plant_loop", smlua_func_bhv_piranha_plant_loop); smlua_bind_function(L, "bhv_piranha_plant_waking_bubbles_loop", smlua_func_bhv_piranha_plant_waking_bubbles_loop); smlua_bind_function(L, "bhv_platform_normals_init", smlua_func_bhv_platform_normals_init); smlua_bind_function(L, "bhv_platform_on_track_init", smlua_func_bhv_platform_on_track_init); smlua_bind_function(L, "bhv_platform_on_track_update", smlua_func_bhv_platform_on_track_update); #ifndef VERSION_JP smlua_bind_function(L, "bhv_play_music_track_when_touched_loop", smlua_func_bhv_play_music_track_when_touched_loop); #endif smlua_bind_function(L, "bhv_pokey_body_part_update", smlua_func_bhv_pokey_body_part_update); smlua_bind_function(L, "bhv_pokey_update", smlua_func_bhv_pokey_update); smlua_bind_function(L, "bhv_pole_base_loop", smlua_func_bhv_pole_base_loop); smlua_bind_function(L, "bhv_pole_init", smlua_func_bhv_pole_init); smlua_bind_function(L, "bhv_pound_tiny_star_particle_init", smlua_func_bhv_pound_tiny_star_particle_init); smlua_bind_function(L, "bhv_pound_tiny_star_particle_loop", smlua_func_bhv_pound_tiny_star_particle_loop); smlua_bind_function(L, "bhv_pound_white_puffs_init", smlua_func_bhv_pound_white_puffs_init); smlua_bind_function(L, "bhv_punch_tiny_triangle_init", smlua_func_bhv_punch_tiny_triangle_init); smlua_bind_function(L, "bhv_punch_tiny_triangle_loop", smlua_func_bhv_punch_tiny_triangle_loop); smlua_bind_function(L, "bhv_purple_switch_loop", smlua_func_bhv_purple_switch_loop); smlua_bind_function(L, "bhv_pushable_loop", smlua_func_bhv_pushable_loop); smlua_bind_function(L, "bhv_pyramid_elevator_init", smlua_func_bhv_pyramid_elevator_init); smlua_bind_function(L, "bhv_pyramid_elevator_loop", smlua_func_bhv_pyramid_elevator_loop); smlua_bind_function(L, "bhv_pyramid_elevator_trajectory_marker_ball_loop", smlua_func_bhv_pyramid_elevator_trajectory_marker_ball_loop); smlua_bind_function(L, "bhv_pyramid_pillar_touch_detector_loop", smlua_func_bhv_pyramid_pillar_touch_detector_loop); smlua_bind_function(L, "bhv_pyramid_top_fragment_init", smlua_func_bhv_pyramid_top_fragment_init); smlua_bind_function(L, "bhv_pyramid_top_fragment_loop", smlua_func_bhv_pyramid_top_fragment_loop); smlua_bind_function(L, "bhv_pyramid_top_init", smlua_func_bhv_pyramid_top_init); smlua_bind_function(L, "bhv_pyramid_top_loop", smlua_func_bhv_pyramid_top_loop); smlua_bind_function(L, "bhv_racing_penguin_init", smlua_func_bhv_racing_penguin_init); smlua_bind_function(L, "bhv_racing_penguin_update", smlua_func_bhv_racing_penguin_update); smlua_bind_function(L, "bhv_recovery_heart_loop", smlua_func_bhv_recovery_heart_loop); smlua_bind_function(L, "bhv_red_coin_init", smlua_func_bhv_red_coin_init); smlua_bind_function(L, "bhv_red_coin_loop", smlua_func_bhv_red_coin_loop); smlua_bind_function(L, "bhv_red_coin_star_marker_init", smlua_func_bhv_red_coin_star_marker_init); smlua_bind_function(L, "bhv_respawner_loop", smlua_func_bhv_respawner_loop); smlua_bind_function(L, "bhv_rolling_log_loop", smlua_func_bhv_rolling_log_loop); smlua_bind_function(L, "bhv_rotating_clock_arm_loop", smlua_func_bhv_rotating_clock_arm_loop); smlua_bind_function(L, "bhv_rotating_exclamation_box_loop", smlua_func_bhv_rotating_exclamation_box_loop); smlua_bind_function(L, "bhv_rotating_octagonal_plat_init", smlua_func_bhv_rotating_octagonal_plat_init); smlua_bind_function(L, "bhv_rotating_octagonal_plat_loop", smlua_func_bhv_rotating_octagonal_plat_loop); smlua_bind_function(L, "bhv_rotating_platform_loop", smlua_func_bhv_rotating_platform_loop); smlua_bind_function(L, "bhv_rr_cruiser_wing_init", smlua_func_bhv_rr_cruiser_wing_init); smlua_bind_function(L, "bhv_rr_cruiser_wing_loop", smlua_func_bhv_rr_cruiser_wing_loop); smlua_bind_function(L, "bhv_rr_rotating_bridge_platform_loop", smlua_func_bhv_rr_rotating_bridge_platform_loop); smlua_bind_function(L, "bhv_sand_sound_loop", smlua_func_bhv_sand_sound_loop); smlua_bind_function(L, "bhv_scuttlebug_loop", smlua_func_bhv_scuttlebug_loop); smlua_bind_function(L, "bhv_scuttlebug_spawn_loop", smlua_func_bhv_scuttlebug_spawn_loop); smlua_bind_function(L, "bhv_seaweed_bundle_init", smlua_func_bhv_seaweed_bundle_init); smlua_bind_function(L, "bhv_seaweed_init", smlua_func_bhv_seaweed_init); smlua_bind_function(L, "bhv_seesaw_platform_init", smlua_func_bhv_seesaw_platform_init); smlua_bind_function(L, "bhv_seesaw_platform_update", smlua_func_bhv_seesaw_platform_update); smlua_bind_function(L, "bhv_shallow_water_splash_init", smlua_func_bhv_shallow_water_splash_init); smlua_bind_function(L, "bhv_ship_part_3_loop", smlua_func_bhv_ship_part_3_loop); smlua_bind_function(L, "bhv_skeeter_update", smlua_func_bhv_skeeter_update); smlua_bind_function(L, "bhv_skeeter_wave_update", smlua_func_bhv_skeeter_wave_update); smlua_bind_function(L, "bhv_sl_snowman_wind_loop", smlua_func_bhv_sl_snowman_wind_loop); smlua_bind_function(L, "bhv_sl_walking_penguin_loop", smlua_func_bhv_sl_walking_penguin_loop); smlua_bind_function(L, "bhv_sliding_plat_2_init", smlua_func_bhv_sliding_plat_2_init); smlua_bind_function(L, "bhv_sliding_plat_2_loop", smlua_func_bhv_sliding_plat_2_loop); smlua_bind_function(L, "bhv_sliding_snow_mound_loop", smlua_func_bhv_sliding_snow_mound_loop); smlua_bind_function(L, "bhv_small_bomp_init", smlua_func_bhv_small_bomp_init); smlua_bind_function(L, "bhv_small_bomp_loop", smlua_func_bhv_small_bomp_loop); smlua_bind_function(L, "bhv_small_bubbles_loop", smlua_func_bhv_small_bubbles_loop); smlua_bind_function(L, "bhv_small_bully_init", smlua_func_bhv_small_bully_init); smlua_bind_function(L, "bhv_small_penguin_loop", smlua_func_bhv_small_penguin_loop); smlua_bind_function(L, "bhv_small_piranha_flame_loop", smlua_func_bhv_small_piranha_flame_loop); smlua_bind_function(L, "bhv_small_water_wave_loop", smlua_func_bhv_small_water_wave_loop); smlua_bind_function(L, "bhv_snow_leaf_particle_spawn_init", smlua_func_bhv_snow_leaf_particle_spawn_init); smlua_bind_function(L, "bhv_snow_mound_spawn_loop", smlua_func_bhv_snow_mound_spawn_loop); smlua_bind_function(L, "bhv_snowmans_body_checkpoint_loop", smlua_func_bhv_snowmans_body_checkpoint_loop); smlua_bind_function(L, "bhv_snowmans_bottom_init", smlua_func_bhv_snowmans_bottom_init); smlua_bind_function(L, "bhv_snowmans_bottom_loop", smlua_func_bhv_snowmans_bottom_loop); smlua_bind_function(L, "bhv_snowmans_head_init", smlua_func_bhv_snowmans_head_init); smlua_bind_function(L, "bhv_snowmans_head_loop", smlua_func_bhv_snowmans_head_loop); smlua_bind_function(L, "bhv_snufit_balls_loop", smlua_func_bhv_snufit_balls_loop); smlua_bind_function(L, "bhv_snufit_loop", smlua_func_bhv_snufit_loop); smlua_bind_function(L, "bhv_sound_spawner_init", smlua_func_bhv_sound_spawner_init); smlua_bind_function(L, "bhv_sparkle_spawn_loop", smlua_func_bhv_sparkle_spawn_loop); smlua_bind_function(L, "bhv_spawn_star_no_level_exit", smlua_func_bhv_spawn_star_no_level_exit); smlua_bind_function(L, "bhv_spawned_star_init", smlua_func_bhv_spawned_star_init); smlua_bind_function(L, "bhv_spawned_star_loop", smlua_func_bhv_spawned_star_loop); smlua_bind_function(L, "bhv_spindel_init", smlua_func_bhv_spindel_init); smlua_bind_function(L, "bhv_spindel_loop", smlua_func_bhv_spindel_loop); smlua_bind_function(L, "bhv_spindrift_loop", smlua_func_bhv_spindrift_loop); smlua_bind_function(L, "bhv_spiny_update", smlua_func_bhv_spiny_update); smlua_bind_function(L, "bhv_squarish_path_moving_loop", smlua_func_bhv_squarish_path_moving_loop); smlua_bind_function(L, "bhv_squarish_path_parent_init", smlua_func_bhv_squarish_path_parent_init); smlua_bind_function(L, "bhv_squarish_path_parent_loop", smlua_func_bhv_squarish_path_parent_loop); smlua_bind_function(L, "bhv_squishable_platform_loop", smlua_func_bhv_squishable_platform_loop); smlua_bind_function(L, "bhv_ssl_moving_pyramid_wall_init", smlua_func_bhv_ssl_moving_pyramid_wall_init); smlua_bind_function(L, "bhv_ssl_moving_pyramid_wall_loop", smlua_func_bhv_ssl_moving_pyramid_wall_loop); smlua_bind_function(L, "bhv_star_door_loop", smlua_func_bhv_star_door_loop); smlua_bind_function(L, "bhv_star_door_loop_2", smlua_func_bhv_star_door_loop_2); smlua_bind_function(L, "bhv_star_key_collection_puff_spawner_loop", smlua_func_bhv_star_key_collection_puff_spawner_loop); smlua_bind_function(L, "bhv_star_number_loop", smlua_func_bhv_star_number_loop); smlua_bind_function(L, "bhv_star_spawn_init", smlua_func_bhv_star_spawn_init); smlua_bind_function(L, "bhv_star_spawn_loop", smlua_func_bhv_star_spawn_loop); smlua_bind_function(L, "bhv_static_checkered_platform_loop", smlua_func_bhv_static_checkered_platform_loop); smlua_bind_function(L, "bhv_strong_wind_particle_loop", smlua_func_bhv_strong_wind_particle_loop); smlua_bind_function(L, "bhv_sunken_ship_part_loop", smlua_func_bhv_sunken_ship_part_loop); smlua_bind_function(L, "bhv_sushi_shark_collision_loop", smlua_func_bhv_sushi_shark_collision_loop); smlua_bind_function(L, "bhv_sushi_shark_loop", smlua_func_bhv_sushi_shark_loop); smlua_bind_function(L, "bhv_swing_platform_init", smlua_func_bhv_swing_platform_init); smlua_bind_function(L, "bhv_swing_platform_update", smlua_func_bhv_swing_platform_update); smlua_bind_function(L, "bhv_swoop_update", smlua_func_bhv_swoop_update); smlua_bind_function(L, "bhv_tank_fish_group_loop", smlua_func_bhv_tank_fish_group_loop); smlua_bind_function(L, "bhv_temp_coin_loop", smlua_func_bhv_temp_coin_loop); smlua_bind_function(L, "bhv_thi_bowling_ball_spawner_loop", smlua_func_bhv_thi_bowling_ball_spawner_loop); smlua_bind_function(L, "bhv_thi_huge_island_top_loop", smlua_func_bhv_thi_huge_island_top_loop); smlua_bind_function(L, "bhv_thi_tiny_island_top_loop", smlua_func_bhv_thi_tiny_island_top_loop); smlua_bind_function(L, "bhv_tilting_bowser_lava_platform_init", smlua_func_bhv_tilting_bowser_lava_platform_init); smlua_bind_function(L, "bhv_tilting_inverted_pyramid_loop", smlua_func_bhv_tilting_inverted_pyramid_loop); smlua_bind_function(L, "bhv_tiny_star_particles_init", smlua_func_bhv_tiny_star_particles_init); smlua_bind_function(L, "bhv_tower_door_loop", smlua_func_bhv_tower_door_loop); smlua_bind_function(L, "bhv_tower_platform_group_init", smlua_func_bhv_tower_platform_group_init); smlua_bind_function(L, "bhv_tower_platform_group_loop", smlua_func_bhv_tower_platform_group_loop); smlua_bind_function(L, "bhv_tox_box_loop", smlua_func_bhv_tox_box_loop); smlua_bind_function(L, "bhv_track_ball_update", smlua_func_bhv_track_ball_update); smlua_bind_function(L, "bhv_treasure_chest_bottom_init", smlua_func_bhv_treasure_chest_bottom_init); smlua_bind_function(L, "bhv_treasure_chest_bottom_loop", smlua_func_bhv_treasure_chest_bottom_loop); smlua_bind_function(L, "bhv_treasure_chest_init", smlua_func_bhv_treasure_chest_init); smlua_bind_function(L, "bhv_treasure_chest_jrb_init", smlua_func_bhv_treasure_chest_jrb_init); smlua_bind_function(L, "bhv_treasure_chest_jrb_loop", smlua_func_bhv_treasure_chest_jrb_loop); smlua_bind_function(L, "bhv_treasure_chest_loop", smlua_func_bhv_treasure_chest_loop); smlua_bind_function(L, "bhv_treasure_chest_ship_init", smlua_func_bhv_treasure_chest_ship_init); smlua_bind_function(L, "bhv_treasure_chest_ship_loop", smlua_func_bhv_treasure_chest_ship_loop); smlua_bind_function(L, "bhv_treasure_chest_top_loop", smlua_func_bhv_treasure_chest_top_loop); smlua_bind_function(L, "bhv_tree_snow_or_leaf_loop", smlua_func_bhv_tree_snow_or_leaf_loop); smlua_bind_function(L, "bhv_triplet_butterfly_update", smlua_func_bhv_triplet_butterfly_update); smlua_bind_function(L, "bhv_ttc_2d_rotator_init", smlua_func_bhv_ttc_2d_rotator_init); smlua_bind_function(L, "bhv_ttc_2d_rotator_update", smlua_func_bhv_ttc_2d_rotator_update); smlua_bind_function(L, "bhv_ttc_cog_init", smlua_func_bhv_ttc_cog_init); smlua_bind_function(L, "bhv_ttc_cog_update", smlua_func_bhv_ttc_cog_update); smlua_bind_function(L, "bhv_ttc_elevator_init", smlua_func_bhv_ttc_elevator_init); smlua_bind_function(L, "bhv_ttc_elevator_update", smlua_func_bhv_ttc_elevator_update); smlua_bind_function(L, "bhv_ttc_moving_bar_init", smlua_func_bhv_ttc_moving_bar_init); smlua_bind_function(L, "bhv_ttc_moving_bar_update", smlua_func_bhv_ttc_moving_bar_update); smlua_bind_function(L, "bhv_ttc_pendulum_init", smlua_func_bhv_ttc_pendulum_init); smlua_bind_function(L, "bhv_ttc_pendulum_update", smlua_func_bhv_ttc_pendulum_update); smlua_bind_function(L, "bhv_ttc_pit_block_init", smlua_func_bhv_ttc_pit_block_init); smlua_bind_function(L, "bhv_ttc_pit_block_update", smlua_func_bhv_ttc_pit_block_update); smlua_bind_function(L, "bhv_ttc_rotating_solid_init", smlua_func_bhv_ttc_rotating_solid_init); smlua_bind_function(L, "bhv_ttc_rotating_solid_update", smlua_func_bhv_ttc_rotating_solid_update); smlua_bind_function(L, "bhv_ttc_spinner_update", smlua_func_bhv_ttc_spinner_update); smlua_bind_function(L, "bhv_ttc_treadmill_init", smlua_func_bhv_ttc_treadmill_init); smlua_bind_function(L, "bhv_ttc_treadmill_update", smlua_func_bhv_ttc_treadmill_update); smlua_bind_function(L, "bhv_ttm_rolling_log_init", smlua_func_bhv_ttm_rolling_log_init); smlua_bind_function(L, "bhv_tumbling_bridge_loop", smlua_func_bhv_tumbling_bridge_loop); smlua_bind_function(L, "bhv_tumbling_bridge_platform_loop", smlua_func_bhv_tumbling_bridge_platform_loop); smlua_bind_function(L, "bhv_tuxies_mother_loop", smlua_func_bhv_tuxies_mother_loop); smlua_bind_function(L, "bhv_tweester_loop", smlua_func_bhv_tweester_loop); smlua_bind_function(L, "bhv_tweester_sand_particle_loop", smlua_func_bhv_tweester_sand_particle_loop); smlua_bind_function(L, "bhv_ukiki_cage_loop", smlua_func_bhv_ukiki_cage_loop); smlua_bind_function(L, "bhv_ukiki_cage_star_loop", smlua_func_bhv_ukiki_cage_star_loop); smlua_bind_function(L, "bhv_ukiki_init", smlua_func_bhv_ukiki_init); smlua_bind_function(L, "bhv_ukiki_loop", smlua_func_bhv_ukiki_loop); smlua_bind_function(L, "bhv_unagi_init", smlua_func_bhv_unagi_init); smlua_bind_function(L, "bhv_unagi_loop", smlua_func_bhv_unagi_loop); smlua_bind_function(L, "bhv_unagi_subobject_loop", smlua_func_bhv_unagi_subobject_loop); smlua_bind_function(L, "bhv_unused_particle_spawn_loop", smlua_func_bhv_unused_particle_spawn_loop); smlua_bind_function(L, "bhv_unused_poundable_platform", smlua_func_bhv_unused_poundable_platform); smlua_bind_function(L, "bhv_vanish_cap_init", smlua_func_bhv_vanish_cap_init); smlua_bind_function(L, "bhv_volcano_flames_loop", smlua_func_bhv_volcano_flames_loop); smlua_bind_function(L, "bhv_volcano_sound_loop", smlua_func_bhv_volcano_sound_loop); smlua_bind_function(L, "bhv_volcano_trap_loop", smlua_func_bhv_volcano_trap_loop); smlua_bind_function(L, "bhv_wall_tiny_star_particle_loop", smlua_func_bhv_wall_tiny_star_particle_loop); smlua_bind_function(L, "bhv_warp_loop", smlua_func_bhv_warp_loop); smlua_bind_function(L, "bhv_water_air_bubble_init", smlua_func_bhv_water_air_bubble_init); smlua_bind_function(L, "bhv_water_air_bubble_loop", smlua_func_bhv_water_air_bubble_loop); smlua_bind_function(L, "bhv_water_bomb_cannon_loop", smlua_func_bhv_water_bomb_cannon_loop); smlua_bind_function(L, "bhv_water_bomb_shadow_update", smlua_func_bhv_water_bomb_shadow_update); smlua_bind_function(L, "bhv_water_bomb_spawner_update", smlua_func_bhv_water_bomb_spawner_update); smlua_bind_function(L, "bhv_water_bomb_update", smlua_func_bhv_water_bomb_update); smlua_bind_function(L, "bhv_water_droplet_loop", smlua_func_bhv_water_droplet_loop); smlua_bind_function(L, "bhv_water_droplet_splash_init", smlua_func_bhv_water_droplet_splash_init); smlua_bind_function(L, "bhv_water_level_diamond_loop", smlua_func_bhv_water_level_diamond_loop); smlua_bind_function(L, "bhv_water_level_pillar_init", smlua_func_bhv_water_level_pillar_init); smlua_bind_function(L, "bhv_water_level_pillar_loop", smlua_func_bhv_water_level_pillar_loop); smlua_bind_function(L, "bhv_water_mist_2_loop", smlua_func_bhv_water_mist_2_loop); smlua_bind_function(L, "bhv_water_mist_loop", smlua_func_bhv_water_mist_loop); smlua_bind_function(L, "bhv_water_mist_spawn_loop", smlua_func_bhv_water_mist_spawn_loop); smlua_bind_function(L, "bhv_water_splash_spawn_droplets", smlua_func_bhv_water_splash_spawn_droplets); smlua_bind_function(L, "bhv_water_waves_init", smlua_func_bhv_water_waves_init); smlua_bind_function(L, "bhv_waterfall_sound_loop", smlua_func_bhv_waterfall_sound_loop); smlua_bind_function(L, "bhv_wave_trail_shrink", smlua_func_bhv_wave_trail_shrink); smlua_bind_function(L, "bhv_wdw_express_elevator_loop", smlua_func_bhv_wdw_express_elevator_loop); smlua_bind_function(L, "bhv_wf_breakable_wall_loop", smlua_func_bhv_wf_breakable_wall_loop); smlua_bind_function(L, "bhv_wf_elevator_tower_platform_loop", smlua_func_bhv_wf_elevator_tower_platform_loop); smlua_bind_function(L, "bhv_wf_rotating_wooden_platform_init", smlua_func_bhv_wf_rotating_wooden_platform_init); smlua_bind_function(L, "bhv_wf_rotating_wooden_platform_loop", smlua_func_bhv_wf_rotating_wooden_platform_loop); smlua_bind_function(L, "bhv_wf_sliding_platform_init", smlua_func_bhv_wf_sliding_platform_init); smlua_bind_function(L, "bhv_wf_sliding_platform_loop", smlua_func_bhv_wf_sliding_platform_loop); smlua_bind_function(L, "bhv_wf_sliding_tower_platform_loop", smlua_func_bhv_wf_sliding_tower_platform_loop); smlua_bind_function(L, "bhv_wf_solid_tower_platform_loop", smlua_func_bhv_wf_solid_tower_platform_loop); smlua_bind_function(L, "bhv_whirlpool_init", smlua_func_bhv_whirlpool_init); smlua_bind_function(L, "bhv_whirlpool_loop", smlua_func_bhv_whirlpool_loop); smlua_bind_function(L, "bhv_white_puff_1_loop", smlua_func_bhv_white_puff_1_loop); smlua_bind_function(L, "bhv_white_puff_2_loop", smlua_func_bhv_white_puff_2_loop); smlua_bind_function(L, "bhv_white_puff_exploding_loop", smlua_func_bhv_white_puff_exploding_loop); smlua_bind_function(L, "bhv_white_puff_smoke_init", smlua_func_bhv_white_puff_smoke_init); smlua_bind_function(L, "bhv_whomp_loop", smlua_func_bhv_whomp_loop); smlua_bind_function(L, "bhv_wiggler_body_part_update", smlua_func_bhv_wiggler_body_part_update); smlua_bind_function(L, "bhv_wiggler_update", smlua_func_bhv_wiggler_update); smlua_bind_function(L, "bhv_wind_loop", smlua_func_bhv_wind_loop); smlua_bind_function(L, "bhv_wing_cap_init", smlua_func_bhv_wing_cap_init); smlua_bind_function(L, "bhv_wing_vanish_cap_loop", smlua_func_bhv_wing_vanish_cap_loop); smlua_bind_function(L, "bhv_wooden_post_update", smlua_func_bhv_wooden_post_update); smlua_bind_function(L, "bhv_yellow_coin_init", smlua_func_bhv_yellow_coin_init); smlua_bind_function(L, "bhv_yellow_coin_loop", smlua_func_bhv_yellow_coin_loop); smlua_bind_function(L, "bhv_yoshi_init", smlua_func_bhv_yoshi_init); smlua_bind_function(L, "bhv_yoshi_loop", smlua_func_bhv_yoshi_loop); smlua_bind_function(L, "check_if_moving_over_floor", smlua_func_check_if_moving_over_floor); smlua_bind_function(L, "clear_particle_flags", smlua_func_clear_particle_flags); smlua_bind_function(L, "common_anchor_mario_behavior", smlua_func_common_anchor_mario_behavior); smlua_bind_function(L, "cur_obj_spawn_strong_wind_particles", smlua_func_cur_obj_spawn_strong_wind_particles); //smlua_bind_function(L, "geo_bits_bowser_coloring", smlua_func_geo_bits_bowser_coloring); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_move_mario_part_from_parent", smlua_func_geo_move_mario_part_from_parent); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_scale_bowser_key", smlua_func_geo_scale_bowser_key); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_snufit_move_mask", smlua_func_geo_snufit_move_mask); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_snufit_scale_body", smlua_func_geo_snufit_scale_body); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_switch_bowser_eyes", smlua_func_geo_switch_bowser_eyes); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_switch_tuxie_mother_eyes", smlua_func_geo_switch_tuxie_mother_eyes); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_update_body_rot_from_parent", smlua_func_geo_update_body_rot_from_parent); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_update_held_mario_pos", smlua_func_geo_update_held_mario_pos); <--- UNIMPLEMENTED smlua_bind_function(L, "mario_moving_fast_enough_to_make_piranha_plant_bite", smlua_func_mario_moving_fast_enough_to_make_piranha_plant_bite); smlua_bind_function(L, "obj_set_secondary_camera_focus", smlua_func_obj_set_secondary_camera_focus); smlua_bind_function(L, "play_penguin_walking_sound", smlua_func_play_penguin_walking_sound); smlua_bind_function(L, "spawn_default_star", smlua_func_spawn_default_star); smlua_bind_function(L, "spawn_mist_from_global", smlua_func_spawn_mist_from_global); smlua_bind_function(L, "spawn_mist_particles_variable", smlua_func_spawn_mist_particles_variable); smlua_bind_function(L, "spawn_no_exit_star", smlua_func_spawn_no_exit_star); smlua_bind_function(L, "spawn_red_coin_cutscene_star", smlua_func_spawn_red_coin_cutscene_star); smlua_bind_function(L, "spawn_star_number", smlua_func_spawn_star_number); smlua_bind_function(L, "spawn_triangle_break_particles", smlua_func_spawn_triangle_break_particles); smlua_bind_function(L, "spawn_wind_particles", smlua_func_spawn_wind_particles); smlua_bind_function(L, "tox_box_move", smlua_func_tox_box_move); smlua_bind_function(L, "update_angle_from_move_flags", smlua_func_update_angle_from_move_flags); smlua_bind_function(L, "uv_update_scroll", smlua_func_uv_update_scroll); smlua_bind_function(L, "vec3f_copy_2", smlua_func_vec3f_copy_2); // behavior_table.h smlua_bind_function(L, "get_behavior_from_id", smlua_func_get_behavior_from_id); smlua_bind_function(L, "get_behavior_name_from_id", smlua_func_get_behavior_name_from_id); smlua_bind_function(L, "get_id_from_behavior", smlua_func_get_id_from_behavior); smlua_bind_function(L, "get_id_from_behavior_name", smlua_func_get_id_from_behavior_name); smlua_bind_function(L, "get_id_from_vanilla_behavior", smlua_func_get_id_from_vanilla_behavior); // camera.h smlua_bind_function(L, "approach_camera_height", smlua_func_approach_camera_height); smlua_bind_function(L, "approach_f32_asymptotic", smlua_func_approach_f32_asymptotic); smlua_bind_function(L, "approach_f32_asymptotic_bool", smlua_func_approach_f32_asymptotic_bool); smlua_bind_function(L, "approach_s16_asymptotic", smlua_func_approach_s16_asymptotic); smlua_bind_function(L, "approach_s16_asymptotic_bool", smlua_func_approach_s16_asymptotic_bool); smlua_bind_function(L, "approach_vec3f_asymptotic", smlua_func_approach_vec3f_asymptotic); smlua_bind_function(L, "calc_abs_dist", smlua_func_calc_abs_dist); smlua_bind_function(L, "calc_hor_dist", smlua_func_calc_hor_dist); smlua_bind_function(L, "calculate_angles", smlua_func_calculate_angles); smlua_bind_function(L, "calculate_pitch", smlua_func_calculate_pitch); smlua_bind_function(L, "calculate_yaw", smlua_func_calculate_yaw); smlua_bind_function(L, "cam_select_alt_mode", smlua_func_cam_select_alt_mode); smlua_bind_function(L, "camera_approach_f32_symmetric", smlua_func_camera_approach_f32_symmetric); smlua_bind_function(L, "camera_approach_f32_symmetric_bool", smlua_func_camera_approach_f32_symmetric_bool); smlua_bind_function(L, "camera_approach_s16_symmetric_bool", smlua_func_camera_approach_s16_symmetric_bool); smlua_bind_function(L, "camera_course_processing", smlua_func_camera_course_processing); smlua_bind_function(L, "camera_set_use_course_specific_settings", smlua_func_camera_set_use_course_specific_settings); smlua_bind_function(L, "center_rom_hack_camera", smlua_func_center_rom_hack_camera); smlua_bind_function(L, "clamp_pitch", smlua_func_clamp_pitch); smlua_bind_function(L, "clamp_positions_and_find_yaw", smlua_func_clamp_positions_and_find_yaw); smlua_bind_function(L, "collide_with_walls", smlua_func_collide_with_walls); //smlua_bind_function(L, "cutscene_event", smlua_func_cutscene_event); <--- UNIMPLEMENTED smlua_bind_function(L, "cutscene_object", smlua_func_cutscene_object); smlua_bind_function(L, "cutscene_object_with_dialog", smlua_func_cutscene_object_with_dialog); smlua_bind_function(L, "cutscene_object_without_dialog", smlua_func_cutscene_object_without_dialog); smlua_bind_function(L, "cutscene_set_fov_shake_preset", smlua_func_cutscene_set_fov_shake_preset); smlua_bind_function(L, "cutscene_spawn_obj", smlua_func_cutscene_spawn_obj); smlua_bind_function(L, "find_c_buttons_pressed", smlua_func_find_c_buttons_pressed); smlua_bind_function(L, "find_mario_floor_and_ceil", smlua_func_find_mario_floor_and_ceil); //smlua_bind_function(L, "geo_camera_fov", smlua_func_geo_camera_fov); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_camera_main", smlua_func_geo_camera_main); <--- UNIMPLEMENTED smlua_bind_function(L, "get_cutscene_from_mario_status", smlua_func_get_cutscene_from_mario_status); smlua_bind_function(L, "handle_c_button_movement", smlua_func_handle_c_button_movement); smlua_bind_function(L, "is_range_behind_surface", smlua_func_is_range_behind_surface); smlua_bind_function(L, "is_within_100_units_of_mario", smlua_func_is_within_100_units_of_mario); smlua_bind_function(L, "move_mario_head_c_up", smlua_func_move_mario_head_c_up); smlua_bind_function(L, "next_lakitu_state", smlua_func_next_lakitu_state); smlua_bind_function(L, "obj_rotate_towards_point", smlua_func_obj_rotate_towards_point); smlua_bind_function(L, "object_pos_to_vec3f", smlua_func_object_pos_to_vec3f); smlua_bind_function(L, "offset_rotated", smlua_func_offset_rotated); smlua_bind_function(L, "offset_yaw_outward_radial", smlua_func_offset_yaw_outward_radial); smlua_bind_function(L, "play_camera_buzz_if_c_sideways", smlua_func_play_camera_buzz_if_c_sideways); smlua_bind_function(L, "play_camera_buzz_if_cbutton", smlua_func_play_camera_buzz_if_cbutton); smlua_bind_function(L, "play_camera_buzz_if_cdown", smlua_func_play_camera_buzz_if_cdown); smlua_bind_function(L, "play_cutscene", smlua_func_play_cutscene); smlua_bind_function(L, "play_sound_button_change_blocked", smlua_func_play_sound_button_change_blocked); smlua_bind_function(L, "play_sound_cbutton_down", smlua_func_play_sound_cbutton_down); smlua_bind_function(L, "play_sound_cbutton_side", smlua_func_play_sound_cbutton_side); smlua_bind_function(L, "play_sound_cbutton_up", smlua_func_play_sound_cbutton_up); smlua_bind_function(L, "play_sound_if_cam_switched_to_lakitu_or_mario", smlua_func_play_sound_if_cam_switched_to_lakitu_or_mario); smlua_bind_function(L, "play_sound_rbutton_changed", smlua_func_play_sound_rbutton_changed); smlua_bind_function(L, "radial_camera_input", smlua_func_radial_camera_input); smlua_bind_function(L, "random_vec3s", smlua_func_random_vec3s); smlua_bind_function(L, "reset_camera", smlua_func_reset_camera); smlua_bind_function(L, "resolve_geometry_collisions", smlua_func_resolve_geometry_collisions); smlua_bind_function(L, "rom_hack_cam_set_collisions", smlua_func_rom_hack_cam_set_collisions); smlua_bind_function(L, "rotate_camera_around_walls", smlua_func_rotate_camera_around_walls); smlua_bind_function(L, "rotate_in_xz", smlua_func_rotate_in_xz); smlua_bind_function(L, "rotate_in_yz", smlua_func_rotate_in_yz); smlua_bind_function(L, "scale_along_line", smlua_func_scale_along_line); smlua_bind_function(L, "select_mario_cam_mode", smlua_func_select_mario_cam_mode); smlua_bind_function(L, "set_cam_angle", smlua_func_set_cam_angle); smlua_bind_function(L, "set_camera_mode", smlua_func_set_camera_mode); smlua_bind_function(L, "set_camera_mode_fixed", smlua_func_set_camera_mode_fixed); smlua_bind_function(L, "set_camera_pitch_shake", smlua_func_set_camera_pitch_shake); smlua_bind_function(L, "set_camera_roll_shake", smlua_func_set_camera_roll_shake); smlua_bind_function(L, "set_camera_shake_from_hit", smlua_func_set_camera_shake_from_hit); smlua_bind_function(L, "set_camera_shake_from_point", smlua_func_set_camera_shake_from_point); smlua_bind_function(L, "set_camera_yaw_shake", smlua_func_set_camera_yaw_shake); smlua_bind_function(L, "set_environmental_camera_shake", smlua_func_set_environmental_camera_shake); smlua_bind_function(L, "set_fixed_cam_axis_sa_lobby", smlua_func_set_fixed_cam_axis_sa_lobby); smlua_bind_function(L, "set_fov_function", smlua_func_set_fov_function); smlua_bind_function(L, "set_fov_shake", smlua_func_set_fov_shake); smlua_bind_function(L, "set_fov_shake_from_point_preset", smlua_func_set_fov_shake_from_point_preset); smlua_bind_function(L, "set_handheld_shake", smlua_func_set_handheld_shake); smlua_bind_function(L, "set_or_approach_f32_asymptotic", smlua_func_set_or_approach_f32_asymptotic); smlua_bind_function(L, "set_or_approach_s16_symmetric", smlua_func_set_or_approach_s16_symmetric); smlua_bind_function(L, "set_or_approach_vec3f_asymptotic", smlua_func_set_or_approach_vec3f_asymptotic); smlua_bind_function(L, "set_pitch_shake_from_point", smlua_func_set_pitch_shake_from_point); smlua_bind_function(L, "shake_camera_handheld", smlua_func_shake_camera_handheld); smlua_bind_function(L, "shake_camera_pitch", smlua_func_shake_camera_pitch); smlua_bind_function(L, "shake_camera_roll", smlua_func_shake_camera_roll); smlua_bind_function(L, "shake_camera_yaw", smlua_func_shake_camera_yaw); smlua_bind_function(L, "soft_reset_camera", smlua_func_soft_reset_camera); smlua_bind_function(L, "start_cutscene", smlua_func_start_cutscene); smlua_bind_function(L, "start_object_cutscene_without_focus", smlua_func_start_object_cutscene_without_focus); smlua_bind_function(L, "transition_next_state", smlua_func_transition_next_state); smlua_bind_function(L, "trigger_cutscene_dialog", smlua_func_trigger_cutscene_dialog); smlua_bind_function(L, "vec3f_sub", smlua_func_vec3f_sub); smlua_bind_function(L, "vec3f_to_object_pos", smlua_func_vec3f_to_object_pos); smlua_bind_function(L, "warp_camera", smlua_func_warp_camera); // characters.h smlua_bind_function(L, "get_character", smlua_func_get_character); smlua_bind_function(L, "get_character_anim_offset", smlua_func_get_character_anim_offset); smlua_bind_function(L, "play_character_sound", smlua_func_play_character_sound); smlua_bind_function(L, "play_character_sound_if_no_flag", smlua_func_play_character_sound_if_no_flag); smlua_bind_function(L, "play_character_sound_offset", smlua_func_play_character_sound_offset); smlua_bind_function(L, "update_character_anim_offset", smlua_func_update_character_anim_offset); // djui_chat_message.h smlua_bind_function(L, "djui_chat_message_create", smlua_func_djui_chat_message_create); // djui_hud_utils.h smlua_bind_function(L, "djui_hud_get_mouse_x", smlua_func_djui_hud_get_mouse_x); 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_screen_height", smlua_func_djui_hud_get_screen_height); smlua_bind_function(L, "djui_hud_get_screen_width", smlua_func_djui_hud_get_screen_width); smlua_bind_function(L, "djui_hud_is_pause_menu_created", smlua_func_djui_hud_is_pause_menu_created); smlua_bind_function(L, "djui_hud_measure_text", smlua_func_djui_hud_measure_text); smlua_bind_function(L, "djui_hud_print_text", smlua_func_djui_hud_print_text); smlua_bind_function(L, "djui_hud_print_text_interpolated", smlua_func_djui_hud_print_text_interpolated); smlua_bind_function(L, "djui_hud_render_rect", smlua_func_djui_hud_render_rect); smlua_bind_function(L, "djui_hud_render_rect_interpolated", smlua_func_djui_hud_render_rect_interpolated); smlua_bind_function(L, "djui_hud_reset_color", smlua_func_djui_hud_reset_color); smlua_bind_function(L, "djui_hud_set_color", smlua_func_djui_hud_set_color); smlua_bind_function(L, "djui_hud_set_font", smlua_func_djui_hud_set_font); smlua_bind_function(L, "djui_hud_set_mouse_locked", smlua_func_djui_hud_set_mouse_locked); smlua_bind_function(L, "djui_hud_set_render_behind_hud", smlua_func_djui_hud_set_render_behind_hud); 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); // external.h smlua_bind_function(L, "drop_queued_background_music", smlua_func_drop_queued_background_music); smlua_bind_function(L, "fade_volume_scale", smlua_func_fade_volume_scale); smlua_bind_function(L, "fadeout_background_music", smlua_func_fadeout_background_music); smlua_bind_function(L, "get_current_background_music", smlua_func_get_current_background_music); smlua_bind_function(L, "get_current_background_music_default_volume", smlua_func_get_current_background_music_default_volume); smlua_bind_function(L, "get_current_background_music_max_target_volume", smlua_func_get_current_background_music_max_target_volume); smlua_bind_function(L, "get_current_background_music_target_volume", smlua_func_get_current_background_music_target_volume); smlua_bind_function(L, "is_current_background_music_volume_lowered", smlua_func_is_current_background_music_volume_lowered); smlua_bind_function(L, "play_course_clear", smlua_func_play_course_clear); smlua_bind_function(L, "play_dialog_sound", smlua_func_play_dialog_sound); smlua_bind_function(L, "play_music", smlua_func_play_music); smlua_bind_function(L, "play_peachs_jingle", smlua_func_play_peachs_jingle); smlua_bind_function(L, "play_power_star_jingle", smlua_func_play_power_star_jingle); smlua_bind_function(L, "play_puzzle_jingle", smlua_func_play_puzzle_jingle); smlua_bind_function(L, "play_race_fanfare", smlua_func_play_race_fanfare); smlua_bind_function(L, "play_secondary_music", smlua_func_play_secondary_music); smlua_bind_function(L, "play_sound", smlua_func_play_sound); smlua_bind_function(L, "play_sound_with_freq_scale", smlua_func_play_sound_with_freq_scale); smlua_bind_function(L, "play_star_fanfare", smlua_func_play_star_fanfare); smlua_bind_function(L, "play_toads_jingle", smlua_func_play_toads_jingle); smlua_bind_function(L, "seq_player_fade_out", smlua_func_seq_player_fade_out); smlua_bind_function(L, "seq_player_lower_volume", smlua_func_seq_player_lower_volume); smlua_bind_function(L, "seq_player_unlower_volume", smlua_func_seq_player_unlower_volume); smlua_bind_function(L, "set_audio_fadeout", smlua_func_set_audio_fadeout); smlua_bind_function(L, "sound_banks_disable", smlua_func_sound_banks_disable); smlua_bind_function(L, "sound_banks_enable", smlua_func_sound_banks_enable); smlua_bind_function(L, "stop_background_music", smlua_func_stop_background_music); smlua_bind_function(L, "stop_secondary_music", smlua_func_stop_secondary_music); smlua_bind_function(L, "stop_sound", smlua_func_stop_sound); smlua_bind_function(L, "stop_sounds_from_source", smlua_func_stop_sounds_from_source); smlua_bind_function(L, "stop_sounds_in_continuous_banks", smlua_func_stop_sounds_in_continuous_banks); // ingame_menu.h smlua_bind_function(L, "reset_dialog_override_color", smlua_func_reset_dialog_override_color); smlua_bind_function(L, "reset_dialog_override_pos", smlua_func_reset_dialog_override_pos); smlua_bind_function(L, "set_dialog_override_color", smlua_func_set_dialog_override_color); smlua_bind_function(L, "set_dialog_override_pos", smlua_func_set_dialog_override_pos); smlua_bind_function(L, "set_min_dialog_width", smlua_func_set_min_dialog_width); // interaction.h smlua_bind_function(L, "determine_interaction", smlua_func_determine_interaction); smlua_bind_function(L, "does_mario_have_normal_cap_on_head", smlua_func_does_mario_have_normal_cap_on_head); smlua_bind_function(L, "get_door_save_file_flag", smlua_func_get_door_save_file_flag); smlua_bind_function(L, "interact_damage", smlua_func_interact_damage); smlua_bind_function(L, "mario_blow_off_cap", smlua_func_mario_blow_off_cap); smlua_bind_function(L, "mario_check_object_grab", smlua_func_mario_check_object_grab); smlua_bind_function(L, "mario_drop_held_object", smlua_func_mario_drop_held_object); smlua_bind_function(L, "mario_get_collided_object", smlua_func_mario_get_collided_object); smlua_bind_function(L, "mario_grab_used_object", smlua_func_mario_grab_used_object); smlua_bind_function(L, "mario_lose_cap_to_enemy", smlua_func_mario_lose_cap_to_enemy); smlua_bind_function(L, "mario_obj_angle_to_object", smlua_func_mario_obj_angle_to_object); smlua_bind_function(L, "mario_retrieve_cap", smlua_func_mario_retrieve_cap); smlua_bind_function(L, "mario_stop_riding_and_holding", smlua_func_mario_stop_riding_and_holding); smlua_bind_function(L, "mario_stop_riding_object", smlua_func_mario_stop_riding_object); smlua_bind_function(L, "mario_throw_held_object", smlua_func_mario_throw_held_object); smlua_bind_function(L, "passes_pvp_interaction_checks", smlua_func_passes_pvp_interaction_checks); smlua_bind_function(L, "take_damage_and_knock_back", smlua_func_take_damage_and_knock_back); // lag_compensation.h smlua_bind_function(L, "lag_compensation_get_local_state", smlua_func_lag_compensation_get_local_state); // level_info.h smlua_bind_function(L, "get_level_name", smlua_func_get_level_name); smlua_bind_function(L, "get_level_name_ascii", smlua_func_get_level_name_ascii); smlua_bind_function(L, "get_level_name_sm64", smlua_func_get_level_name_sm64); smlua_bind_function(L, "get_star_name", smlua_func_get_star_name); smlua_bind_function(L, "get_star_name_ascii", smlua_func_get_star_name_ascii); smlua_bind_function(L, "get_star_name_sm64", smlua_func_get_star_name_sm64); // level_script.h smlua_bind_function(L, "area_create_warp_node", smlua_func_area_create_warp_node); // level_update.h smlua_bind_function(L, "get_painting_warp_node", smlua_func_get_painting_warp_node); smlua_bind_function(L, "initiate_painting_warp", smlua_func_initiate_painting_warp); smlua_bind_function(L, "level_trigger_warp", smlua_func_level_trigger_warp); // mario.h smlua_bind_function(L, "adjust_sound_for_speed", smlua_func_adjust_sound_for_speed); smlua_bind_function(L, "check_common_action_exits", smlua_func_check_common_action_exits); smlua_bind_function(L, "check_common_hold_action_exits", smlua_func_check_common_hold_action_exits); smlua_bind_function(L, "drop_and_set_mario_action", smlua_func_drop_and_set_mario_action); smlua_bind_function(L, "execute_mario_action", smlua_func_execute_mario_action); smlua_bind_function(L, "find_floor_height_relative_polar", smlua_func_find_floor_height_relative_polar); smlua_bind_function(L, "find_floor_slope", smlua_func_find_floor_slope); smlua_bind_function(L, "find_mario_anim_flags_and_translation", smlua_func_find_mario_anim_flags_and_translation); smlua_bind_function(L, "force_idle_state", smlua_func_force_idle_state); smlua_bind_function(L, "hurt_and_set_mario_action", smlua_func_hurt_and_set_mario_action); smlua_bind_function(L, "init_single_mario", smlua_func_init_single_mario); smlua_bind_function(L, "is_anim_at_end", smlua_func_is_anim_at_end); smlua_bind_function(L, "is_anim_past_end", smlua_func_is_anim_past_end); smlua_bind_function(L, "is_anim_past_frame", smlua_func_is_anim_past_frame); smlua_bind_function(L, "mario_can_bubble", smlua_func_mario_can_bubble); smlua_bind_function(L, "mario_facing_downhill", smlua_func_mario_facing_downhill); smlua_bind_function(L, "mario_floor_is_slippery", smlua_func_mario_floor_is_slippery); smlua_bind_function(L, "mario_floor_is_slope", smlua_func_mario_floor_is_slope); smlua_bind_function(L, "mario_floor_is_steep", smlua_func_mario_floor_is_steep); smlua_bind_function(L, "mario_get_floor_class", smlua_func_mario_get_floor_class); smlua_bind_function(L, "mario_get_terrain_sound_addend", smlua_func_mario_get_terrain_sound_addend); smlua_bind_function(L, "mario_set_bubbled", smlua_func_mario_set_bubbled); smlua_bind_function(L, "mario_set_forward_vel", smlua_func_mario_set_forward_vel); smlua_bind_function(L, "mario_update_wall", smlua_func_mario_update_wall); smlua_bind_function(L, "play_mario_action_sound", smlua_func_play_mario_action_sound); smlua_bind_function(L, "play_mario_heavy_landing_sound", smlua_func_play_mario_heavy_landing_sound); smlua_bind_function(L, "play_mario_heavy_landing_sound_once", smlua_func_play_mario_heavy_landing_sound_once); smlua_bind_function(L, "play_mario_jump_sound", smlua_func_play_mario_jump_sound); smlua_bind_function(L, "play_mario_landing_sound", smlua_func_play_mario_landing_sound); smlua_bind_function(L, "play_mario_landing_sound_once", smlua_func_play_mario_landing_sound_once); smlua_bind_function(L, "play_mario_sound", smlua_func_play_mario_sound); smlua_bind_function(L, "play_sound_and_spawn_particles", smlua_func_play_sound_and_spawn_particles); smlua_bind_function(L, "play_sound_if_no_flag", smlua_func_play_sound_if_no_flag); smlua_bind_function(L, "resolve_and_return_wall_collisions", smlua_func_resolve_and_return_wall_collisions); smlua_bind_function(L, "resolve_and_return_wall_collisions_data", smlua_func_resolve_and_return_wall_collisions_data); smlua_bind_function(L, "return_mario_anim_y_translation", smlua_func_return_mario_anim_y_translation); smlua_bind_function(L, "set_anim_to_frame", smlua_func_set_anim_to_frame); smlua_bind_function(L, "set_jump_from_landing", smlua_func_set_jump_from_landing); smlua_bind_function(L, "set_jumping_action", smlua_func_set_jumping_action); smlua_bind_function(L, "set_mario_action", smlua_func_set_mario_action); smlua_bind_function(L, "set_mario_anim_with_accel", smlua_func_set_mario_anim_with_accel); smlua_bind_function(L, "set_mario_animation", smlua_func_set_mario_animation); smlua_bind_function(L, "set_mario_particle_flags", smlua_func_set_mario_particle_flags); smlua_bind_function(L, "set_mario_y_vel_based_on_fspeed", smlua_func_set_mario_y_vel_based_on_fspeed); smlua_bind_function(L, "set_steep_jump_action", smlua_func_set_steep_jump_action); smlua_bind_function(L, "set_water_plunge_action", smlua_func_set_water_plunge_action); smlua_bind_function(L, "transition_submerged_to_walking", smlua_func_transition_submerged_to_walking); smlua_bind_function(L, "update_mario_pos_for_anim", smlua_func_update_mario_pos_for_anim); smlua_bind_function(L, "update_mario_sound_and_camera", smlua_func_update_mario_sound_and_camera); //smlua_bind_function(L, "vec3f_find_ceil", smlua_func_vec3f_find_ceil); <--- UNIMPLEMENTED //smlua_bind_function(L, "vec3f_mario_ceil", smlua_func_vec3f_mario_ceil); <--- UNIMPLEMENTED // mario_actions_airborne.c smlua_bind_function(L, "check_common_airborne_cancels", smlua_func_check_common_airborne_cancels); smlua_bind_function(L, "check_fall_damage", smlua_func_check_fall_damage); smlua_bind_function(L, "check_fall_damage_or_get_stuck", smlua_func_check_fall_damage_or_get_stuck); smlua_bind_function(L, "check_horizontal_wind", smlua_func_check_horizontal_wind); smlua_bind_function(L, "check_kick_or_dive_in_air", smlua_func_check_kick_or_dive_in_air); smlua_bind_function(L, "check_wall_kick", smlua_func_check_wall_kick); smlua_bind_function(L, "common_air_action_step", smlua_func_common_air_action_step); smlua_bind_function(L, "common_air_knockback_step", smlua_func_common_air_knockback_step); smlua_bind_function(L, "lava_boost_on_wall", smlua_func_lava_boost_on_wall); smlua_bind_function(L, "mario_execute_airborne_action", smlua_func_mario_execute_airborne_action); smlua_bind_function(L, "play_far_fall_sound", smlua_func_play_far_fall_sound); smlua_bind_function(L, "play_flip_sounds", smlua_func_play_flip_sounds); #ifndef VERSION_JP smlua_bind_function(L, "play_knockback_sound", smlua_func_play_knockback_sound); #endif smlua_bind_function(L, "should_get_stuck_in_ground", smlua_func_should_get_stuck_in_ground); smlua_bind_function(L, "update_air_with_turn", smlua_func_update_air_with_turn); smlua_bind_function(L, "update_air_without_turn", smlua_func_update_air_without_turn); smlua_bind_function(L, "update_flying", smlua_func_update_flying); smlua_bind_function(L, "update_flying_pitch", smlua_func_update_flying_pitch); smlua_bind_function(L, "update_flying_yaw", smlua_func_update_flying_yaw); smlua_bind_function(L, "update_lava_boost_or_twirling", smlua_func_update_lava_boost_or_twirling); // mario_actions_automatic.c smlua_bind_function(L, "add_tree_leaf_particles", smlua_func_add_tree_leaf_particles); smlua_bind_function(L, "check_common_automatic_cancels", smlua_func_check_common_automatic_cancels); smlua_bind_function(L, "climb_up_ledge", smlua_func_climb_up_ledge); smlua_bind_function(L, "let_go_of_ledge", smlua_func_let_go_of_ledge); smlua_bind_function(L, "mario_execute_automatic_action", smlua_func_mario_execute_automatic_action); smlua_bind_function(L, "perform_hanging_step", smlua_func_perform_hanging_step); smlua_bind_function(L, "play_climbing_sounds", smlua_func_play_climbing_sounds); smlua_bind_function(L, "set_pole_position", smlua_func_set_pole_position); smlua_bind_function(L, "update_hang_moving", smlua_func_update_hang_moving); smlua_bind_function(L, "update_hang_stationary", smlua_func_update_hang_stationary); smlua_bind_function(L, "update_ledge_climb", smlua_func_update_ledge_climb); smlua_bind_function(L, "update_ledge_climb_camera", smlua_func_update_ledge_climb_camera); // mario_actions_cutscene.c smlua_bind_function(L, "bhv_end_peach_loop", smlua_func_bhv_end_peach_loop); smlua_bind_function(L, "bhv_end_toad_loop", smlua_func_bhv_end_toad_loop); smlua_bind_function(L, "common_death_handler", smlua_func_common_death_handler); smlua_bind_function(L, "cutscene_put_cap_on", smlua_func_cutscene_put_cap_on); smlua_bind_function(L, "cutscene_take_cap_off", smlua_func_cutscene_take_cap_off); smlua_bind_function(L, "general_star_dance_handler", smlua_func_general_star_dance_handler); smlua_bind_function(L, "generate_yellow_sparkles", smlua_func_generate_yellow_sparkles); smlua_bind_function(L, "get_credits_str_width", smlua_func_get_credits_str_width); smlua_bind_function(L, "get_star_collection_dialog", smlua_func_get_star_collection_dialog); smlua_bind_function(L, "handle_save_menu", smlua_func_handle_save_menu); smlua_bind_function(L, "launch_mario_until_land", smlua_func_launch_mario_until_land); smlua_bind_function(L, "mario_execute_cutscene_action", smlua_func_mario_execute_cutscene_action); smlua_bind_function(L, "mario_ready_to_speak", smlua_func_mario_ready_to_speak); smlua_bind_function(L, "print_displaying_credits_entry", smlua_func_print_displaying_credits_entry); smlua_bind_function(L, "should_start_or_continue_dialog", smlua_func_should_start_or_continue_dialog); smlua_bind_function(L, "stuck_in_ground_handler", smlua_func_stuck_in_ground_handler); // mario_actions_moving.c smlua_bind_function(L, "align_with_floor", smlua_func_align_with_floor); smlua_bind_function(L, "analog_stick_held_back", smlua_func_analog_stick_held_back); smlua_bind_function(L, "anim_and_audio_for_heavy_walk", smlua_func_anim_and_audio_for_heavy_walk); smlua_bind_function(L, "anim_and_audio_for_hold_walk", smlua_func_anim_and_audio_for_hold_walk); smlua_bind_function(L, "anim_and_audio_for_walk", smlua_func_anim_and_audio_for_walk); smlua_bind_function(L, "apply_landing_accel", smlua_func_apply_landing_accel); smlua_bind_function(L, "apply_slope_accel", smlua_func_apply_slope_accel); smlua_bind_function(L, "apply_slope_decel", smlua_func_apply_slope_decel); smlua_bind_function(L, "begin_braking_action", smlua_func_begin_braking_action); smlua_bind_function(L, "begin_walking_action", smlua_func_begin_walking_action); smlua_bind_function(L, "check_common_moving_cancels", smlua_func_check_common_moving_cancels); smlua_bind_function(L, "check_ground_dive_or_punch", smlua_func_check_ground_dive_or_punch); smlua_bind_function(L, "check_ledge_climb_down", smlua_func_check_ledge_climb_down); smlua_bind_function(L, "common_ground_knockback_action", smlua_func_common_ground_knockback_action); smlua_bind_function(L, "common_landing_action", smlua_func_common_landing_action); //smlua_bind_function(L, "common_landing_cancels", smlua_func_common_landing_cancels); <--- UNIMPLEMENTED smlua_bind_function(L, "common_slide_action", smlua_func_common_slide_action); smlua_bind_function(L, "common_slide_action_with_jump", smlua_func_common_slide_action_with_jump); smlua_bind_function(L, "mario_execute_moving_action", smlua_func_mario_execute_moving_action); smlua_bind_function(L, "play_step_sound", smlua_func_play_step_sound); smlua_bind_function(L, "push_or_sidle_wall", smlua_func_push_or_sidle_wall); smlua_bind_function(L, "quicksand_jump_land_action", smlua_func_quicksand_jump_land_action); smlua_bind_function(L, "set_triple_jump_action", smlua_func_set_triple_jump_action); smlua_bind_function(L, "should_begin_sliding", smlua_func_should_begin_sliding); smlua_bind_function(L, "slide_bonk", smlua_func_slide_bonk); smlua_bind_function(L, "stomach_slide_action", smlua_func_stomach_slide_action); smlua_bind_function(L, "tilt_body_butt_slide", smlua_func_tilt_body_butt_slide); smlua_bind_function(L, "tilt_body_ground_shell", smlua_func_tilt_body_ground_shell); smlua_bind_function(L, "tilt_body_running", smlua_func_tilt_body_running); smlua_bind_function(L, "tilt_body_walking", smlua_func_tilt_body_walking); smlua_bind_function(L, "update_decelerating_speed", smlua_func_update_decelerating_speed); smlua_bind_function(L, "update_shell_speed", smlua_func_update_shell_speed); smlua_bind_function(L, "update_sliding", smlua_func_update_sliding); smlua_bind_function(L, "update_sliding_angle", smlua_func_update_sliding_angle); smlua_bind_function(L, "update_walking_speed", smlua_func_update_walking_speed); // mario_actions_object.c smlua_bind_function(L, "animated_stationary_ground_step", smlua_func_animated_stationary_ground_step); smlua_bind_function(L, "check_common_object_cancels", smlua_func_check_common_object_cancels); smlua_bind_function(L, "mario_execute_object_action", smlua_func_mario_execute_object_action); smlua_bind_function(L, "mario_update_punch_sequence", smlua_func_mario_update_punch_sequence); // mario_actions_stationary.c smlua_bind_function(L, "check_common_hold_idle_cancels", smlua_func_check_common_hold_idle_cancels); smlua_bind_function(L, "check_common_idle_cancels", smlua_func_check_common_idle_cancels); smlua_bind_function(L, "check_common_landing_cancels", smlua_func_check_common_landing_cancels); smlua_bind_function(L, "check_common_stationary_cancels", smlua_func_check_common_stationary_cancels); smlua_bind_function(L, "landing_step", smlua_func_landing_step); smlua_bind_function(L, "mario_execute_stationary_action", smlua_func_mario_execute_stationary_action); smlua_bind_function(L, "play_anim_sound", smlua_func_play_anim_sound); smlua_bind_function(L, "stopping_step", smlua_func_stopping_step); // mario_actions_submerged.c smlua_bind_function(L, "apply_water_current", smlua_func_apply_water_current); smlua_bind_function(L, "float_surface_gfx", smlua_func_float_surface_gfx); smlua_bind_function(L, "mario_execute_submerged_action", smlua_func_mario_execute_submerged_action); smlua_bind_function(L, "perform_water_full_step", smlua_func_perform_water_full_step); smlua_bind_function(L, "perform_water_step", smlua_func_perform_water_step); smlua_bind_function(L, "set_swimming_at_surface_particles", smlua_func_set_swimming_at_surface_particles); // mario_misc.h smlua_bind_function(L, "bhv_toad_message_init", smlua_func_bhv_toad_message_init); smlua_bind_function(L, "bhv_toad_message_loop", smlua_func_bhv_toad_message_loop); smlua_bind_function(L, "bhv_unlock_door_star_init", smlua_func_bhv_unlock_door_star_init); smlua_bind_function(L, "bhv_unlock_door_star_loop", smlua_func_bhv_unlock_door_star_loop); // mario_step.h smlua_bind_function(L, "get_additive_y_vel_for_jumps", smlua_func_get_additive_y_vel_for_jumps); smlua_bind_function(L, "init_bully_collision_data", smlua_func_init_bully_collision_data); smlua_bind_function(L, "mario_bonk_reflection", smlua_func_mario_bonk_reflection); smlua_bind_function(L, "mario_push_off_steep_floor", smlua_func_mario_push_off_steep_floor); smlua_bind_function(L, "mario_update_moving_sand", smlua_func_mario_update_moving_sand); smlua_bind_function(L, "mario_update_quicksand", smlua_func_mario_update_quicksand); smlua_bind_function(L, "mario_update_windy_ground", smlua_func_mario_update_windy_ground); smlua_bind_function(L, "perform_air_step", smlua_func_perform_air_step); smlua_bind_function(L, "perform_ground_step", smlua_func_perform_ground_step); smlua_bind_function(L, "set_vel_from_pitch_and_yaw", smlua_func_set_vel_from_pitch_and_yaw); smlua_bind_function(L, "stationary_ground_step", smlua_func_stationary_ground_step); smlua_bind_function(L, "stop_and_set_height_to_floor", smlua_func_stop_and_set_height_to_floor); // math_util.h smlua_bind_function(L, "anim_spline_init", smlua_func_anim_spline_init); smlua_bind_function(L, "anim_spline_poll", smlua_func_anim_spline_poll); smlua_bind_function(L, "approach_f32", smlua_func_approach_f32); smlua_bind_function(L, "approach_s32", smlua_func_approach_s32); smlua_bind_function(L, "find_vector_perpendicular_to_plane", smlua_func_find_vector_perpendicular_to_plane); smlua_bind_function(L, "get_pos_from_transform_mtx", smlua_func_get_pos_from_transform_mtx); smlua_bind_function(L, "mtxf_align_terrain_normal", smlua_func_mtxf_align_terrain_normal); smlua_bind_function(L, "mtxf_align_terrain_triangle", smlua_func_mtxf_align_terrain_triangle); smlua_bind_function(L, "mtxf_billboard", smlua_func_mtxf_billboard); smlua_bind_function(L, "mtxf_copy", smlua_func_mtxf_copy); smlua_bind_function(L, "mtxf_cylboard", smlua_func_mtxf_cylboard); smlua_bind_function(L, "mtxf_identity", smlua_func_mtxf_identity); smlua_bind_function(L, "mtxf_inverse", smlua_func_mtxf_inverse); smlua_bind_function(L, "mtxf_lookat", smlua_func_mtxf_lookat); smlua_bind_function(L, "mtxf_mul", smlua_func_mtxf_mul); smlua_bind_function(L, "mtxf_mul_vec3s", smlua_func_mtxf_mul_vec3s); smlua_bind_function(L, "mtxf_rotate_xy", smlua_func_mtxf_rotate_xy); smlua_bind_function(L, "mtxf_rotate_xyz_and_translate", smlua_func_mtxf_rotate_xyz_and_translate); smlua_bind_function(L, "mtxf_rotate_zxy_and_translate", smlua_func_mtxf_rotate_zxy_and_translate); smlua_bind_function(L, "mtxf_scale_vec3f", smlua_func_mtxf_scale_vec3f); smlua_bind_function(L, "mtxf_to_mtx", smlua_func_mtxf_to_mtx); smlua_bind_function(L, "mtxf_translate", smlua_func_mtxf_translate); smlua_bind_function(L, "not_zero", smlua_func_not_zero); smlua_bind_function(L, "spline_get_weights", smlua_func_spline_get_weights); smlua_bind_function(L, "vec3f_add", smlua_func_vec3f_add); smlua_bind_function(L, "vec3f_combine", smlua_func_vec3f_combine); smlua_bind_function(L, "vec3f_copy", smlua_func_vec3f_copy); smlua_bind_function(L, "vec3f_cross", smlua_func_vec3f_cross); smlua_bind_function(L, "vec3f_dif", smlua_func_vec3f_dif); smlua_bind_function(L, "vec3f_dist", smlua_func_vec3f_dist); smlua_bind_function(L, "vec3f_dot", smlua_func_vec3f_dot); smlua_bind_function(L, "vec3f_get_dist_and_angle", smlua_func_vec3f_get_dist_and_angle); smlua_bind_function(L, "vec3f_length", smlua_func_vec3f_length); smlua_bind_function(L, "vec3f_mul", smlua_func_vec3f_mul); smlua_bind_function(L, "vec3f_normalize", smlua_func_vec3f_normalize); smlua_bind_function(L, "vec3f_project", smlua_func_vec3f_project); smlua_bind_function(L, "vec3f_rotate_zxy", smlua_func_vec3f_rotate_zxy); smlua_bind_function(L, "vec3f_set", smlua_func_vec3f_set); smlua_bind_function(L, "vec3f_set_dist_and_angle", smlua_func_vec3f_set_dist_and_angle); smlua_bind_function(L, "vec3f_sum", smlua_func_vec3f_sum); smlua_bind_function(L, "vec3f_to_vec3s", smlua_func_vec3f_to_vec3s); smlua_bind_function(L, "vec3s_add", smlua_func_vec3s_add); smlua_bind_function(L, "vec3s_copy", smlua_func_vec3s_copy); smlua_bind_function(L, "vec3s_set", smlua_func_vec3s_set); smlua_bind_function(L, "vec3s_sum", smlua_func_vec3s_sum); smlua_bind_function(L, "vec3s_to_vec3f", smlua_func_vec3s_to_vec3f); // misc.h smlua_bind_function(L, "update_all_mario_stars", smlua_func_update_all_mario_stars); // mod_storage.c.h smlua_bind_function(L, "mod_storage_clear", smlua_func_mod_storage_clear); smlua_bind_function(L, "mod_storage_load", smlua_func_mod_storage_load); smlua_bind_function(L, "mod_storage_load_bool", smlua_func_mod_storage_load_bool); smlua_bind_function(L, "mod_storage_load_number", smlua_func_mod_storage_load_number); smlua_bind_function(L, "mod_storage_save", smlua_func_mod_storage_save); smlua_bind_function(L, "mod_storage_save_bool", smlua_func_mod_storage_save_bool); smlua_bind_function(L, "mod_storage_save_number", smlua_func_mod_storage_save_number); // network_player.h smlua_bind_function(L, "get_network_player_from_area", smlua_func_get_network_player_from_area); smlua_bind_function(L, "get_network_player_from_level", smlua_func_get_network_player_from_level); smlua_bind_function(L, "get_network_player_smallest_global", smlua_func_get_network_player_smallest_global); smlua_bind_function(L, "network_player_color_to_palette", smlua_func_network_player_color_to_palette); smlua_bind_function(L, "network_player_connected_count", smlua_func_network_player_connected_count); smlua_bind_function(L, "network_player_from_global_index", smlua_func_network_player_from_global_index); smlua_bind_function(L, "network_player_palette_to_color", smlua_func_network_player_palette_to_color); smlua_bind_function(L, "network_player_set_description", smlua_func_network_player_set_description); // network_utils.h smlua_bind_function(L, "network_get_player_text_color_string", smlua_func_network_get_player_text_color_string); smlua_bind_function(L, "network_global_index_from_local", smlua_func_network_global_index_from_local); smlua_bind_function(L, "network_is_moderator", smlua_func_network_is_moderator); smlua_bind_function(L, "network_is_server", smlua_func_network_is_server); smlua_bind_function(L, "network_local_index_from_global", smlua_func_network_local_index_from_global); // obj_behaviors.c smlua_bind_function(L, "absf_2", smlua_func_absf_2); smlua_bind_function(L, "calc_new_obj_vel_and_pos_y", smlua_func_calc_new_obj_vel_and_pos_y); smlua_bind_function(L, "calc_new_obj_vel_and_pos_y_underwater", smlua_func_calc_new_obj_vel_and_pos_y_underwater); smlua_bind_function(L, "calc_obj_friction", smlua_func_calc_obj_friction); smlua_bind_function(L, "current_mario_room_check", smlua_func_current_mario_room_check); //smlua_bind_function(L, "geo_obj_transparency_something", smlua_func_geo_obj_transparency_something); <--- UNIMPLEMENTED smlua_bind_function(L, "is_nearest_mario_state_to_object", smlua_func_is_nearest_mario_state_to_object); smlua_bind_function(L, "is_nearest_player_to_object", smlua_func_is_nearest_player_to_object); smlua_bind_function(L, "is_other_player_active", smlua_func_is_other_player_active); smlua_bind_function(L, "is_player_active", smlua_func_is_player_active); smlua_bind_function(L, "is_player_in_local_area", smlua_func_is_player_in_local_area); smlua_bind_function(L, "is_point_close_to_object", smlua_func_is_point_close_to_object); smlua_bind_function(L, "is_point_within_radius_of_any_player", smlua_func_is_point_within_radius_of_any_player); smlua_bind_function(L, "is_point_within_radius_of_mario", smlua_func_is_point_within_radius_of_mario); smlua_bind_function(L, "nearest_interacting_mario_state_to_object", smlua_func_nearest_interacting_mario_state_to_object); smlua_bind_function(L, "nearest_interacting_player_to_object", smlua_func_nearest_interacting_player_to_object); smlua_bind_function(L, "nearest_mario_state_to_object", smlua_func_nearest_mario_state_to_object); smlua_bind_function(L, "nearest_player_to_object", smlua_func_nearest_player_to_object); smlua_bind_function(L, "nearest_possible_mario_state_to_object", smlua_func_nearest_possible_mario_state_to_object); smlua_bind_function(L, "obj_check_floor_death", smlua_func_obj_check_floor_death); smlua_bind_function(L, "obj_check_if_facing_toward_angle", smlua_func_obj_check_if_facing_toward_angle); smlua_bind_function(L, "obj_find_wall", smlua_func_obj_find_wall); smlua_bind_function(L, "obj_find_wall_displacement", smlua_func_obj_find_wall_displacement); smlua_bind_function(L, "obj_flicker_and_disappear", smlua_func_obj_flicker_and_disappear); smlua_bind_function(L, "obj_lava_death", smlua_func_obj_lava_death); smlua_bind_function(L, "obj_move_xyz_using_fvel_and_yaw", smlua_func_obj_move_xyz_using_fvel_and_yaw); smlua_bind_function(L, "obj_orient_graph", smlua_func_obj_orient_graph); smlua_bind_function(L, "obj_return_and_displace_home", smlua_func_obj_return_and_displace_home); smlua_bind_function(L, "obj_return_home_if_safe", smlua_func_obj_return_home_if_safe); smlua_bind_function(L, "obj_spawn_yellow_coins", smlua_func_obj_spawn_yellow_coins); smlua_bind_function(L, "obj_splash", smlua_func_obj_splash); smlua_bind_function(L, "obj_update_pos_vel_xz", smlua_func_obj_update_pos_vel_xz); smlua_bind_function(L, "object_step", smlua_func_object_step); smlua_bind_function(L, "object_step_without_floor_orient", smlua_func_object_step_without_floor_orient); smlua_bind_function(L, "set_object_visibility", smlua_func_set_object_visibility); smlua_bind_function(L, "set_yoshi_as_not_dead", smlua_func_set_yoshi_as_not_dead); smlua_bind_function(L, "spawn_orange_number", smlua_func_spawn_orange_number); smlua_bind_function(L, "turn_obj_away_from_steep_floor", smlua_func_turn_obj_away_from_steep_floor); smlua_bind_function(L, "turn_obj_away_from_surface", smlua_func_turn_obj_away_from_surface); // obj_behaviors_2.c smlua_bind_function(L, "approach_f32_ptr", smlua_func_approach_f32_ptr); smlua_bind_function(L, "cur_obj_init_anim_and_check_if_end", smlua_func_cur_obj_init_anim_and_check_if_end); smlua_bind_function(L, "cur_obj_init_anim_check_frame", smlua_func_cur_obj_init_anim_check_frame); smlua_bind_function(L, "cur_obj_init_anim_extend", smlua_func_cur_obj_init_anim_extend); smlua_bind_function(L, "cur_obj_play_sound_at_anim_range", smlua_func_cur_obj_play_sound_at_anim_range); smlua_bind_function(L, "cur_obj_set_anim_if_at_end", smlua_func_cur_obj_set_anim_if_at_end); smlua_bind_function(L, "cur_obj_spin_all_dimensions", smlua_func_cur_obj_spin_all_dimensions); smlua_bind_function(L, "obj_act_knockback", smlua_func_obj_act_knockback); smlua_bind_function(L, "obj_act_squished", smlua_func_obj_act_squished); smlua_bind_function(L, "obj_bounce_off_walls_edges_objects", smlua_func_obj_bounce_off_walls_edges_objects); smlua_bind_function(L, "obj_check_attacks", smlua_func_obj_check_attacks); smlua_bind_function(L, "obj_compute_vel_from_move_pitch", smlua_func_obj_compute_vel_from_move_pitch); smlua_bind_function(L, "obj_die_if_above_lava_and_health_non_positive", smlua_func_obj_die_if_above_lava_and_health_non_positive); smlua_bind_function(L, "obj_die_if_health_non_positive", smlua_func_obj_die_if_health_non_positive); smlua_bind_function(L, "obj_face_pitch_approach", smlua_func_obj_face_pitch_approach); smlua_bind_function(L, "obj_face_roll_approach", smlua_func_obj_face_roll_approach); smlua_bind_function(L, "obj_face_yaw_approach", smlua_func_obj_face_yaw_approach); smlua_bind_function(L, "obj_forward_vel_approach", smlua_func_obj_forward_vel_approach); smlua_bind_function(L, "obj_get_pitch_from_vel", smlua_func_obj_get_pitch_from_vel); smlua_bind_function(L, "obj_get_pitch_to_home", smlua_func_obj_get_pitch_to_home); smlua_bind_function(L, "obj_grow_then_shrink", smlua_func_obj_grow_then_shrink); smlua_bind_function(L, "obj_handle_attacks", smlua_func_obj_handle_attacks); smlua_bind_function(L, "obj_is_near_to_and_facing_mario", smlua_func_obj_is_near_to_and_facing_mario); smlua_bind_function(L, "obj_is_rendering_enabled", smlua_func_obj_is_rendering_enabled); smlua_bind_function(L, "obj_move_for_one_second", smlua_func_obj_move_for_one_second); smlua_bind_function(L, "obj_move_pitch_approach", smlua_func_obj_move_pitch_approach); smlua_bind_function(L, "obj_random_fixed_turn", smlua_func_obj_random_fixed_turn); smlua_bind_function(L, "obj_resolve_collisions_and_turn", smlua_func_obj_resolve_collisions_and_turn); smlua_bind_function(L, "obj_resolve_object_collisions", smlua_func_obj_resolve_object_collisions); smlua_bind_function(L, "obj_roll_to_match_yaw_turn", smlua_func_obj_roll_to_match_yaw_turn); smlua_bind_function(L, "obj_rotate_yaw_and_bounce_off_walls", smlua_func_obj_rotate_yaw_and_bounce_off_walls); smlua_bind_function(L, "obj_set_dist_from_home", smlua_func_obj_set_dist_from_home); smlua_bind_function(L, "obj_set_knockback_action", smlua_func_obj_set_knockback_action); smlua_bind_function(L, "obj_set_squished_action", smlua_func_obj_set_squished_action); smlua_bind_function(L, "obj_smooth_turn", smlua_func_obj_smooth_turn); smlua_bind_function(L, "obj_spit_fire", smlua_func_obj_spit_fire); smlua_bind_function(L, "obj_turn_pitch_toward_mario", smlua_func_obj_turn_pitch_toward_mario); smlua_bind_function(L, "obj_unused_die", smlua_func_obj_unused_die); smlua_bind_function(L, "obj_update_blinking", smlua_func_obj_update_blinking); smlua_bind_function(L, "obj_update_standard_actions", smlua_func_obj_update_standard_actions); smlua_bind_function(L, "obj_y_vel_approach", smlua_func_obj_y_vel_approach); smlua_bind_function(L, "oscillate_toward", smlua_func_oscillate_toward); smlua_bind_function(L, "platform_on_track_update_pos_or_spawn_ball", smlua_func_platform_on_track_update_pos_or_spawn_ball); smlua_bind_function(L, "random_linear_offset", smlua_func_random_linear_offset); smlua_bind_function(L, "random_mod_offset", smlua_func_random_mod_offset); smlua_bind_function(L, "treat_far_home_as_mario", smlua_func_treat_far_home_as_mario); // object_helpers.c smlua_bind_function(L, "abs_angle_diff", smlua_func_abs_angle_diff); smlua_bind_function(L, "apply_drag_to_value", smlua_func_apply_drag_to_value); smlua_bind_function(L, "approach_f32_signed", smlua_func_approach_f32_signed); smlua_bind_function(L, "approach_f32_symmetric", smlua_func_approach_f32_symmetric); smlua_bind_function(L, "approach_s16_symmetric", smlua_func_approach_s16_symmetric); smlua_bind_function(L, "bhv_dust_smoke_loop", smlua_func_bhv_dust_smoke_loop); smlua_bind_function(L, "bhv_init_room", smlua_func_bhv_init_room); smlua_bind_function(L, "bit_shift_left", smlua_func_bit_shift_left); smlua_bind_function(L, "chain_segment_init", smlua_func_chain_segment_init); smlua_bind_function(L, "clear_move_flag", smlua_func_clear_move_flag); smlua_bind_function(L, "clear_time_stop_flags", smlua_func_clear_time_stop_flags); smlua_bind_function(L, "count_objects_with_behavior", smlua_func_count_objects_with_behavior); smlua_bind_function(L, "count_unimportant_objects", smlua_func_count_unimportant_objects); smlua_bind_function(L, "create_transformation_from_matrices", smlua_func_create_transformation_from_matrices); smlua_bind_function(L, "cur_obj_abs_y_dist_to_home", smlua_func_cur_obj_abs_y_dist_to_home); smlua_bind_function(L, "cur_obj_advance_looping_anim", smlua_func_cur_obj_advance_looping_anim); smlua_bind_function(L, "cur_obj_align_gfx_with_floor", smlua_func_cur_obj_align_gfx_with_floor); smlua_bind_function(L, "cur_obj_angle_to_home", smlua_func_cur_obj_angle_to_home); smlua_bind_function(L, "cur_obj_apply_drag_xz", smlua_func_cur_obj_apply_drag_xz); smlua_bind_function(L, "cur_obj_become_intangible", smlua_func_cur_obj_become_intangible); smlua_bind_function(L, "cur_obj_become_tangible", smlua_func_cur_obj_become_tangible); smlua_bind_function(L, "cur_obj_can_mario_activate_textbox", smlua_func_cur_obj_can_mario_activate_textbox); smlua_bind_function(L, "cur_obj_can_mario_activate_textbox_2", smlua_func_cur_obj_can_mario_activate_textbox_2); smlua_bind_function(L, "cur_obj_change_action", smlua_func_cur_obj_change_action); smlua_bind_function(L, "cur_obj_check_anim_frame", smlua_func_cur_obj_check_anim_frame); smlua_bind_function(L, "cur_obj_check_anim_frame_in_range", smlua_func_cur_obj_check_anim_frame_in_range); smlua_bind_function(L, "cur_obj_check_frame_prior_current_frame", smlua_func_cur_obj_check_frame_prior_current_frame); smlua_bind_function(L, "cur_obj_check_grabbed_mario", smlua_func_cur_obj_check_grabbed_mario); smlua_bind_function(L, "cur_obj_check_if_at_animation_end", smlua_func_cur_obj_check_if_at_animation_end); smlua_bind_function(L, "cur_obj_check_if_near_animation_end", smlua_func_cur_obj_check_if_near_animation_end); smlua_bind_function(L, "cur_obj_check_interacted", smlua_func_cur_obj_check_interacted); smlua_bind_function(L, "cur_obj_clear_interact_status_flag", smlua_func_cur_obj_clear_interact_status_flag); smlua_bind_function(L, "cur_obj_compute_vel_xz", smlua_func_cur_obj_compute_vel_xz); smlua_bind_function(L, "cur_obj_count_objects_with_behavior", smlua_func_cur_obj_count_objects_with_behavior); smlua_bind_function(L, "cur_obj_detect_steep_floor", smlua_func_cur_obj_detect_steep_floor); smlua_bind_function(L, "cur_obj_disable", smlua_func_cur_obj_disable); smlua_bind_function(L, "cur_obj_disable_rendering", smlua_func_cur_obj_disable_rendering); smlua_bind_function(L, "cur_obj_disable_rendering_and_become_intangible", smlua_func_cur_obj_disable_rendering_and_become_intangible); smlua_bind_function(L, "cur_obj_dist_to_nearest_object_with_behavior", smlua_func_cur_obj_dist_to_nearest_object_with_behavior); smlua_bind_function(L, "cur_obj_enable_rendering", smlua_func_cur_obj_enable_rendering); smlua_bind_function(L, "cur_obj_enable_rendering_2", smlua_func_cur_obj_enable_rendering_2); smlua_bind_function(L, "cur_obj_enable_rendering_and_become_tangible", smlua_func_cur_obj_enable_rendering_and_become_tangible); smlua_bind_function(L, "cur_obj_enable_rendering_if_mario_in_room", smlua_func_cur_obj_enable_rendering_if_mario_in_room); smlua_bind_function(L, "cur_obj_end_dialog", smlua_func_cur_obj_end_dialog); smlua_bind_function(L, "cur_obj_extend_animation_if_at_end", smlua_func_cur_obj_extend_animation_if_at_end); smlua_bind_function(L, "cur_obj_find_nearby_held_actor", smlua_func_cur_obj_find_nearby_held_actor); smlua_bind_function(L, "cur_obj_find_nearest_object_with_behavior", smlua_func_cur_obj_find_nearest_object_with_behavior); smlua_bind_function(L, "cur_obj_find_nearest_pole", smlua_func_cur_obj_find_nearest_pole); smlua_bind_function(L, "cur_obj_follow_path", smlua_func_cur_obj_follow_path); smlua_bind_function(L, "cur_obj_forward_vel_approach_upward", smlua_func_cur_obj_forward_vel_approach_upward); smlua_bind_function(L, "cur_obj_get_dropped", smlua_func_cur_obj_get_dropped); smlua_bind_function(L, "cur_obj_get_thrown_or_placed", smlua_func_cur_obj_get_thrown_or_placed); smlua_bind_function(L, "cur_obj_has_behavior", smlua_func_cur_obj_has_behavior); smlua_bind_function(L, "cur_obj_has_model", smlua_func_cur_obj_has_model); smlua_bind_function(L, "cur_obj_hide", smlua_func_cur_obj_hide); smlua_bind_function(L, "cur_obj_hide_if_mario_far_away_y", smlua_func_cur_obj_hide_if_mario_far_away_y); smlua_bind_function(L, "cur_obj_if_hit_wall_bounce_away", smlua_func_cur_obj_if_hit_wall_bounce_away); smlua_bind_function(L, "cur_obj_init_animation", smlua_func_cur_obj_init_animation); smlua_bind_function(L, "cur_obj_init_animation_and_anim_frame", smlua_func_cur_obj_init_animation_and_anim_frame); smlua_bind_function(L, "cur_obj_init_animation_and_check_if_near_end", smlua_func_cur_obj_init_animation_and_check_if_near_end); smlua_bind_function(L, "cur_obj_init_animation_and_extend_if_at_end", smlua_func_cur_obj_init_animation_and_extend_if_at_end); smlua_bind_function(L, "cur_obj_init_animation_with_accel_and_sound", smlua_func_cur_obj_init_animation_with_accel_and_sound); smlua_bind_function(L, "cur_obj_init_animation_with_sound", smlua_func_cur_obj_init_animation_with_sound); smlua_bind_function(L, "cur_obj_is_any_player_on_platform", smlua_func_cur_obj_is_any_player_on_platform); smlua_bind_function(L, "cur_obj_is_mario_ground_pounding_platform", smlua_func_cur_obj_is_mario_ground_pounding_platform); smlua_bind_function(L, "cur_obj_is_mario_on_platform", smlua_func_cur_obj_is_mario_on_platform); smlua_bind_function(L, "cur_obj_lateral_dist_from_mario_to_home", smlua_func_cur_obj_lateral_dist_from_mario_to_home); smlua_bind_function(L, "cur_obj_lateral_dist_from_obj_to_home", smlua_func_cur_obj_lateral_dist_from_obj_to_home); smlua_bind_function(L, "cur_obj_lateral_dist_to_home", smlua_func_cur_obj_lateral_dist_to_home); smlua_bind_function(L, "cur_obj_mario_far_away", smlua_func_cur_obj_mario_far_away); smlua_bind_function(L, "cur_obj_move_after_thrown_or_dropped", smlua_func_cur_obj_move_after_thrown_or_dropped); smlua_bind_function(L, "cur_obj_move_standard", smlua_func_cur_obj_move_standard); smlua_bind_function(L, "cur_obj_move_up_and_down", smlua_func_cur_obj_move_up_and_down); smlua_bind_function(L, "cur_obj_move_update_ground_air_flags", smlua_func_cur_obj_move_update_ground_air_flags); smlua_bind_function(L, "cur_obj_move_update_underwater_flags", smlua_func_cur_obj_move_update_underwater_flags); smlua_bind_function(L, "cur_obj_move_using_fvel_and_gravity", smlua_func_cur_obj_move_using_fvel_and_gravity); smlua_bind_function(L, "cur_obj_move_using_vel", smlua_func_cur_obj_move_using_vel); smlua_bind_function(L, "cur_obj_move_using_vel_and_gravity", smlua_func_cur_obj_move_using_vel_and_gravity); smlua_bind_function(L, "cur_obj_move_xz", smlua_func_cur_obj_move_xz); smlua_bind_function(L, "cur_obj_move_xz_using_fvel_and_yaw", smlua_func_cur_obj_move_xz_using_fvel_and_yaw); smlua_bind_function(L, "cur_obj_move_y", smlua_func_cur_obj_move_y); smlua_bind_function(L, "cur_obj_move_y_and_get_water_level", smlua_func_cur_obj_move_y_and_get_water_level); smlua_bind_function(L, "cur_obj_move_y_with_terminal_vel", smlua_func_cur_obj_move_y_with_terminal_vel); smlua_bind_function(L, "cur_obj_nearest_object_with_behavior", smlua_func_cur_obj_nearest_object_with_behavior); smlua_bind_function(L, "cur_obj_outside_home_rectangle", smlua_func_cur_obj_outside_home_rectangle); smlua_bind_function(L, "cur_obj_outside_home_square", smlua_func_cur_obj_outside_home_square); smlua_bind_function(L, "cur_obj_progress_direction_table", smlua_func_cur_obj_progress_direction_table); smlua_bind_function(L, "cur_obj_push_mario_away", smlua_func_cur_obj_push_mario_away); smlua_bind_function(L, "cur_obj_push_mario_away_from_cylinder", smlua_func_cur_obj_push_mario_away_from_cylinder); smlua_bind_function(L, "cur_obj_reflect_move_angle_off_wall", smlua_func_cur_obj_reflect_move_angle_off_wall); smlua_bind_function(L, "cur_obj_reset_timer_and_subaction", smlua_func_cur_obj_reset_timer_and_subaction); smlua_bind_function(L, "cur_obj_resolve_wall_collisions", smlua_func_cur_obj_resolve_wall_collisions); smlua_bind_function(L, "cur_obj_reverse_animation", smlua_func_cur_obj_reverse_animation); smlua_bind_function(L, "cur_obj_rotate_face_angle_using_vel", smlua_func_cur_obj_rotate_face_angle_using_vel); smlua_bind_function(L, "cur_obj_rotate_move_angle_using_vel", smlua_func_cur_obj_rotate_move_angle_using_vel); smlua_bind_function(L, "cur_obj_rotate_yaw_toward", smlua_func_cur_obj_rotate_yaw_toward); smlua_bind_function(L, "cur_obj_scale", smlua_func_cur_obj_scale); smlua_bind_function(L, "cur_obj_scale_over_time", smlua_func_cur_obj_scale_over_time); smlua_bind_function(L, "cur_obj_set_behavior", smlua_func_cur_obj_set_behavior); smlua_bind_function(L, "cur_obj_set_billboard_if_vanilla_cam", smlua_func_cur_obj_set_billboard_if_vanilla_cam); smlua_bind_function(L, "cur_obj_set_direction_table", smlua_func_cur_obj_set_direction_table); smlua_bind_function(L, "cur_obj_set_face_angle_to_move_angle", smlua_func_cur_obj_set_face_angle_to_move_angle); smlua_bind_function(L, "cur_obj_set_hitbox_and_die_if_attacked", smlua_func_cur_obj_set_hitbox_and_die_if_attacked); smlua_bind_function(L, "cur_obj_set_hitbox_radius_and_height", smlua_func_cur_obj_set_hitbox_radius_and_height); smlua_bind_function(L, "cur_obj_set_home_once", smlua_func_cur_obj_set_home_once); smlua_bind_function(L, "cur_obj_set_hurtbox_radius_and_height", smlua_func_cur_obj_set_hurtbox_radius_and_height); smlua_bind_function(L, "cur_obj_set_pos_relative", smlua_func_cur_obj_set_pos_relative); smlua_bind_function(L, "cur_obj_set_pos_relative_to_parent", smlua_func_cur_obj_set_pos_relative_to_parent); smlua_bind_function(L, "cur_obj_set_pos_to_home", smlua_func_cur_obj_set_pos_to_home); smlua_bind_function(L, "cur_obj_set_pos_to_home_and_stop", smlua_func_cur_obj_set_pos_to_home_and_stop); smlua_bind_function(L, "cur_obj_set_pos_to_home_with_debug", smlua_func_cur_obj_set_pos_to_home_with_debug); smlua_bind_function(L, "cur_obj_set_pos_via_transform", smlua_func_cur_obj_set_pos_via_transform); smlua_bind_function(L, "cur_obj_set_vel_from_mario_vel", smlua_func_cur_obj_set_vel_from_mario_vel); smlua_bind_function(L, "cur_obj_set_y_vel_and_animation", smlua_func_cur_obj_set_y_vel_and_animation); smlua_bind_function(L, "cur_obj_shake_screen", smlua_func_cur_obj_shake_screen); smlua_bind_function(L, "cur_obj_shake_y", smlua_func_cur_obj_shake_y); smlua_bind_function(L, "cur_obj_shake_y_until", smlua_func_cur_obj_shake_y_until); smlua_bind_function(L, "cur_obj_spawn_loot_blue_coin", smlua_func_cur_obj_spawn_loot_blue_coin); smlua_bind_function(L, "cur_obj_spawn_loot_coin_at_mario_pos", smlua_func_cur_obj_spawn_loot_coin_at_mario_pos); smlua_bind_function(L, "cur_obj_spawn_particles", smlua_func_cur_obj_spawn_particles); #ifndef VERSION_JP smlua_bind_function(L, "cur_obj_spawn_star_at_y_offset", smlua_func_cur_obj_spawn_star_at_y_offset); #endif smlua_bind_function(L, "cur_obj_start_cam_event", smlua_func_cur_obj_start_cam_event); smlua_bind_function(L, "cur_obj_unhide", smlua_func_cur_obj_unhide); smlua_bind_function(L, "cur_obj_unrender_and_reset_state", smlua_func_cur_obj_unrender_and_reset_state); smlua_bind_function(L, "cur_obj_unused_init_on_floor", smlua_func_cur_obj_unused_init_on_floor); smlua_bind_function(L, "cur_obj_unused_play_footstep_sound", smlua_func_cur_obj_unused_play_footstep_sound); smlua_bind_function(L, "cur_obj_unused_resolve_wall_collisions", smlua_func_cur_obj_unused_resolve_wall_collisions); smlua_bind_function(L, "cur_obj_update_floor", smlua_func_cur_obj_update_floor); smlua_bind_function(L, "cur_obj_update_floor_and_resolve_wall_collisions", smlua_func_cur_obj_update_floor_and_resolve_wall_collisions); smlua_bind_function(L, "cur_obj_update_floor_and_walls", smlua_func_cur_obj_update_floor_and_walls); smlua_bind_function(L, "cur_obj_update_floor_height", smlua_func_cur_obj_update_floor_height); smlua_bind_function(L, "cur_obj_update_floor_height_and_get_floor", smlua_func_cur_obj_update_floor_height_and_get_floor); smlua_bind_function(L, "cur_obj_wait_then_blink", smlua_func_cur_obj_wait_then_blink); smlua_bind_function(L, "cur_obj_was_attacked_or_ground_pounded", smlua_func_cur_obj_was_attacked_or_ground_pounded); smlua_bind_function(L, "cur_obj_within_12k_bounds", smlua_func_cur_obj_within_12k_bounds); smlua_bind_function(L, "disable_time_stop", smlua_func_disable_time_stop); smlua_bind_function(L, "disable_time_stop_including_mario", smlua_func_disable_time_stop_including_mario); smlua_bind_function(L, "dist_between_object_and_point", smlua_func_dist_between_object_and_point); smlua_bind_function(L, "dist_between_objects", smlua_func_dist_between_objects); smlua_bind_function(L, "enable_time_stop", smlua_func_enable_time_stop); smlua_bind_function(L, "enable_time_stop_if_alone", smlua_func_enable_time_stop_if_alone); smlua_bind_function(L, "enable_time_stop_including_mario", smlua_func_enable_time_stop_including_mario); smlua_bind_function(L, "find_object_with_behavior", smlua_func_find_object_with_behavior); smlua_bind_function(L, "find_unimportant_object", smlua_func_find_unimportant_object); //smlua_bind_function(L, "geo_choose_area_ext", smlua_func_geo_choose_area_ext); <--- UNIMPLEMENTED smlua_bind_function(L, "geo_offset_klepto_debug", smlua_func_geo_offset_klepto_debug); //smlua_bind_function(L, "geo_offset_klepto_held_object", smlua_func_geo_offset_klepto_held_object); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_switch_anim_state", smlua_func_geo_switch_anim_state); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_switch_area", smlua_func_geo_switch_area); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_update_layer_transparency", smlua_func_geo_update_layer_transparency); <--- UNIMPLEMENTED //smlua_bind_function(L, "geo_update_projectile_pos_from_parent", smlua_func_geo_update_projectile_pos_from_parent); <--- UNIMPLEMENTED smlua_bind_function(L, "get_object_list_from_behavior", smlua_func_get_object_list_from_behavior); smlua_bind_function(L, "get_trajectory_length", smlua_func_get_trajectory_length); smlua_bind_function(L, "increment_velocity_toward_range", smlua_func_increment_velocity_toward_range); smlua_bind_function(L, "is_item_in_array", smlua_func_is_item_in_array); smlua_bind_function(L, "is_mario_moving_fast_or_in_air", smlua_func_is_mario_moving_fast_or_in_air); smlua_bind_function(L, "lateral_dist_between_objects", smlua_func_lateral_dist_between_objects); smlua_bind_function(L, "linear_mtxf_mul_vec3f", smlua_func_linear_mtxf_mul_vec3f); smlua_bind_function(L, "linear_mtxf_transpose_mul_vec3f", smlua_func_linear_mtxf_transpose_mul_vec3f); smlua_bind_function(L, "mario_is_dive_sliding", smlua_func_mario_is_dive_sliding); smlua_bind_function(L, "mario_is_in_air_action", smlua_func_mario_is_in_air_action); smlua_bind_function(L, "mario_is_within_rectangle", smlua_func_mario_is_within_rectangle); smlua_bind_function(L, "mario_set_flag", smlua_func_mario_set_flag); smlua_bind_function(L, "obj_angle_to_object", smlua_func_obj_angle_to_object); smlua_bind_function(L, "obj_angle_to_point", smlua_func_obj_angle_to_point); smlua_bind_function(L, "obj_apply_scale_to_matrix", smlua_func_obj_apply_scale_to_matrix); smlua_bind_function(L, "obj_apply_scale_to_transform", smlua_func_obj_apply_scale_to_transform); smlua_bind_function(L, "obj_attack_collided_from_other_object", smlua_func_obj_attack_collided_from_other_object); smlua_bind_function(L, "obj_become_tangible", smlua_func_obj_become_tangible); smlua_bind_function(L, "obj_build_relative_transform", smlua_func_obj_build_relative_transform); smlua_bind_function(L, "obj_build_transform_from_pos_and_angle", smlua_func_obj_build_transform_from_pos_and_angle); smlua_bind_function(L, "obj_build_transform_relative_to_parent", smlua_func_obj_build_transform_relative_to_parent); smlua_bind_function(L, "obj_build_vel_from_transform", smlua_func_obj_build_vel_from_transform); smlua_bind_function(L, "obj_check_if_collided_with_object", smlua_func_obj_check_if_collided_with_object); smlua_bind_function(L, "obj_copy_angle", smlua_func_obj_copy_angle); smlua_bind_function(L, "obj_copy_behavior_params", smlua_func_obj_copy_behavior_params); smlua_bind_function(L, "obj_copy_graph_y_offset", smlua_func_obj_copy_graph_y_offset); smlua_bind_function(L, "obj_copy_pos", smlua_func_obj_copy_pos); smlua_bind_function(L, "obj_copy_pos_and_angle", smlua_func_obj_copy_pos_and_angle); smlua_bind_function(L, "obj_copy_scale", smlua_func_obj_copy_scale); smlua_bind_function(L, "obj_create_transform_from_self", smlua_func_obj_create_transform_from_self); smlua_bind_function(L, "obj_explode_and_spawn_coins", smlua_func_obj_explode_and_spawn_coins); smlua_bind_function(L, "obj_has_behavior", smlua_func_obj_has_behavior); smlua_bind_function(L, "obj_init_animation", smlua_func_obj_init_animation); smlua_bind_function(L, "obj_init_animation_with_accel_and_sound", smlua_func_obj_init_animation_with_accel_and_sound); smlua_bind_function(L, "obj_init_animation_with_sound", smlua_func_obj_init_animation_with_sound); smlua_bind_function(L, "obj_is_hidden", smlua_func_obj_is_hidden); smlua_bind_function(L, "obj_mark_for_deletion", smlua_func_obj_mark_for_deletion); smlua_bind_function(L, "obj_pitch_to_object", smlua_func_obj_pitch_to_object); smlua_bind_function(L, "obj_scale", smlua_func_obj_scale); smlua_bind_function(L, "obj_scale_random", smlua_func_obj_scale_random); smlua_bind_function(L, "obj_scale_xyz", smlua_func_obj_scale_xyz); smlua_bind_function(L, "obj_set_angle", smlua_func_obj_set_angle); smlua_bind_function(L, "obj_set_behavior", smlua_func_obj_set_behavior); smlua_bind_function(L, "obj_set_billboard", smlua_func_obj_set_billboard); //smlua_bind_function(L, "obj_set_collision_data", smlua_func_obj_set_collision_data); <--- UNIMPLEMENTED smlua_bind_function(L, "obj_set_cylboard", smlua_func_obj_set_cylboard); smlua_bind_function(L, "obj_set_face_angle", smlua_func_obj_set_face_angle); smlua_bind_function(L, "obj_set_face_angle_to_move_angle", smlua_func_obj_set_face_angle_to_move_angle); smlua_bind_function(L, "obj_set_gfx_angle", smlua_func_obj_set_gfx_angle); smlua_bind_function(L, "obj_set_gfx_pos", smlua_func_obj_set_gfx_pos); smlua_bind_function(L, "obj_set_gfx_pos_at_obj_pos", smlua_func_obj_set_gfx_pos_at_obj_pos); smlua_bind_function(L, "obj_set_gfx_pos_from_pos", smlua_func_obj_set_gfx_pos_from_pos); smlua_bind_function(L, "obj_set_gfx_scale", smlua_func_obj_set_gfx_scale); smlua_bind_function(L, "obj_set_held_state", smlua_func_obj_set_held_state); smlua_bind_function(L, "obj_set_hitbox", smlua_func_obj_set_hitbox); smlua_bind_function(L, "obj_set_hitbox_radius_and_height", smlua_func_obj_set_hitbox_radius_and_height); smlua_bind_function(L, "obj_set_hurtbox_radius_and_height", smlua_func_obj_set_hurtbox_radius_and_height); smlua_bind_function(L, "obj_set_move_angle", smlua_func_obj_set_move_angle); smlua_bind_function(L, "obj_set_parent_relative_pos", smlua_func_obj_set_parent_relative_pos); smlua_bind_function(L, "obj_set_pos", smlua_func_obj_set_pos); smlua_bind_function(L, "obj_set_pos_relative", smlua_func_obj_set_pos_relative); smlua_bind_function(L, "obj_set_throw_matrix_from_transform", smlua_func_obj_set_throw_matrix_from_transform); smlua_bind_function(L, "obj_spawn_loot_blue_coins", smlua_func_obj_spawn_loot_blue_coins); smlua_bind_function(L, "obj_spawn_loot_coins", smlua_func_obj_spawn_loot_coins); smlua_bind_function(L, "obj_spawn_loot_yellow_coins", smlua_func_obj_spawn_loot_yellow_coins); smlua_bind_function(L, "obj_translate_local", smlua_func_obj_translate_local); smlua_bind_function(L, "obj_translate_xyz_random", smlua_func_obj_translate_xyz_random); smlua_bind_function(L, "obj_translate_xz_random", smlua_func_obj_translate_xz_random); smlua_bind_function(L, "obj_turn_toward_object", smlua_func_obj_turn_toward_object); smlua_bind_function(L, "obj_update_pos_from_parent_transformation", smlua_func_obj_update_pos_from_parent_transformation); smlua_bind_function(L, "player_performed_grab_escape_action", smlua_func_player_performed_grab_escape_action); smlua_bind_function(L, "random_f32_around_zero", smlua_func_random_f32_around_zero); smlua_bind_function(L, "set_mario_interact_hoot_if_in_range", smlua_func_set_mario_interact_hoot_if_in_range); smlua_bind_function(L, "set_time_stop_flags", smlua_func_set_time_stop_flags); smlua_bind_function(L, "set_time_stop_flags_if_alone", smlua_func_set_time_stop_flags_if_alone); smlua_bind_function(L, "signum_positive", smlua_func_signum_positive); smlua_bind_function(L, "spawn_base_star_with_no_lvl_exit", smlua_func_spawn_base_star_with_no_lvl_exit); smlua_bind_function(L, "spawn_mist_particles", smlua_func_spawn_mist_particles); smlua_bind_function(L, "spawn_mist_particles_with_sound", smlua_func_spawn_mist_particles_with_sound); smlua_bind_function(L, "spawn_star_with_no_lvl_exit", smlua_func_spawn_star_with_no_lvl_exit); smlua_bind_function(L, "spawn_water_droplet", smlua_func_spawn_water_droplet); smlua_bind_function(L, "stub_obj_helpers_3", smlua_func_stub_obj_helpers_3); smlua_bind_function(L, "stub_obj_helpers_4", smlua_func_stub_obj_helpers_4); // object_list_processor.h smlua_bind_function(L, "set_object_respawn_info_bits", smlua_func_set_object_respawn_info_bits); // rumble_init.c smlua_bind_function(L, "queue_rumble_data", smlua_func_queue_rumble_data); smlua_bind_function(L, "queue_rumble_data_mario", smlua_func_queue_rumble_data_mario); smlua_bind_function(L, "queue_rumble_data_object", smlua_func_queue_rumble_data_object); smlua_bind_function(L, "reset_rumble_timers", smlua_func_reset_rumble_timers); smlua_bind_function(L, "reset_rumble_timers_2", smlua_func_reset_rumble_timers_2); // save_file.h smlua_bind_function(L, "save_file_clear_flags", smlua_func_save_file_clear_flags); smlua_bind_function(L, "save_file_do_save", smlua_func_save_file_do_save); smlua_bind_function(L, "save_file_erase_current_backup_save", smlua_func_save_file_erase_current_backup_save); smlua_bind_function(L, "save_file_get_cap_pos", smlua_func_save_file_get_cap_pos); smlua_bind_function(L, "save_file_get_course_coin_score", smlua_func_save_file_get_course_coin_score); smlua_bind_function(L, "save_file_get_course_star_count", smlua_func_save_file_get_course_star_count); smlua_bind_function(L, "save_file_get_flags", smlua_func_save_file_get_flags); smlua_bind_function(L, "save_file_get_max_coin_score", smlua_func_save_file_get_max_coin_score); smlua_bind_function(L, "save_file_get_sound_mode", smlua_func_save_file_get_sound_mode); smlua_bind_function(L, "save_file_get_star_flags", smlua_func_save_file_get_star_flags); smlua_bind_function(L, "save_file_get_total_star_count", smlua_func_save_file_get_total_star_count); smlua_bind_function(L, "save_file_is_cannon_unlocked", smlua_func_save_file_is_cannon_unlocked); smlua_bind_function(L, "save_file_reload", smlua_func_save_file_reload); smlua_bind_function(L, "save_file_set_course_coin_score", smlua_func_save_file_set_course_coin_score); smlua_bind_function(L, "save_file_set_flags", smlua_func_save_file_set_flags); smlua_bind_function(L, "save_file_set_star_flags", smlua_func_save_file_set_star_flags); smlua_bind_function(L, "touch_coin_score_age", smlua_func_touch_coin_score_age); // smlua_anim_utils.h smlua_bind_function(L, "smlua_anim_util_get_current_animation_name", smlua_func_smlua_anim_util_get_current_animation_name); smlua_bind_function(L, "smlua_anim_util_set_animation", smlua_func_smlua_anim_util_set_animation); // smlua_audio_utils.h smlua_bind_function(L, "audio_sample_destroy", smlua_func_audio_sample_destroy); smlua_bind_function(L, "audio_sample_load", smlua_func_audio_sample_load); smlua_bind_function(L, "audio_sample_play", smlua_func_audio_sample_play); smlua_bind_function(L, "audio_sample_stop", smlua_func_audio_sample_stop); smlua_bind_function(L, "audio_stream_destroy", smlua_func_audio_stream_destroy); smlua_bind_function(L, "audio_stream_get_frequency", smlua_func_audio_stream_get_frequency); smlua_bind_function(L, "audio_stream_get_looping", smlua_func_audio_stream_get_looping); smlua_bind_function(L, "audio_stream_get_position", smlua_func_audio_stream_get_position); smlua_bind_function(L, "audio_stream_get_tempo", smlua_func_audio_stream_get_tempo); smlua_bind_function(L, "audio_stream_get_volume", smlua_func_audio_stream_get_volume); smlua_bind_function(L, "audio_stream_load", smlua_func_audio_stream_load); smlua_bind_function(L, "audio_stream_load_url", smlua_func_audio_stream_load_url); smlua_bind_function(L, "audio_stream_pause", smlua_func_audio_stream_pause); smlua_bind_function(L, "audio_stream_play", smlua_func_audio_stream_play); smlua_bind_function(L, "audio_stream_set_frequency", smlua_func_audio_stream_set_frequency); smlua_bind_function(L, "audio_stream_set_looping", smlua_func_audio_stream_set_looping); smlua_bind_function(L, "audio_stream_set_position", smlua_func_audio_stream_set_position); smlua_bind_function(L, "audio_stream_set_speed", smlua_func_audio_stream_set_speed); smlua_bind_function(L, "audio_stream_set_tempo", smlua_func_audio_stream_set_tempo); smlua_bind_function(L, "audio_stream_set_volume", smlua_func_audio_stream_set_volume); smlua_bind_function(L, "audio_stream_stop", smlua_func_audio_stream_stop); smlua_bind_function(L, "smlua_audio_utils_replace_sequence", smlua_func_smlua_audio_utils_replace_sequence); smlua_bind_function(L, "smlua_audio_utils_reset_all", smlua_func_smlua_audio_utils_reset_all); // smlua_collision_utils.h smlua_bind_function(L, "collision_find_ceil", smlua_func_collision_find_ceil); smlua_bind_function(L, "collision_find_floor", smlua_func_collision_find_floor); smlua_bind_function(L, "collision_find_surface_on_ray", smlua_func_collision_find_surface_on_ray); smlua_bind_function(L, "collision_get_temp_wall_collision_data", smlua_func_collision_get_temp_wall_collision_data); smlua_bind_function(L, "get_water_surface_pseudo_floor", smlua_func_get_water_surface_pseudo_floor); smlua_bind_function(L, "smlua_collision_util_get", smlua_func_smlua_collision_util_get); // smlua_deprecated.h smlua_bind_function(L, "network_discord_id_from_local_index", smlua_func_network_discord_id_from_local_index); // smlua_level_utils.h smlua_bind_function(L, "level_is_vanilla_level", smlua_func_level_is_vanilla_level); smlua_bind_function(L, "level_register", smlua_func_level_register); smlua_bind_function(L, "smlua_level_util_change_area", smlua_func_smlua_level_util_change_area); smlua_bind_function(L, "smlua_level_util_get_info", smlua_func_smlua_level_util_get_info); smlua_bind_function(L, "smlua_level_util_get_info_from_course_num", smlua_func_smlua_level_util_get_info_from_course_num); smlua_bind_function(L, "smlua_level_util_get_info_from_short_name", smlua_func_smlua_level_util_get_info_from_short_name); smlua_bind_function(L, "warp_exit_level", smlua_func_warp_exit_level); smlua_bind_function(L, "warp_restart_level", smlua_func_warp_restart_level); smlua_bind_function(L, "warp_to_castle", smlua_func_warp_to_castle); smlua_bind_function(L, "warp_to_level", smlua_func_warp_to_level); smlua_bind_function(L, "warp_to_start_level", smlua_func_warp_to_start_level); smlua_bind_function(L, "warp_to_warpnode", smlua_func_warp_to_warpnode); // smlua_math_utils.h smlua_bind_function(L, "clamp", smlua_func_clamp); smlua_bind_function(L, "clampf", smlua_func_clampf); smlua_bind_function(L, "max", smlua_func_max); smlua_bind_function(L, "maxf", smlua_func_maxf); smlua_bind_function(L, "min", smlua_func_min); smlua_bind_function(L, "minf", smlua_func_minf); smlua_bind_function(L, "sqr", smlua_func_sqr); smlua_bind_function(L, "sqrf", smlua_func_sqrf); // smlua_misc_utils.h smlua_bind_function(L, "add_scroll_target", smlua_func_add_scroll_target); smlua_bind_function(L, "allocate_mario_action", smlua_func_allocate_mario_action); smlua_bind_function(L, "camera_allow_toxic_gas_camera", smlua_func_camera_allow_toxic_gas_camera); smlua_bind_function(L, "camera_config_enable_analog_cam", smlua_func_camera_config_enable_analog_cam); smlua_bind_function(L, "camera_config_enable_free_cam", smlua_func_camera_config_enable_free_cam); smlua_bind_function(L, "camera_config_enable_mouse_look", smlua_func_camera_config_enable_mouse_look); smlua_bind_function(L, "camera_config_get_aggression", smlua_func_camera_config_get_aggression); smlua_bind_function(L, "camera_config_get_deceleration", smlua_func_camera_config_get_deceleration); smlua_bind_function(L, "camera_config_get_pan_level", smlua_func_camera_config_get_pan_level); smlua_bind_function(L, "camera_config_get_x_sensitivity", smlua_func_camera_config_get_x_sensitivity); smlua_bind_function(L, "camera_config_get_y_sensitivity", smlua_func_camera_config_get_y_sensitivity); smlua_bind_function(L, "camera_config_invert_x", smlua_func_camera_config_invert_x); smlua_bind_function(L, "camera_config_invert_y", smlua_func_camera_config_invert_y); smlua_bind_function(L, "camera_config_is_analog_cam_enabled", smlua_func_camera_config_is_analog_cam_enabled); smlua_bind_function(L, "camera_config_is_free_cam_enabled", smlua_func_camera_config_is_free_cam_enabled); smlua_bind_function(L, "camera_config_is_mouse_look_enabled", smlua_func_camera_config_is_mouse_look_enabled); smlua_bind_function(L, "camera_config_is_x_inverted", smlua_func_camera_config_is_x_inverted); smlua_bind_function(L, "camera_config_is_y_inverted", smlua_func_camera_config_is_y_inverted); smlua_bind_function(L, "camera_config_set_aggression", smlua_func_camera_config_set_aggression); smlua_bind_function(L, "camera_config_set_deceleration", smlua_func_camera_config_set_deceleration); smlua_bind_function(L, "camera_config_set_pan_level", smlua_func_camera_config_set_pan_level); smlua_bind_function(L, "camera_config_set_x_sensitivity", smlua_func_camera_config_set_x_sensitivity); 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_is_frozen", smlua_func_camera_is_frozen); smlua_bind_function(L, "camera_reset_overrides", smlua_func_camera_reset_overrides); smlua_bind_function(L, "camera_romhack_allow_centering", smlua_func_camera_romhack_allow_centering); smlua_bind_function(L, "camera_set_romhack_override", smlua_func_camera_set_romhack_override); 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, "djui_is_popup_disabled", smlua_func_djui_is_popup_disabled); smlua_bind_function(L, "djui_popup_create_global", smlua_func_djui_popup_create_global); smlua_bind_function(L, "djui_reset_popup_disabled_override", smlua_func_djui_reset_popup_disabled_override); smlua_bind_function(L, "djui_set_popup_disabled_override", smlua_func_djui_set_popup_disabled_override); 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); smlua_bind_function(L, "get_dialog_id", smlua_func_get_dialog_id); smlua_bind_function(L, "get_envfx", smlua_func_get_envfx); smlua_bind_function(L, "get_environment_region", smlua_func_get_environment_region); smlua_bind_function(L, "get_got_file_coin_hi_score", smlua_func_get_got_file_coin_hi_score); smlua_bind_function(L, "get_hand_foot_pos_x", smlua_func_get_hand_foot_pos_x); smlua_bind_function(L, "get_hand_foot_pos_y", smlua_func_get_hand_foot_pos_y); smlua_bind_function(L, "get_hand_foot_pos_z", smlua_func_get_hand_foot_pos_z); smlua_bind_function(L, "get_last_completed_course_num", smlua_func_get_last_completed_course_num); smlua_bind_function(L, "get_last_completed_star_num", smlua_func_get_last_completed_star_num); smlua_bind_function(L, "get_last_star_or_key", smlua_func_get_last_star_or_key); smlua_bind_function(L, "get_lighting_color", smlua_func_get_lighting_color); smlua_bind_function(L, "get_lighting_dir", smlua_func_get_lighting_dir); smlua_bind_function(L, "get_network_area_timer", smlua_func_get_network_area_timer); smlua_bind_function(L, "get_os_name", smlua_func_get_os_name); smlua_bind_function(L, "get_save_file_modified", smlua_func_get_save_file_modified); smlua_bind_function(L, "get_skybox", smlua_func_get_skybox); smlua_bind_function(L, "get_temp_s32_pointer", smlua_func_get_temp_s32_pointer); smlua_bind_function(L, "get_time", smlua_func_get_time); smlua_bind_function(L, "get_ttc_speed_setting", smlua_func_get_ttc_speed_setting); smlua_bind_function(L, "hud_get_value", smlua_func_hud_get_value); smlua_bind_function(L, "hud_hide", smlua_func_hud_hide); smlua_bind_function(L, "hud_is_hidden", smlua_func_hud_is_hidden); smlua_bind_function(L, "hud_render_power_meter", smlua_func_hud_render_power_meter); smlua_bind_function(L, "hud_render_power_meter_interpolated", smlua_func_hud_render_power_meter_interpolated); smlua_bind_function(L, "hud_set_value", smlua_func_hud_set_value); smlua_bind_function(L, "hud_show", smlua_func_hud_show); smlua_bind_function(L, "is_game_paused", smlua_func_is_game_paused); smlua_bind_function(L, "is_transition_playing", smlua_func_is_transition_playing); smlua_bind_function(L, "movtexqc_register", smlua_func_movtexqc_register); smlua_bind_function(L, "play_transition", smlua_func_play_transition); smlua_bind_function(L, "save_file_get_using_backup_slot", smlua_func_save_file_get_using_backup_slot); smlua_bind_function(L, "save_file_set_using_backup_slot", smlua_func_save_file_set_using_backup_slot); smlua_bind_function(L, "set_environment_region", smlua_func_set_environment_region); smlua_bind_function(L, "set_got_file_coin_hi_score", smlua_func_set_got_file_coin_hi_score); smlua_bind_function(L, "set_last_completed_course_num", smlua_func_set_last_completed_course_num); smlua_bind_function(L, "set_last_completed_star_num", smlua_func_set_last_completed_star_num); smlua_bind_function(L, "set_last_star_or_key", smlua_func_set_last_star_or_key); smlua_bind_function(L, "set_lighting_color", smlua_func_set_lighting_color); smlua_bind_function(L, "set_lighting_dir", smlua_func_set_lighting_dir); smlua_bind_function(L, "set_override_envfx", smlua_func_set_override_envfx); smlua_bind_function(L, "set_override_far", smlua_func_set_override_far); smlua_bind_function(L, "set_override_fov", smlua_func_set_override_fov); smlua_bind_function(L, "set_override_near", smlua_func_set_override_near); smlua_bind_function(L, "set_override_skybox", smlua_func_set_override_skybox); smlua_bind_function(L, "set_save_file_modified", smlua_func_set_save_file_modified); smlua_bind_function(L, "set_ttc_speed_setting", smlua_func_set_ttc_speed_setting); // smlua_model_utils.h smlua_bind_function(L, "smlua_model_util_get_id", smlua_func_smlua_model_util_get_id); // smlua_obj_utils.h smlua_bind_function(L, "get_temp_object_hitbox", smlua_func_get_temp_object_hitbox); smlua_bind_function(L, "get_trajectory", smlua_func_get_trajectory); smlua_bind_function(L, "obj_check_hitbox_overlap", smlua_func_obj_check_hitbox_overlap); smlua_bind_function(L, "obj_check_overlap_with_hitbox_params", smlua_func_obj_check_overlap_with_hitbox_params); smlua_bind_function(L, "obj_count_objects_with_behavior_id", smlua_func_obj_count_objects_with_behavior_id); smlua_bind_function(L, "obj_get_collided_object", smlua_func_obj_get_collided_object); smlua_bind_function(L, "obj_get_first", smlua_func_obj_get_first); smlua_bind_function(L, "obj_get_first_with_behavior_id", smlua_func_obj_get_first_with_behavior_id); smlua_bind_function(L, "obj_get_first_with_behavior_id_and_field_f32", smlua_func_obj_get_first_with_behavior_id_and_field_f32); smlua_bind_function(L, "obj_get_first_with_behavior_id_and_field_s32", smlua_func_obj_get_first_with_behavior_id_and_field_s32); smlua_bind_function(L, "obj_get_nearest_object_with_behavior_id", smlua_func_obj_get_nearest_object_with_behavior_id); smlua_bind_function(L, "obj_get_next", smlua_func_obj_get_next); smlua_bind_function(L, "obj_get_next_with_same_behavior_id", smlua_func_obj_get_next_with_same_behavior_id); smlua_bind_function(L, "obj_get_next_with_same_behavior_id_and_field_f32", smlua_func_obj_get_next_with_same_behavior_id_and_field_f32); smlua_bind_function(L, "obj_get_next_with_same_behavior_id_and_field_s32", smlua_func_obj_get_next_with_same_behavior_id_and_field_s32); smlua_bind_function(L, "obj_get_temp_spawn_particles_info", smlua_func_obj_get_temp_spawn_particles_info); smlua_bind_function(L, "obj_has_behavior_id", smlua_func_obj_has_behavior_id); smlua_bind_function(L, "obj_has_model_extended", smlua_func_obj_has_model_extended); smlua_bind_function(L, "obj_is_attackable", smlua_func_obj_is_attackable); smlua_bind_function(L, "obj_is_breakable_object", smlua_func_obj_is_breakable_object); smlua_bind_function(L, "obj_is_bully", smlua_func_obj_is_bully); smlua_bind_function(L, "obj_is_coin", smlua_func_obj_is_coin); smlua_bind_function(L, "obj_is_exclamation_box", smlua_func_obj_is_exclamation_box); smlua_bind_function(L, "obj_is_grabbable", smlua_func_obj_is_grabbable); smlua_bind_function(L, "obj_is_mushroom_1up", smlua_func_obj_is_mushroom_1up); smlua_bind_function(L, "obj_is_secret", smlua_func_obj_is_secret); smlua_bind_function(L, "obj_is_valid_for_interaction", smlua_func_obj_is_valid_for_interaction); smlua_bind_function(L, "obj_move_xyz", smlua_func_obj_move_xyz); smlua_bind_function(L, "obj_set_model_extended", smlua_func_obj_set_model_extended); smlua_bind_function(L, "obj_set_vel", smlua_func_obj_set_vel); smlua_bind_function(L, "restore_exclamation_box_original_contents", smlua_func_restore_exclamation_box_original_contents); smlua_bind_function(L, "set_whirlpools", smlua_func_set_whirlpools); smlua_bind_function(L, "spawn_non_sync_object", smlua_func_spawn_non_sync_object); smlua_bind_function(L, "spawn_sync_object", smlua_func_spawn_sync_object); // smlua_text_utils.h smlua_bind_function(L, "smlua_text_utils_act_name_get", smlua_func_smlua_text_utils_act_name_get); smlua_bind_function(L, "smlua_text_utils_act_name_is_modified", smlua_func_smlua_text_utils_act_name_is_modified); smlua_bind_function(L, "smlua_text_utils_act_name_replace", smlua_func_smlua_text_utils_act_name_replace); smlua_bind_function(L, "smlua_text_utils_act_name_reset", smlua_func_smlua_text_utils_act_name_reset); smlua_bind_function(L, "smlua_text_utils_castle_secret_stars_replace", smlua_func_smlua_text_utils_castle_secret_stars_replace); smlua_bind_function(L, "smlua_text_utils_course_acts_replace", smlua_func_smlua_text_utils_course_acts_replace); smlua_bind_function(L, "smlua_text_utils_course_name_get", smlua_func_smlua_text_utils_course_name_get); smlua_bind_function(L, "smlua_text_utils_course_name_mod_index", smlua_func_smlua_text_utils_course_name_mod_index); smlua_bind_function(L, "smlua_text_utils_course_name_replace", smlua_func_smlua_text_utils_course_name_replace); smlua_bind_function(L, "smlua_text_utils_course_name_reset", smlua_func_smlua_text_utils_course_name_reset); smlua_bind_function(L, "smlua_text_utils_dialog_replace", smlua_func_smlua_text_utils_dialog_replace); smlua_bind_function(L, "smlua_text_utils_extra_text_replace", smlua_func_smlua_text_utils_extra_text_replace); smlua_bind_function(L, "smlua_text_utils_get_language", smlua_func_smlua_text_utils_get_language); smlua_bind_function(L, "smlua_text_utils_secret_star_replace", smlua_func_smlua_text_utils_secret_star_replace); // sound_init.h smlua_bind_function(L, "disable_background_sound", smlua_func_disable_background_sound); smlua_bind_function(L, "enable_background_sound", smlua_func_enable_background_sound); smlua_bind_function(L, "fadeout_cap_music", smlua_func_fadeout_cap_music); smlua_bind_function(L, "fadeout_level_music", smlua_func_fadeout_level_music); smlua_bind_function(L, "fadeout_music", smlua_func_fadeout_music); smlua_bind_function(L, "lower_background_noise", smlua_func_lower_background_noise); smlua_bind_function(L, "play_cap_music", smlua_func_play_cap_music); smlua_bind_function(L, "play_cutscene_music", smlua_func_play_cutscene_music); smlua_bind_function(L, "play_infinite_stairs_music", smlua_func_play_infinite_stairs_music); smlua_bind_function(L, "play_menu_sounds", smlua_func_play_menu_sounds); smlua_bind_function(L, "play_painting_eject_sound", smlua_func_play_painting_eject_sound); smlua_bind_function(L, "play_shell_music", smlua_func_play_shell_music); smlua_bind_function(L, "raise_background_noise", smlua_func_raise_background_noise); smlua_bind_function(L, "reset_volume", smlua_func_reset_volume); smlua_bind_function(L, "set_background_music", smlua_func_set_background_music); smlua_bind_function(L, "stop_cap_music", smlua_func_stop_cap_music); smlua_bind_function(L, "stop_shell_music", smlua_func_stop_shell_music); // spawn_sound.c smlua_bind_function(L, "calc_dist_to_volume_range_1", smlua_func_calc_dist_to_volume_range_1); smlua_bind_function(L, "calc_dist_to_volume_range_2", smlua_func_calc_dist_to_volume_range_2); smlua_bind_function(L, "cur_obj_play_sound_1", smlua_func_cur_obj_play_sound_1); smlua_bind_function(L, "cur_obj_play_sound_2", smlua_func_cur_obj_play_sound_2); smlua_bind_function(L, "exec_anim_sound_state", smlua_func_exec_anim_sound_state); // surface_collision.h //smlua_bind_function(L, "find_ceil", smlua_func_find_ceil); <--- UNIMPLEMENTED smlua_bind_function(L, "find_ceil_height", smlua_func_find_ceil_height); //smlua_bind_function(L, "find_floor", smlua_func_find_floor); <--- UNIMPLEMENTED smlua_bind_function(L, "find_floor_height", smlua_func_find_floor_height); //smlua_bind_function(L, "find_floor_height_and_data", smlua_func_find_floor_height_and_data); <--- UNIMPLEMENTED smlua_bind_function(L, "find_poison_gas_level", smlua_func_find_poison_gas_level); //smlua_bind_function(L, "find_surface_on_ray", smlua_func_find_surface_on_ray); <--- UNIMPLEMENTED smlua_bind_function(L, "find_wall_collisions", smlua_func_find_wall_collisions); smlua_bind_function(L, "find_water_level", smlua_func_find_water_level); // surface_load.h smlua_bind_function(L, "alloc_surface_pools", smlua_func_alloc_surface_pools); smlua_bind_function(L, "clear_dynamic_surfaces", smlua_func_clear_dynamic_surfaces); smlua_bind_function(L, "get_area_terrain_size", smlua_func_get_area_terrain_size); smlua_bind_function(L, "load_area_terrain", smlua_func_load_area_terrain); smlua_bind_function(L, "load_object_collision_model", smlua_func_load_object_collision_model); }