mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2026-04-26 03:51:46 +00:00
Expose sound_banks_enable/disable to Lua (#311)
This commit is contained in:
parent
bd2bd7c498
commit
22952dda05
9 changed files with 156 additions and 2 deletions
|
|
@ -39,7 +39,8 @@ in_files = [
|
|||
"include/surface_terrains.h",
|
||||
"src/game/level_update.h",
|
||||
"src/pc/network/version.h",
|
||||
"include/level_commands.h"
|
||||
"include/level_commands.h",
|
||||
"src/audio/external.h"
|
||||
]
|
||||
|
||||
exclude_constants = {
|
||||
|
|
@ -49,6 +50,7 @@ exclude_constants = {
|
|||
|
||||
include_constants = {
|
||||
'include/level_commands.h': [ "WARP_CHECKPOINT", "WARP_NO_CHECKPOINT" ],
|
||||
'src/audio/external.h': [ "SEQ_PLAYER" ]
|
||||
}
|
||||
|
||||
pretend_find = [
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ in_files = [
|
|||
]
|
||||
|
||||
override_allowed_functions = {
|
||||
"src/audio/external.h": [ " play_", "fade", "current_background", "stop_" ],
|
||||
"src/audio/external.h": [ " play_", "fade", "current_background", "stop_", "sound_banks" ],
|
||||
"src/game/rumble_init.c": [ "queue_rumble_", "reset_rumble_timers" ],
|
||||
"src/pc/djui/djui_popup.h" : [ "create" ],
|
||||
"src/game/save_file.h": [ "save_file_get_", "save_file_set_flags", "save_file_clear_flags", "save_file_reload", "save_file_erase_current_backup_save", "save_file_set_star_flags" ],
|
||||
|
|
|
|||
|
|
@ -3263,6 +3263,15 @@ RESOLUTION_N64 = 1
|
|||
--- @type HudUtilsResolution
|
||||
RESOLUTION_COUNT = 2
|
||||
|
||||
--- @type integer
|
||||
SEQ_PLAYER_ENV = 1
|
||||
|
||||
--- @type integer
|
||||
SEQ_PLAYER_LEVEL = 0
|
||||
|
||||
--- @type integer
|
||||
SEQ_PLAYER_SFX = 2
|
||||
|
||||
--- @type integer
|
||||
GEO_CONTEXT_AREA_INIT = 4
|
||||
|
||||
|
|
@ -3818,6 +3827,9 @@ MARIO_SPAWN_UNKNOWN_03 = 0x03
|
|||
--- @type integer
|
||||
MARIO_SPAWN_UNKNOWN_27 = 0x27
|
||||
|
||||
--- @type integer
|
||||
PRESS_START_DEMO_TIMER = 800
|
||||
|
||||
--- @type integer
|
||||
TIMER_CONTROL_HIDE = 3
|
||||
|
||||
|
|
|
|||
|
|
@ -3857,6 +3857,20 @@ function seq_player_unlower_volume(player, fadeDuration)
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @param player integer
|
||||
--- @param bankMask integer
|
||||
--- @return nil
|
||||
function sound_banks_disable(player, bankMask)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param player integer
|
||||
--- @param bankMask integer
|
||||
--- @return nil
|
||||
function sound_banks_enable(player, bankMask)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param seqId integer
|
||||
--- @return nil
|
||||
function stop_background_music(seqId)
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
- [djui_hud_utils.h](#djui_hud_utilsh)
|
||||
- [enum DjuiFontType](#enum-DjuiFontType)
|
||||
- [enum HudUtilsResolution](#enum-HudUtilsResolution)
|
||||
- [external.h](#externalh)
|
||||
- [graph_node.h](#graph_nodeh)
|
||||
- [interaction.c](#interactionc)
|
||||
- [enum InteractionFlag](#enum-InteractionFlag)
|
||||
|
|
@ -1099,6 +1100,15 @@
|
|||
|
||||
<br />
|
||||
|
||||
## [external.h](#external.h)
|
||||
- SEQ_PLAYER_ENV
|
||||
- SEQ_PLAYER_LEVEL
|
||||
- SEQ_PLAYER_SFX
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [graph_node.h](#graph_node.h)
|
||||
- GEO_CONTEXT_AREA_INIT
|
||||
- GEO_CONTEXT_AREA_LOAD
|
||||
|
|
@ -1325,6 +1335,7 @@
|
|||
- MARIO_SPAWN_UNKNOWN_02
|
||||
- MARIO_SPAWN_UNKNOWN_03
|
||||
- MARIO_SPAWN_UNKNOWN_27
|
||||
- PRESS_START_DEMO_TIMER
|
||||
- TIMER_CONTROL_HIDE
|
||||
- TIMER_CONTROL_SHOW
|
||||
- TIMER_CONTROL_START
|
||||
|
|
|
|||
|
|
@ -2806,6 +2806,48 @@
|
|||
|
||||
<br />
|
||||
|
||||
## [sound_banks_disable](#sound_banks_disable)
|
||||
|
||||
### Lua Example
|
||||
`sound_banks_disable(player, bankMask)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| player | `integer` |
|
||||
| bankMask | `integer` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void sound_banks_disable(u8 player, u16 bankMask);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [sound_banks_enable](#sound_banks_enable)
|
||||
|
||||
### Lua Example
|
||||
`sound_banks_enable(player, bankMask)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| player | `integer` |
|
||||
| bankMask | `integer` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void sound_banks_enable(u8 player, u16 bankMask);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [stop_background_music](#stop_background_music)
|
||||
|
||||
### Lua Example
|
||||
|
|
|
|||
|
|
@ -761,6 +761,8 @@
|
|||
- [seq_player_fade_out](functions-3.md#seq_player_fade_out)
|
||||
- [seq_player_lower_volume](functions-3.md#seq_player_lower_volume)
|
||||
- [seq_player_unlower_volume](functions-3.md#seq_player_unlower_volume)
|
||||
- [sound_banks_disable](functions-3.md#sound_banks_disable)
|
||||
- [sound_banks_enable](functions-3.md#sound_banks_enable)
|
||||
- [stop_background_music](functions-3.md#stop_background_music)
|
||||
- [stop_sound](functions-3.md#stop_sound)
|
||||
- [stop_sounds_from_source](functions-3.md#stop_sounds_from_source)
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ char gSmluaConstants[] = ""
|
|||
" return a['_pointer'] == b['_pointer'] and a['_lot'] == b['_lot'] and a['_pointer'] ~= nil and a['_lot'] ~= nil\n"
|
||||
" end\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"_CPointer = {\n"
|
||||
" __index = function (t,k)\n"
|
||||
" return nil\n"
|
||||
|
|
@ -23,6 +24,7 @@ char gSmluaConstants[] = ""
|
|||
" return a['_pointer'] == b['_pointer'] and a['_pointer'] ~= nil and a['_lvt'] ~= nil\n"
|
||||
" end\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"_SyncTable = {\n"
|
||||
" __index = function (t,k)\n"
|
||||
" local _table = rawget(t, '_table')\n"
|
||||
|
|
@ -34,6 +36,7 @@ char gSmluaConstants[] = ""
|
|||
" _set_sync_table_field(t, k, v)\n"
|
||||
" end\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"_ReadOnlyTable = {\n"
|
||||
" __index = function (t,k)\n"
|
||||
" local _table = rawget(t, '_table')\n"
|
||||
|
|
@ -42,6 +45,7 @@ char gSmluaConstants[] = ""
|
|||
" __newindex = function (t,k,v)\n"
|
||||
" end\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3f\n"
|
||||
"--- @param src Vec3f\n"
|
||||
"--- @return Vec3f\n"
|
||||
|
|
@ -51,6 +55,7 @@ char gSmluaConstants[] = ""
|
|||
" dest.z = src.z\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3f\n"
|
||||
"--- @param x number\n"
|
||||
"--- @param y number\n"
|
||||
|
|
@ -62,6 +67,7 @@ char gSmluaConstants[] = ""
|
|||
" dest.z = z\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3f\n"
|
||||
"--- @param a Vec3f\n"
|
||||
"--- @return Vec3f\n"
|
||||
|
|
@ -71,6 +77,7 @@ char gSmluaConstants[] = ""
|
|||
" dest.z = dest.z + a.z\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3f\n"
|
||||
"--- @param a Vec3f\n"
|
||||
"--- @param b Vec3f\n"
|
||||
|
|
@ -81,6 +88,7 @@ char gSmluaConstants[] = ""
|
|||
" dest.z = a.z + b.z\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3f\n"
|
||||
"--- @param a number\n"
|
||||
"--- @return Vec3f\n"
|
||||
|
|
@ -90,6 +98,7 @@ char gSmluaConstants[] = ""
|
|||
" dest.z = dest.z * a\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3f\n"
|
||||
"--- @return Vec3f\n"
|
||||
"function vec3f_normalize(dest)\n"
|
||||
|
|
@ -97,23 +106,28 @@ char gSmluaConstants[] = ""
|
|||
" if divisor == 0 then\n"
|
||||
" return dest\n"
|
||||
" end\n"
|
||||
"\n"
|
||||
" local invsqrt = 1.0 / divisor\n"
|
||||
" dest.x = dest.x * invsqrt\n"
|
||||
" dest.y = dest.y * invsqrt\n"
|
||||
" dest.z = dest.z * invsqrt\n"
|
||||
"\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param a Vec3f\n"
|
||||
"--- @return number\n"
|
||||
"function vec3f_length(a)\n"
|
||||
" return math.sqrt(a.x * a.x + a.y * a.y + a.z * a.z)\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param a Vec3f\n"
|
||||
"--- @param b Vec3f\n"
|
||||
"--- @return number\n"
|
||||
"function vec3f_dot(a, b)\n"
|
||||
" return a.x * b.x + a.y * b.y + a.z * b.z\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param vec Vec3f\n"
|
||||
"--- @param onto Vec3f\n"
|
||||
"--- @return Vec3f\n"
|
||||
|
|
@ -125,6 +139,7 @@ char gSmluaConstants[] = ""
|
|||
" vec3f_mul(out, numerator / denominator)\n"
|
||||
" return out\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param v1 Vec3f\n"
|
||||
"--- @param v2 Vec3f\n"
|
||||
"--- @return number\n"
|
||||
|
|
@ -134,6 +149,7 @@ char gSmluaConstants[] = ""
|
|||
" dz = v1.z - v2.z\n"
|
||||
" return math.sqrt(dx * dx + dy * dy + dz * dz)\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3s\n"
|
||||
"--- @param src Vec3s\n"
|
||||
"--- @return Vec3s\n"
|
||||
|
|
@ -143,6 +159,7 @@ char gSmluaConstants[] = ""
|
|||
" dest.z = src.z\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3s\n"
|
||||
"--- @param x number\n"
|
||||
"--- @param y number\n"
|
||||
|
|
@ -154,6 +171,7 @@ char gSmluaConstants[] = ""
|
|||
" dest.z = z\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3s\n"
|
||||
"--- @param a Vec3s\n"
|
||||
"--- @return Vec3s\n"
|
||||
|
|
@ -163,6 +181,7 @@ char gSmluaConstants[] = ""
|
|||
" dest.z = dest.z + a.z\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3s\n"
|
||||
"--- @param a Vec3s\n"
|
||||
"--- @param b Vec3s\n"
|
||||
|
|
@ -173,6 +192,7 @@ char gSmluaConstants[] = ""
|
|||
" dest.z = a.z + b.z\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param dest Vec3s\n"
|
||||
"--- @param a number\n"
|
||||
"--- @return Vec3s\n"
|
||||
|
|
@ -182,6 +202,7 @@ char gSmluaConstants[] = ""
|
|||
" dest.z = dest.z * a\n"
|
||||
" return dest\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param v1 Vec3s\n"
|
||||
"--- @param v2 Vec3s\n"
|
||||
"--- @return number\n"
|
||||
|
|
@ -191,6 +212,7 @@ char gSmluaConstants[] = ""
|
|||
" dz = v1.z - v2.z\n"
|
||||
" return math.sqrt(dx * dx + dy * dy + dz * dz)\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param current number\n"
|
||||
"--- @param target number\n"
|
||||
"--- @param inc number\n"
|
||||
|
|
@ -210,6 +232,7 @@ char gSmluaConstants[] = ""
|
|||
" end\n"
|
||||
" return current;\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param current number\n"
|
||||
"--- @param target number\n"
|
||||
"--- @param inc number\n"
|
||||
|
|
@ -227,6 +250,7 @@ char gSmluaConstants[] = ""
|
|||
" current = target\n"
|
||||
" end\n"
|
||||
" end\n"
|
||||
"\n"
|
||||
" -- keep within 32 bits\n"
|
||||
" if current > 2147483647 then\n"
|
||||
" current = -2147483648 + (current - 2147483647)\n"
|
||||
|
|
@ -235,6 +259,7 @@ char gSmluaConstants[] = ""
|
|||
" end\n"
|
||||
" return current;\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"--- @param bank number\n"
|
||||
"--- @param soundID number\n"
|
||||
"--- @param priority number\n"
|
||||
|
|
@ -244,9 +269,11 @@ char gSmluaConstants[] = ""
|
|||
" if flags == nil then flags = 0 end\n"
|
||||
" return (bank << 28) | (soundID << 16) | (priority << 8) | flags | SOUND_STATUS_WAITING\n"
|
||||
"end\n"
|
||||
"\n"
|
||||
"-------------\n"
|
||||
"-- courses --\n"
|
||||
"-------------\n"
|
||||
"\n"
|
||||
"--- @type integer\n"
|
||||
"COURSE_NONE = 0\n"
|
||||
"--- @type integer\n"
|
||||
|
|
@ -1278,6 +1305,9 @@ char gSmluaConstants[] = ""
|
|||
"FONT_MENU = 1\n"
|
||||
"FONT_HUD = 2\n"
|
||||
"FONT_COUNT = 3\n"
|
||||
"SEQ_PLAYER_LEVEL = 0\n"
|
||||
"SEQ_PLAYER_ENV = 1\n"
|
||||
"SEQ_PLAYER_SFX = 2\n"
|
||||
"GRAPH_RENDER_ACTIVE = (1 << 0)\n"
|
||||
"GRAPH_RENDER_CHILDREN_FIRST = (1 << 1)\n"
|
||||
"GRAPH_RENDER_BILLBOARD = (1 << 2)\n"
|
||||
|
|
@ -1487,6 +1517,7 @@ char gSmluaConstants[] = ""
|
|||
"WARP_TYPE_CHANGE_LEVEL = 1\n"
|
||||
"WARP_TYPE_CHANGE_AREA = 2\n"
|
||||
"WARP_TYPE_SAME_AREA = 3\n"
|
||||
"PRESS_START_DEMO_TIMER = 800\n"
|
||||
"HUD_DISPLAY_FLAG_LIVES = 0x0001\n"
|
||||
"HUD_DISPLAY_FLAG_COIN_COUNT = 0x0002\n"
|
||||
"HUD_DISPLAY_FLAG_STAR_COUNT = 0x0004\n"
|
||||
|
|
|
|||
|
|
@ -12197,6 +12197,44 @@ int smlua_func_seq_player_unlower_volume(lua_State* L) {
|
|||
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; }
|
||||
|
||||
|
|
@ -29619,6 +29657,8 @@ void smlua_bind_functions_autogen(void) {
|
|||
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, "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_sound", smlua_func_stop_sound);
|
||||
smlua_bind_function(L, "stop_sounds_from_source", smlua_func_stop_sounds_from_source);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue