diff --git a/autogen/convert_functions.py b/autogen/convert_functions.py index dcbbd45c..0f3c1e83 100644 --- a/autogen/convert_functions.py +++ b/autogen/convert_functions.py @@ -512,6 +512,9 @@ def reject_line(line): return True def normalize_type(t): + if 'char' not in t: + t = t.replace('const', '') + t = t.strip() if ' ' in t: parts = t.split(' ', 1) diff --git a/autogen/lua_definitions/functions.lua b/autogen/lua_definitions/functions.lua index 1d2fd9e6..2368f405 100644 --- a/autogen/lua_definitions/functions.lua +++ b/autogen/lua_definitions/functions.lua @@ -7435,6 +7435,14 @@ function obj_init_animation_with_accel_and_sound(obj, animIndex, accel) -- ... end +--- @param obj Object +--- @param animations AnimationTable +--- @param animIndex integer +--- @return nil +function obj_init_animation_with_sound(obj, animations, animIndex) + -- ... +end + --- @param obj Object --- @return integer function obj_is_hidden(obj) diff --git a/docs/lua/functions-4.md b/docs/lua/functions-4.md index ff4d6bd7..9174a464 100644 --- a/docs/lua/functions-4.md +++ b/docs/lua/functions-4.md @@ -5341,6 +5341,28 @@
+## [obj_init_animation_with_sound](#obj_init_animation_with_sound) + +### Lua Example +`obj_init_animation_with_sound(obj, animations, animIndex)` + +### Parameters +| Field | Type | +| ----- | ---- | +| obj | [Object](structs.md#Object) | +| animations | [AnimationTable](structs.md#AnimationTable) | +| animIndex | `integer` | + +### Returns +- None + +### C Prototype +`void obj_init_animation_with_sound(struct Object *obj, const struct AnimationTable* animations, s32 animIndex);` + +[:arrow_up_small:](#) + +
+ ## [obj_is_hidden](#obj_is_hidden) ### Lua Example diff --git a/docs/lua/functions.md b/docs/lua/functions.md index 4e8c6d49..11f7b230 100644 --- a/docs/lua/functions.md +++ b/docs/lua/functions.md @@ -1384,6 +1384,7 @@ - [obj_has_behavior](functions-4.md#obj_has_behavior) - [obj_init_animation](functions-4.md#obj_init_animation) - [obj_init_animation_with_accel_and_sound](functions-4.md#obj_init_animation_with_accel_and_sound) + - [obj_init_animation_with_sound](functions-4.md#obj_init_animation_with_sound) - [obj_is_hidden](functions-4.md#obj_is_hidden) - [obj_mark_for_deletion](functions-4.md#obj_mark_for_deletion) - [obj_pitch_to_object](functions-4.md#obj_pitch_to_object) diff --git a/src/pc/lua/smlua_functions_autogen.c b/src/pc/lua/smlua_functions_autogen.c index 4d707c52..b98a84f9 100644 --- a/src/pc/lua/smlua_functions_autogen.c +++ b/src/pc/lua/smlua_functions_autogen.c @@ -9082,7 +9082,7 @@ int smlua_func_get_id_from_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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)); @@ -9116,7 +9116,7 @@ int smlua_func_get_id_from_vanilla_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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)); @@ -20955,7 +20955,7 @@ int smlua_func_count_objects_with_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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); @@ -21445,7 +21445,7 @@ int smlua_func_cur_obj_count_objects_with_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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; } @@ -21533,7 +21533,7 @@ int smlua_func_cur_obj_dist_to_nearest_object_with_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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); @@ -21655,7 +21655,7 @@ int smlua_func_cur_obj_find_nearby_held_actor(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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; } @@ -21675,7 +21675,7 @@ int smlua_func_cur_obj_find_nearest_object_with_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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; } @@ -21787,7 +21787,7 @@ int smlua_func_cur_obj_has_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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); @@ -22333,7 +22333,7 @@ int smlua_func_cur_obj_nearest_object_with_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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); @@ -22605,7 +22605,7 @@ int smlua_func_cur_obj_set_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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); @@ -23409,7 +23409,7 @@ int smlua_func_find_object_with_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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); @@ -23707,7 +23707,7 @@ int smlua_func_get_object_list_from_behavior(lua_State* L) { return 0; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 1, LVT_BEHAVIORSCRIPT_P); + 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); @@ -24489,7 +24489,7 @@ int smlua_func_obj_has_behavior(lua_State* L) { 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; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 2, LVT_BEHAVIORSCRIPT_P); + 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); @@ -24540,7 +24540,6 @@ int smlua_func_obj_init_animation_with_accel_and_sound(lua_State* L) { return 1; } -/* int smlua_func_obj_init_animation_with_sound(lua_State* L) { if (L == NULL) { return 0; } @@ -24552,17 +24551,16 @@ int smlua_func_obj_init_animation_with_sound(lua_State* L) { 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; } -// const structAnimation*const* animations = (const structAnimation*const*)smlua_to_cobject(L, 2, LOT_???); <--- UNIMPLEMENTED + 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 Animation * const* animations, s32 animIndex); + 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; } @@ -24721,7 +24719,7 @@ int smlua_func_obj_set_behavior(lua_State* L) { 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; } - const BehaviorScript* behavior = (const BehaviorScript*)smlua_to_cpointer(L, 2, LVT_BEHAVIORSCRIPT_P); + 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); @@ -24760,7 +24758,7 @@ int smlua_func_obj_set_collision_data(lua_State* L) { 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; } -// const void* segAddr = (const void*)smlua_to_cobject(L, 2, LOT_???); <--- UNIMPLEMENTED +// 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); @@ -24951,7 +24949,7 @@ int smlua_func_obj_set_held_state(lua_State* L) { 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; } - const BehaviorScript* heldBehavior = (const BehaviorScript*)smlua_to_cpointer(L, 2, LVT_BEHAVIORSCRIPT_P); + 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); @@ -25179,7 +25177,7 @@ int smlua_func_obj_spawn_loot_coins(lua_State* L) { 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; } - const BehaviorScript* coinBehavior = (const BehaviorScript*)smlua_to_cpointer(L, 4, LVT_BEHAVIORSCRIPT_P); + 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; } @@ -30794,7 +30792,7 @@ void smlua_bind_functions_autogen(void) { 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); <--- UNIMPLEMENTED + 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);