diff --git a/autogen/convert_functions.py b/autogen/convert_functions.py index a4597f02f..4b3f70adc 100644 --- a/autogen/convert_functions.py +++ b/autogen/convert_functions.py @@ -28,7 +28,7 @@ in_files = [ "src/game/mario_actions_submerged.c", "src/game/mario_step.h", "src/game/mario.h", - "src/game/rumble_init.c", + "src/game/rumble_init.h", "src/pc/djui/djui_popup.h", "src/pc/network/network_utils.h", "src/pc/djui/djui_console.h", @@ -75,7 +75,7 @@ in_files = [ override_allowed_functions = { "src/audio/external.h": [ " play_", "fade", "current_background", "stop_", "sound_banks", "drop_queued_background_music", "set_sound_moving_speed", "background_music_default_volume", "get_sound_pan", "sound_get_level_intensity", "set_audio_muted" ], - "src/game/rumble_init.c": [ "queue_rumble_", "reset_rumble_timers" ], + "src/game/rumble_init.h": [ "queue_rumble_", "reset_rumble_timers" ], "src/pc/djui/djui_popup.h": [ "create" ], "src/pc/djui/djui_language.h": [ "djui_language_get" ], "src/pc/djui/djui_panel_menu.h": [ "djui_menu_get_rainbow_string_color" ], diff --git a/autogen/lua_definitions/functions.lua b/autogen/lua_definitions/functions.lua index 512554779..786e9d104 100644 --- a/autogen/lua_definitions/functions.lua +++ b/autogen/lua_definitions/functions.lua @@ -8304,6 +8304,7 @@ end --- @param a0 integer --- @param a1 integer +--- Queues rumble data function queue_rumble_data(a0, a1) -- ... end @@ -8311,6 +8312,7 @@ end --- @param m MarioState --- @param a0 integer --- @param a1 integer +--- Queues rumble data for Mario function queue_rumble_data_mario(m, a0, a1) -- ... end @@ -8318,17 +8320,20 @@ end --- @param object Object --- @param a0 integer --- @param a1 integer +--- Queues rumble data for object, factoring in its distance from Mario function queue_rumble_data_object(object, a0, a1) -- ... end --- @param m MarioState +--- Resets rumble timers function reset_rumble_timers(m) -- ... end --- @param m MarioState --- @param a0 integer +--- Resets rumble timers and sets a field based on `a0` function reset_rumble_timers_2(m, a0) -- ... end diff --git a/docs/lua/functions-5.md b/docs/lua/functions-5.md index d6e7fc4d5..9b7cc8994 100644 --- a/docs/lua/functions-5.md +++ b/docs/lua/functions-5.md @@ -4591,13 +4591,16 @@
--- -# functions from rumble_init.c +# functions from rumble_init.h
## [queue_rumble_data](#queue_rumble_data) +### Description +Queues rumble data + ### Lua Example `queue_rumble_data(a0, a1)` @@ -4619,6 +4622,9 @@ ## [queue_rumble_data_mario](#queue_rumble_data_mario) +### Description +Queues rumble data for Mario + ### Lua Example `queue_rumble_data_mario(m, a0, a1)` @@ -4641,6 +4647,9 @@ ## [queue_rumble_data_object](#queue_rumble_data_object) +### Description +Queues rumble data for object, factoring in its distance from Mario + ### Lua Example `queue_rumble_data_object(object, a0, a1)` @@ -4663,6 +4672,9 @@ ## [reset_rumble_timers](#reset_rumble_timers) +### Description +Resets rumble timers + ### Lua Example `reset_rumble_timers(m)` @@ -4683,6 +4695,9 @@ ## [reset_rumble_timers_2](#reset_rumble_timers_2) +### Description +Resets rumble timers and sets a field based on `a0` + ### Lua Example `reset_rumble_timers_2(m, a0)` diff --git a/docs/lua/functions.md b/docs/lua/functions.md index 6a6b19824..878e1acbe 100644 --- a/docs/lua/functions.md +++ b/docs/lua/functions.md @@ -1571,7 +1571,7 @@
-- rumble_init.c +- rumble_init.h - [queue_rumble_data](functions-5.md#queue_rumble_data) - [queue_rumble_data_mario](functions-5.md#queue_rumble_data_mario) - [queue_rumble_data_object](functions-5.md#queue_rumble_data_object) diff --git a/src/game/rumble_init.h b/src/game/rumble_init.h index 2c226f701..e6e6329f4 100644 --- a/src/game/rumble_init.h +++ b/src/game/rumble_init.h @@ -1,17 +1,24 @@ #ifndef RUMBLE_INIT_H #define RUMBLE_INIT_H +// this file is very scarcely documented + extern s32 gRumblePakTimer; void init_rumble_pak_scheduler_queue(void); void block_until_rumble_pak_free(void); void release_rumble_pak_control(void); +/* |description|Queues rumble data|descriptionEnd| */ void queue_rumble_data(s16 a0, s16 a1); +/* |description|Queues rumble data for object, factoring in its distance from Mario|descriptionEnd| */ void queue_rumble_data_object(struct Object* object, s16 a0, s16 a1); +/* |description|Queues rumble data for Mario|descriptionEnd| */ void queue_rumble_data_mario(struct MarioState* m, s16 a0, s16 a1); void func_sh_8024C89C(s16 a0); u8 is_rumble_finished_and_queue_empty(void); +/* |description|Resets rumble timers|descriptionEnd| */ void reset_rumble_timers(struct MarioState* m); +/* |description|Resets rumble timers and sets a field based on `a0`|descriptionEnd| */ void reset_rumble_timers_2(struct MarioState* m, s32 a0); void func_sh_8024CA04(void); void cancel_rumble(void); diff --git a/src/pc/lua/smlua_functions_autogen.c b/src/pc/lua/smlua_functions_autogen.c index 1384a3e6a..c3f3f02ae 100644 --- a/src/pc/lua/smlua_functions_autogen.c +++ b/src/pc/lua/smlua_functions_autogen.c @@ -11,6 +11,7 @@ #include "src/game/characters.h" #include "src/game/mario_step.h" #include "src/game/mario.h" +#include "src/game/rumble_init.h" #include "src/pc/djui/djui_popup.h" #include "src/pc/network/network_utils.h" #include "src/pc/djui/djui_console.h" @@ -27978,7 +27979,7 @@ int smlua_func_set_object_respawn_info_bits(lua_State* L) { } /////////////////// - // rumble_init.c // + // rumble_init.h // /////////////////// int smlua_func_queue_rumble_data(lua_State* L) { @@ -27995,7 +27996,6 @@ int smlua_func_queue_rumble_data(lua_State* L) { 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; @@ -28017,7 +28017,6 @@ int smlua_func_queue_rumble_data_mario(lua_State* L) { 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; @@ -28039,7 +28038,6 @@ int smlua_func_queue_rumble_data_object(lua_State* L) { 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; @@ -28057,7 +28055,6 @@ int smlua_func_reset_rumble_timers(lua_State* L) { 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; @@ -28077,7 +28074,6 @@ int smlua_func_reset_rumble_timers_2(lua_State* L) { 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; @@ -35052,7 +35048,7 @@ void smlua_bind_functions_autogen(void) { // object_list_processor.h smlua_bind_function(L, "set_object_respawn_info_bits", smlua_func_set_object_respawn_info_bits); - // rumble_init.c + // rumble_init.h 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);