diff --git a/Makefile b/Makefile index 12195f5c..cc9cdc96 100644 --- a/Makefile +++ b/Makefile @@ -304,6 +304,11 @@ $(shell mkdir -p sound/samples/sfx_custom_luigi sound/samples/sfx_custom_luigi_p $(shell cp -n sound/samples/sfx_mario/*.aiff sound/samples/sfx_custom_luigi/ ) $(shell cp -n sound/samples/sfx_mario_peach/*.aiff sound/samples/sfx_custom_luigi_peach/ ) +# Copy missing wario sounds from mario sound banks +$(shell mkdir -p sound/samples/sfx_custom_wario sound/samples/sfx_custom_wario_peach ) +$(shell cp -n sound/samples/sfx_mario/*.aiff sound/samples/sfx_custom_wario/ ) +$(shell cp -n sound/samples/sfx_mario_peach/*.aiff sound/samples/sfx_custom_wario_peach/ ) + # Make tools if out of date ifneq ($(WINDOWS_AUTO_BUILDER),1) DUMMY != make -C tools >&2 || echo FAIL diff --git a/include/audio_defines.h b/include/audio_defines.h index c2008764..0e9d69bf 100644 --- a/include/audio_defines.h +++ b/include/audio_defines.h @@ -13,6 +13,7 @@ ((u32) (flags2) << 4) | SOUND_STATUS_STARTING) #include "luigi_audio_defines.h" +#include "wario_audio_defines.h" #define SOUNDARGS_MASK_BANK 0xF0000000 #define SOUNDARGS_MASK_SOUNDID 0x00FF0000 diff --git a/include/seq_wario.inc b/include/seq_wario.inc new file mode 100644 index 00000000..76bd69be --- /dev/null +++ b/include/seq_wario.inc @@ -0,0 +1,665 @@ +.channel11: +chan_largenoteson +chan_setinstr 0 +chan_setpanmix 127 +chan_setnotepriority 14 +chan_setval 0 +chan_iowriteval 5 +chan_stereoheadseteffects 1 +chan_setdyntable .channel11_table +chan_jump .main_loop_wario + +.main_loop_wario: +chan_delay1 +chan_ioreadval 0 +chan_bltz .main_loop_wario +.start_playing_wario: +chan_freelayer 0 +chan_freelayer 1 +chan_freelayer 2 +chan_setval 0 +chan_iowriteval 5 +chan_ioreadval 4 +chan_dyncall + + +.poll_wario: +chan_delay1 +chan_ioreadval 0 +chan_bltz .skip_wario + chan_beqz .force_stop_wario + chan_jump .start_playing_wario +.skip_wario: +chan_testlayerfinished 0 +chan_beqz .poll_wario +chan_jump .main_loop_wario +.force_stop_wario: +chan_freelayer 0 +chan_freelayer 1 +chan_freelayer 2 +chan_jump .main_loop_wario + +.channel11_table: +sound_ref .sound_wario_jump_yah +sound_ref .sound_wario_jump_wah +sound_ref .sound_wario_jump_hoo +sound_ref .sound_wario_hoohoo +sound_ref .sound_wario_yahoo +sound_ref .sound_wario_uh +sound_ref .sound_wario_hrmm +sound_ref .sound_wario_wah2 +sound_ref .sound_wario_whoa +sound_ref .sound_wario_eeuh +sound_ref .sound_wario_attacked +sound_ref .sound_wario_ooof +sound_ref .sound_wario_here_we_go +sound_ref .sound_wario_yawning +sound_ref .sound_wario_snoring1 +sound_ref .sound_wario_snoring2 +sound_ref .sound_wario_waaaooow +sound_ref .sound_wario_haha +sound_ref .sound_wario_panting1 +sound_ref .sound_wario_uh2 +sound_ref .sound_wario_on_fire +sound_ref .sound_wario_dying +sound_ref .sound_wario_panting_cold +sound_ref .sound_wario_coughing3 +sound_ref .sound_wario_panting1 +sound_ref .sound_wario_panting2 +sound_ref .sound_wario_panting3 +sound_ref .sound_wario_coughing1 +sound_ref .sound_wario_coughing2 +sound_ref .sound_wario_coughing3 +sound_ref .sound_wario_punch_yah +sound_ref .sound_wario_punch_hoo +sound_ref .sound_wario_mama_mia +sound_ref .sound_wario_okey_dokey +sound_ref .sound_wario_ground_pound_wah +sound_ref .sound_wario_drowning +sound_ref .sound_wario_punch_wah +sound_ref .sound_wario_uh +sound_ref .sound_wario_hrmm +sound_ref .sound_wario_wah2 +.ifdef VERSION_JP + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo +.else + sound_ref .sound_peach_dear_wario + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_jump_hoo + sound_ref .sound_wario_yahoo + sound_ref .sound_wario_yahoo + sound_ref .sound_wario_yahoo + sound_ref .sound_wario_waha + sound_ref .sound_wario_yippee + sound_ref .sound_wario_doh + sound_ref .sound_wario_game_over + sound_ref .sound_wario_hello + sound_ref .sound_wario_press_start_to_play + sound_ref .sound_wario_twirl_bounce + sound_ref .sound_wario_snoring3 + sound_ref .sound_wario_so_longa_bowser + sound_ref .sound_wario_ima_tired +.endif + +.sound_wario_jump_hoo: +chan_setbank 13 +chan_setinstr 0 +chan_setlayer 0, .layer_wario_C3C +chan_end + +.layer_wario_C3C: +.ifdef VERSION_EU + layer_transpose 2 +.endif +layer_portamento 0x82, 41, 127 +layer_note1 37, 0x14, 127 +layer_end + +.sound_wario_jump_wah: +chan_setbank 13 +chan_setinstr 1 +chan_setlayer 0, .layer_wario_C4C +chan_end + +.layer_wario_C4C: +layer_transpose 0 +.layer_wario_C4E: +layer_note1 38, 0x34, 127 +layer_end + +.sound_wario_jump_yah: +chan_setbank 14 +chan_setinstr 9 +chan_setlayer 0, .layer_wario_C5A +chan_end + +.layer_wario_C5A: +layer_transpose 254 +.layer_wario_C5C: +layer_portamento 0x82, 39, 200 +layer_note1 38, 0x24, 120 +layer_end + +.sound_wario_hoohoo: +chan_setbank 14 +chan_setinstr 1 +chan_setlayer 0, .layer_wario_C6C +chan_end + +.layer_wario_C6C: +.ifdef VERSION_EU + layer_transpose 1 +.endif +layer_portamento 0x82, 44, 200 +layer_note1 39, 0x30, 127 +layer_end + +.sound_wario_yahoo: +chan_setbank 13 +chan_setinstr 4 +chan_setlayer 0, .layer_wario_C7C +chan_end + +.layer_wario_C7C: +layer_transpose 254 +layer_somethingon +layer_portamento 0x85, 39, 255 +layer_note1 42, 0x1e, 110 +layer_note1 39, 0x41, 110 +layer_end + +.sound_wario_uh: +chan_setbank 13 +chan_setinstr 5 +chan_setlayer 0, .layer_wario_C92 +chan_end + +.layer_wario_C92: +layer_transpose 254 +layer_portamento 0x81, 41, 255 +layer_note1 38, 0x2b, 115 +layer_end + +.sound_wario_hrmm: +chan_setbank 13 +chan_setinstr 6 +chan_setlayer 0, .layer_wario_CA4 +chan_end + +.layer_wario_CA4: +layer_transpose 254 +layer_note1 44, 0x1e, 110 +layer_end + +.sound_wario_wah2: +chan_setbank 13 +chan_setinstr 7 +chan_setlayer 0, .layer_wario_CB2 +chan_end + +.layer_wario_CB2: +layer_transpose 253 +layer_note1 39, 0x1c, 127 +layer_end + +.sound_wario_whoa: +chan_setbank 13 +chan_setinstr 8 +chan_setlayer 0, .layer_wario_CC0 +chan_end + +.layer_wario_CC0: +layer_transpose 254 +layer_note1 40, 0x30, 110 +layer_end + +.sound_wario_eeuh: +chan_setbank 13 +chan_setinstr 9 +chan_setlayer 0, .layer_wario_CCE +chan_end + +.layer_wario_CCE: +layer_transpose 254 +layer_note1 40, 0x44, 105 +layer_end + +.sound_wario_attacked: +chan_setbank 13 +chan_setinstr 10 +chan_setlayer 0, .layer_wario_CDC +chan_end + +.layer_wario_CDC: +layer_transpose 254 +layer_note1 41, 0x30, 120 +layer_end + +.sound_wario_ooof: +chan_setbank 13 +chan_setinstr 11 +chan_setlayer 0, .layer_wario_CEA +chan_end + +.layer_wario_CEA: +layer_transpose 254 +layer_note1 38, 0x30, 127 +layer_end + +.sound_wario_here_we_go: +chan_setbank 13 +chan_setinstr 12 +chan_setlayer 0, .layer_wario_CF8 +chan_end + +.layer_wario_CF8: +layer_portamento 0x81, 38, 200 +layer_note1 41, 0x85, 127 +layer_end + +.sound_wario_yawning: +chan_setbank 13 +chan_setinstr 13 +chan_setlayer 0, .layer_wario_D09 +chan_end + +.layer_wario_D09: +layer_transpose 254 +layer_note1 39, 0x7f, 105 +layer_end + +.sound_wario_snoring1: +chan_setbank 13 +chan_setinstr 14 +chan_setlayer 0, .layer_wario_D17 +chan_end + +.layer_wario_D17: +layer_transpose 254 +layer_note1 39, 0x60, 64 +layer_end + +.sound_wario_snoring2: +chan_setbank 13 +chan_setinstr 15 +chan_setlayer 0, .layer_wario_D25 +chan_end + +.layer_wario_D25: +layer_transpose 254 +layer_note1 39, 0x5c, 52 +layer_end + +.sound_wario_waaaooow: +chan_setbank 14 +chan_setinstr 0 +chan_setlayer 0, .layer_wario_D33 +chan_end + +.layer_wario_D33: +layer_transpose 254 +layer_note1 39, 0xaa, 127 +layer_end + +.sound_wario_haha: +chan_setbank 13 +chan_setinstr 3 +chan_setlayer 0, .layer_wario_D42 +chan_end + +.layer_wario_D42: +layer_transpose 255 +layer_note1 39, 0x4d, 120 +layer_end + +.sound_wario_uh2: +chan_setbank 14 +chan_setinstr 6 +chan_setlayer 0, .layer_wario_D50 +chan_end + +.layer_wario_D50: +layer_transpose 254 +layer_note1 43, 0x1e, 105 +layer_end + +.sound_wario_on_fire: +chan_setbank 14 +chan_setinstr 5 +chan_setlayer 0, .layer_wario_D5E +chan_end + +.layer_wario_D5E: +layer_transpose 254 +layer_note1 39, 0xc8, 127 +layer_end + +.sound_wario_dying: +chan_setbank 14 +chan_setinstr 4 +chan_setlayer 0, .layer_wario_D6D +chan_end + +.layer_wario_D6D: +layer_transpose 254 +layer_note1 39, 0x8c, 110 +layer_end + +.sound_wario_panting_cold: +chan_setbank 14 +chan_setinstr 2 +chan_setlayer 0, .layer_wario_D7C +chan_end + +.layer_wario_D7C: +layer_transpose 254 +layer_portamento 0x82, 35, 255 +layer_note1 38, 0x30, 127 +layer_end + +.sound_wario_panting1: +chan_setbank 14 +chan_setinstr 2 +chan_setlayer 0, .layer_wario_D8E +chan_end + +.layer_wario_D8E: +layer_transpose 254 +layer_note1 39, 0x3c, 100 +layer_end + +.sound_wario_panting2: +chan_setbank 14 +chan_setinstr 2 +chan_setlayer 0, .layer_wario_D9C +chan_end + +.layer_wario_D9C: +layer_transpose 254 +layer_delay 0x4 +layer_note1 38, 0x3c, 100 +layer_end + +.sound_wario_panting3: +chan_setbank 14 +chan_setinstr 2 +chan_setlayer 0, .layer_wario_DAC +chan_end + +.layer_wario_DAC: +layer_transpose 254 +layer_delay 0x8 +layer_note1 40, 0x3c, 100 +layer_end + +.sound_wario_coughing1: +chan_setbank 14 +chan_setinstr 7 +chan_setlayer 0, .layer_wario_DBC +chan_end + +.layer_wario_DBC: +layer_transpose 254 +layer_note1 39, 0x10, 115 +layer_end + +.sound_wario_coughing2: +chan_setbank 14 +chan_setinstr 7 +chan_setlayer 0, .layer_wario_DCA +chan_end + +.layer_wario_DCA: +layer_transpose 254 +layer_portamento 0x81, 38, 255 +layer_note1 41, 0x18, 115 +layer_end + +.sound_wario_coughing3: +chan_setbank 14 +chan_setinstr 7 +chan_setlayer 0, .layer_wario_DDC +chan_end + +.layer_wario_DDC: +layer_transpose 254 +layer_somethingon +layer_portamento 0x85, 38, 255 +layer_note1 41, 0xc, 115 +layer_note1 35, 0x12, 115 +layer_end + +.sound_wario_punch_yah: +chan_setbank 14 +chan_setinstr 9 +chan_setlayer 0, .layer_wario_DFE +chan_setval 1 +chan_call .delay +chan_setbank 0 +chan_setinstr 0 +chan_setlayer 1, .layer_wario_538 +chan_end + +.layer_wario_538: +layer_portamento 0x81, 46, 255 +layer_note1 31, 0xf, 100 +layer_end + +.layer_wario_DFE: +layer_transpose 254 +layer_jump .layer_wario_C5C + +.sound_wario_punch_hoo: +chan_setbank 14 +chan_setinstr 10 +chan_setlayer 0, .layer_wario_E17 +chan_setval 1 +chan_call .delay +chan_setbank 0 +chan_setinstr 0 +chan_setlayer 1, .layer_wario_548 +chan_end + +.layer_wario_548: +layer_note1 39, 0x12, 100 +layer_end + +.layer_wario_E17: +layer_transpose 254 +layer_portamento 0x81, 42, 255 +layer_note1 38, 0x30, 115 +layer_end + +.sound_wario_mama_mia: +chan_setbank 14 +chan_setinstr 11 +chan_setlayer 0, .layer_wario_E29 +chan_end + +.layer_wario_E29: +layer_portamento 0x81, 38, 255 +layer_note1 36, 0x8c, 115 +layer_end + +.sound_wario_okey_dokey: +chan_setbank 14 +chan_setinstr 12 +chan_setlayer 0, .layer_wario_E3A +chan_end + +.layer_wario_E3A: +layer_note1 39, 0x60, 115 +layer_end + +.sound_wario_ground_pound_wah: +chan_jump .sound_wario_wah2 + +.sound_wario_drowning: +chan_setbank 14 +chan_setinstr 13 +chan_setlayer 0, .layer_wario_E49 +chan_end + +.layer_wario_E49: +layer_note1 38, 0x91, 127 +layer_end + +.sound_wario_punch_wah: +chan_setbank 13 +chan_setinstr 1 +chan_setlayer 0, .layer_wario_E62 +chan_setval 1 +chan_call .delay +chan_setbank 0 +chan_setinstr 0 +chan_setlayer 1, .layer_wario_536 +chan_end + +.layer_wario_536: +layer_transpose 1 + +.layer_wario_E62: +layer_transpose 255 +layer_jump .layer_wario_C4E + +.ifndef VERSION_JP + .sound_peach_dear_wario: + chan_setbank 14 + chan_setinstr 15 + chan_setlayer 0, .layer_wario_E6F + chan_end + + .layer_wario_E6F: + layer_note1 39, 0x2bc, 127 + layer_end + + .sound_wario_waha: + chan_setbank 13 + chan_setinstr 24 + chan_setlayer 0, .layer_wario_E7C + chan_end + + .layer_wario_E7C: + layer_note1 39, 0x5a, 127 + layer_end + + .sound_wario_yippee: + chan_setbank 13 + chan_setinstr 25 + chan_setlayer 0, .layer_wario_E88 + chan_end + + .layer_wario_E88: + layer_note1 39, 0x5a, 97 + layer_end + + .sound_wario_doh: + chan_setbank 13 + chan_setinstr 16 + chan_setlayer 0, .layer_wario_E94 + chan_end + + .layer_wario_E94: + layer_note1 41, 0x46, 127 + layer_end + + .sound_wario_game_over: + chan_setbank 13 + chan_setinstr 17 + chan_setlayer 0, .layer_wario_EA0 + chan_end + + .layer_wario_EA0: + layer_note1 39, 0x55, 110 + layer_end + + .sound_wario_hello: + chan_setbank 13 + chan_setinstr 18 + chan_setlayer 0, .layer_wario_EAC + chan_end + + .layer_wario_EAC: + layer_note1 39, 0x46, 127 + layer_end + + .sound_wario_press_start_to_play: + chan_setbank 13 + chan_setinstr 19 + chan_setlayer 0, .layer_wario_EB8 + chan_end + + .layer_wario_EB8: + layer_note1 39, 0x12c, 127 + layer_end + + .sound_wario_twirl_bounce: + chan_setbank 13 + chan_setinstr 20 + chan_setlayer 0, .layer_wario_EC5 + chan_end + + .layer_wario_EC5: + layer_note1 39, 0x30, 127 + layer_end + + .sound_wario_snoring3: + chan_setbank 13 + chan_setlayer 0, .layer_wario_ECF + chan_end + + .layer_wario_ECF: + layer_delay 0x4e + .layer_wario_ED1: + layer_loop 50 + layer_call .layer_wario_fn_EE1 + layer_loopend + layer_setinstr 21 + layer_note1 39, 0x44c, 127 + layer_jump .layer_wario_ED1 + layer_end + + .layer_wario_fn_EE1: + layer_setinstr 21 + layer_note1 37, 0x53, 127 + layer_setinstr 15 + layer_note1 37, 0x4e, 64 + layer_end + + .sound_wario_so_longa_bowser: + chan_setbank 13 + chan_setinstr 22 + chan_setlayer 0, .layer_wario_EF7 + chan_setlayer 1, .layer_wario_EF7 + chan_end + + .layer_wario_EF7: + layer_portamento 0x82, 42, 200 + layer_note1 39, 0xc8, 110 + layer_end + + .sound_wario_ima_tired: + chan_setbank 13 + chan_setinstr 23 + chan_setlayer 0, .layer_wario_F08 + chan_end + + .layer_wario_F08: + layer_note1 39, 0x96, 110 + layer_end +.endif diff --git a/include/wario_audio_defines.h b/include/wario_audio_defines.h new file mode 100644 index 00000000..8ecfc8f0 --- /dev/null +++ b/include/wario_audio_defines.h @@ -0,0 +1,57 @@ +#ifndef WARIO_AUDIO_DEFINES_H +#define WARIO_AUDIO_DEFINES_H + +/* Mario Sound Effects */ +// A random number 0-2 is added to the sound ID before playing, producing Yah/Wah/Hoo +#define SOUND_WARIO_YAH_WAH_HOO SOUND_ARG_LOAD(0x0B, 4, 0x00, 0x80, 8) +#define SOUND_WARIO_HOOHOO SOUND_ARG_LOAD(0x0B, 4, 0x03, 0x80, 8) +#define SOUND_WARIO_YAHOO SOUND_ARG_LOAD(0x0B, 4, 0x04, 0x80, 8) +#define SOUND_WARIO_UH SOUND_ARG_LOAD(0x0B, 4, 0x05, 0x80, 8) +#define SOUND_WARIO_HRMM SOUND_ARG_LOAD(0x0B, 4, 0x06, 0x80, 8) +#define SOUND_WARIO_WAH2 SOUND_ARG_LOAD(0x0B, 4, 0x07, 0x80, 8) +#define SOUND_WARIO_WHOA SOUND_ARG_LOAD(0x0B, 4, 0x08, 0xC0, 8) +#define SOUND_WARIO_EEUH SOUND_ARG_LOAD(0x0B, 4, 0x09, 0x80, 8) +#define SOUND_WARIO_ATTACKED SOUND_ARG_LOAD(0x0B, 4, 0x0A, 0xFF, 8) +#define SOUND_WARIO_OOOF SOUND_ARG_LOAD(0x0B, 4, 0x0B, 0x80, 8) +#define SOUND_WARIO_OOOF2 SOUND_ARG_LOAD(0x0B, 4, 0x0B, 0xD0, 8) +#define SOUND_WARIO_HERE_WE_GO SOUND_ARG_LOAD(0x0B, 4, 0x0C, 0x80, 8) +#define SOUND_WARIO_YAWNING SOUND_ARG_LOAD(0x0B, 4, 0x0D, 0x80, 8) +#define SOUND_WARIO_SNORING1 SOUND_ARG_LOAD(0x0B, 4, 0x0E, 0x00, 8) +#define SOUND_WARIO_SNORING2 SOUND_ARG_LOAD(0x0B, 4, 0x0F, 0x00, 8) +#define SOUND_WARIO_WAAAOOOW SOUND_ARG_LOAD(0x0B, 4, 0x10, 0xC0, 8) +#define SOUND_WARIO_HAHA SOUND_ARG_LOAD(0x0B, 4, 0x11, 0x80, 8) +#define SOUND_WARIO_HAHA_2 SOUND_ARG_LOAD(0x0B, 4, 0x11, 0xF0, 8) +#define SOUND_WARIO_UH2 SOUND_ARG_LOAD(0x0B, 4, 0x13, 0xD0, 8) +#define SOUND_WARIO_UH2_2 SOUND_ARG_LOAD(0x0B, 4, 0x13, 0x80, 8) +#define SOUND_WARIO_ON_FIRE SOUND_ARG_LOAD(0x0B, 4, 0x14, 0xA0, 8) +#define SOUND_WARIO_DYING SOUND_ARG_LOAD(0x0B, 4, 0x15, 0xFF, 8) +#define SOUND_WARIO_PANTING_COLD SOUND_ARG_LOAD(0x0B, 4, 0x16, 0x80, 8) + +// A random number 0-2 is added to the sound ID before playing +#define SOUND_WARIO_PANTING SOUND_ARG_LOAD(0x0B, 4, 0x18, 0x80, 8) + +#define SOUND_WARIO_COUGHING1 SOUND_ARG_LOAD(0x0B, 4, 0x1B, 0x80, 8) +#define SOUND_WARIO_COUGHING2 SOUND_ARG_LOAD(0x0B, 4, 0x1C, 0x80, 8) +#define SOUND_WARIO_COUGHING3 SOUND_ARG_LOAD(0x0B, 4, 0x1D, 0x80, 8) +#define SOUND_WARIO_PUNCH_YAH SOUND_ARG_LOAD(0x0B, 4, 0x1E, 0x80, 8) +#define SOUND_WARIO_PUNCH_HOO SOUND_ARG_LOAD(0x0B, 4, 0x1F, 0x80, 8) +#define SOUND_WARIO_MAMA_MIA SOUND_ARG_LOAD(0x0B, 4, 0x20, 0x80, 8) +//#define SOUND_WARIO_OKEY_DOKEY 0x2021 +#define SOUND_WARIO_GROUND_POUND_WAH SOUND_ARG_LOAD(0x0B, 4, 0x22, 0x80, 8) +#define SOUND_WARIO_DROWNING SOUND_ARG_LOAD(0x0B, 4, 0x23, 0xF0, 8) +#define SOUND_WARIO_PUNCH_WAH SOUND_ARG_LOAD(0x0B, 4, 0x24, 0x80, 8) + +// A random number 0-4 is added to the sound ID before playing, producing one of +// Yahoo! (60% chance), Waha! (20%), or Yippee! (20%). +#define SOUND_WARIO_YAHOO_WAHA_YIPPEE SOUND_ARG_LOAD(0x0B, 4, 0x2B, 0x80, 8) + +#define SOUND_WARIO_DOH SOUND_ARG_LOAD(0x0B, 4, 0x30, 0x80, 8) +#define SOUND_WARIO_GAME_OVER SOUND_ARG_LOAD(0x0B, 4, 0x31, 0xFF, 8) +#define SOUND_WARIO_HELLO SOUND_ARG_LOAD(0x0B, 4, 0x32, 0xFF, 8) +#define SOUND_WARIO_PRESS_START_TO_PLAY SOUND_ARG_LOAD(0x0B, 4, 0x33, 0xFF, 0xA) +#define SOUND_WARIO_TWIRL_BOUNCE SOUND_ARG_LOAD(0x0B, 4, 0x34, 0x80, 8) +#define SOUND_WARIO_SNORING3 SOUND_ARG_LOAD(0x0B, 4, 0x35, 0x00, 8) +#define SOUND_WARIO_SO_LONGA_BOWSER SOUND_ARG_LOAD(0x0B, 4, 0x36, 0x80, 8) +#define SOUND_WARIO_IMA_TIRED SOUND_ARG_LOAD(0x0B, 4, 0x37, 0x80, 8) + +#endif // WARIO_AUDIO_DEFINES_H \ No newline at end of file diff --git a/sound/samples/sfx_custom_wario/00.aiff b/sound/samples/sfx_custom_wario/00.aiff new file mode 100644 index 00000000..aaeab8ad Binary files /dev/null and b/sound/samples/sfx_custom_wario/00.aiff differ diff --git a/sound/samples/sfx_custom_wario/01.aiff b/sound/samples/sfx_custom_wario/01.aiff new file mode 100644 index 00000000..079e4941 Binary files /dev/null and b/sound/samples/sfx_custom_wario/01.aiff differ diff --git a/sound/samples/sfx_custom_wario/02.aiff b/sound/samples/sfx_custom_wario/02.aiff new file mode 100644 index 00000000..6962a2cb Binary files /dev/null and b/sound/samples/sfx_custom_wario/02.aiff differ diff --git a/sound/samples/sfx_custom_wario/03.aiff b/sound/samples/sfx_custom_wario/03.aiff new file mode 100644 index 00000000..a7b17df6 Binary files /dev/null and b/sound/samples/sfx_custom_wario/03.aiff differ diff --git a/sound/samples/sfx_custom_wario/04.aiff b/sound/samples/sfx_custom_wario/04.aiff new file mode 100644 index 00000000..dfd1142d Binary files /dev/null and b/sound/samples/sfx_custom_wario/04.aiff differ diff --git a/sound/samples/sfx_custom_wario/05.aiff b/sound/samples/sfx_custom_wario/05.aiff new file mode 100644 index 00000000..a5c15a4a Binary files /dev/null and b/sound/samples/sfx_custom_wario/05.aiff differ diff --git a/sound/samples/sfx_custom_wario/06.aiff b/sound/samples/sfx_custom_wario/06.aiff new file mode 100644 index 00000000..49126f2d Binary files /dev/null and b/sound/samples/sfx_custom_wario/06.aiff differ diff --git a/sound/samples/sfx_custom_wario/07.aiff b/sound/samples/sfx_custom_wario/07.aiff new file mode 100644 index 00000000..1ea4a2cf Binary files /dev/null and b/sound/samples/sfx_custom_wario/07.aiff differ diff --git a/sound/samples/sfx_custom_wario/08.aiff b/sound/samples/sfx_custom_wario/08.aiff new file mode 100644 index 00000000..3c3a5cf0 Binary files /dev/null and b/sound/samples/sfx_custom_wario/08.aiff differ diff --git a/sound/samples/sfx_custom_wario/09.aiff b/sound/samples/sfx_custom_wario/09.aiff new file mode 100644 index 00000000..aa5c38f7 Binary files /dev/null and b/sound/samples/sfx_custom_wario/09.aiff differ diff --git a/sound/samples/sfx_custom_wario/0A.aiff b/sound/samples/sfx_custom_wario/0A.aiff new file mode 100644 index 00000000..c28811be Binary files /dev/null and b/sound/samples/sfx_custom_wario/0A.aiff differ diff --git a/sound/samples/sfx_custom_wario/0B.aiff b/sound/samples/sfx_custom_wario/0B.aiff new file mode 100644 index 00000000..c4a5a159 Binary files /dev/null and b/sound/samples/sfx_custom_wario/0B.aiff differ diff --git a/sound/samples/sfx_custom_wario/0C.aiff b/sound/samples/sfx_custom_wario/0C.aiff new file mode 100644 index 00000000..c6b9655f Binary files /dev/null and b/sound/samples/sfx_custom_wario/0C.aiff differ diff --git a/sound/samples/sfx_custom_wario/0D.aiff b/sound/samples/sfx_custom_wario/0D.aiff new file mode 100644 index 00000000..088ba470 Binary files /dev/null and b/sound/samples/sfx_custom_wario/0D.aiff differ diff --git a/sound/samples/sfx_custom_wario/0E.aiff b/sound/samples/sfx_custom_wario/0E.aiff new file mode 100644 index 00000000..69c2fed4 Binary files /dev/null and b/sound/samples/sfx_custom_wario/0E.aiff differ diff --git a/sound/samples/sfx_custom_wario/0F.aiff b/sound/samples/sfx_custom_wario/0F.aiff new file mode 100644 index 00000000..0d526188 Binary files /dev/null and b/sound/samples/sfx_custom_wario/0F.aiff differ diff --git a/sound/samples/sfx_custom_wario/10.aiff b/sound/samples/sfx_custom_wario/10.aiff new file mode 100644 index 00000000..6e42b62d Binary files /dev/null and b/sound/samples/sfx_custom_wario/10.aiff differ diff --git a/sound/samples/sfx_custom_wario/11.aiff b/sound/samples/sfx_custom_wario/11.aiff new file mode 100644 index 00000000..ade06279 Binary files /dev/null and b/sound/samples/sfx_custom_wario/11.aiff differ diff --git a/sound/samples/sfx_custom_wario/12.aiff b/sound/samples/sfx_custom_wario/12.aiff new file mode 100644 index 00000000..9e87501e Binary files /dev/null and b/sound/samples/sfx_custom_wario/12.aiff differ diff --git a/sound/samples/sfx_custom_wario/13.aiff b/sound/samples/sfx_custom_wario/13.aiff new file mode 100644 index 00000000..de874269 Binary files /dev/null and b/sound/samples/sfx_custom_wario/13.aiff differ diff --git a/sound/samples/sfx_custom_wario/14.aiff b/sound/samples/sfx_custom_wario/14.aiff new file mode 100644 index 00000000..8997f36d Binary files /dev/null and b/sound/samples/sfx_custom_wario/14.aiff differ diff --git a/sound/samples/sfx_custom_wario/15.aiff b/sound/samples/sfx_custom_wario/15.aiff new file mode 100644 index 00000000..74ae529c Binary files /dev/null and b/sound/samples/sfx_custom_wario/15.aiff differ diff --git a/sound/samples/sfx_custom_wario/16.aiff b/sound/samples/sfx_custom_wario/16.aiff new file mode 100644 index 00000000..0d858cc4 Binary files /dev/null and b/sound/samples/sfx_custom_wario/16.aiff differ diff --git a/sound/samples/sfx_custom_wario/17.aiff b/sound/samples/sfx_custom_wario/17.aiff new file mode 100644 index 00000000..79d23ac3 Binary files /dev/null and b/sound/samples/sfx_custom_wario/17.aiff differ diff --git a/sound/samples/sfx_custom_wario/18.aiff b/sound/samples/sfx_custom_wario/18.aiff new file mode 100644 index 00000000..7f899864 Binary files /dev/null and b/sound/samples/sfx_custom_wario/18.aiff differ diff --git a/sound/samples/sfx_custom_wario/19.aiff b/sound/samples/sfx_custom_wario/19.aiff new file mode 100644 index 00000000..8a53fa7f Binary files /dev/null and b/sound/samples/sfx_custom_wario/19.aiff differ diff --git a/sound/samples/sfx_custom_wario/1A.aiff b/sound/samples/sfx_custom_wario/1A.aiff new file mode 100644 index 00000000..8cba71b6 Binary files /dev/null and b/sound/samples/sfx_custom_wario/1A.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/00.aiff b/sound/samples/sfx_custom_wario_peach/00.aiff new file mode 100644 index 00000000..d856a408 Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/00.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/01.aiff b/sound/samples/sfx_custom_wario_peach/01.aiff new file mode 100644 index 00000000..d3103f3f Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/01.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/02.aiff b/sound/samples/sfx_custom_wario_peach/02.aiff new file mode 100644 index 00000000..fa1d6297 Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/02.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/03.aiff b/sound/samples/sfx_custom_wario_peach/03.aiff new file mode 100644 index 00000000..ef3dacd7 Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/03.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/04.aiff b/sound/samples/sfx_custom_wario_peach/04.aiff new file mode 100644 index 00000000..c47eea16 Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/04.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/05.aiff b/sound/samples/sfx_custom_wario_peach/05.aiff new file mode 100644 index 00000000..c1673d5f Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/05.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/06.aiff b/sound/samples/sfx_custom_wario_peach/06.aiff new file mode 100644 index 00000000..6a0bec86 Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/06.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/07.aiff b/sound/samples/sfx_custom_wario_peach/07.aiff new file mode 100644 index 00000000..232b14c8 Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/07.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/08.aiff b/sound/samples/sfx_custom_wario_peach/08.aiff new file mode 100644 index 00000000..4e6204fe Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/08.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/09.aiff b/sound/samples/sfx_custom_wario_peach/09.aiff new file mode 100644 index 00000000..3c5939a3 Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/09.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/0A.aiff b/sound/samples/sfx_custom_wario_peach/0A.aiff new file mode 100644 index 00000000..4a317a90 Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/0A.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/0B.aiff b/sound/samples/sfx_custom_wario_peach/0B.aiff new file mode 100644 index 00000000..f6c825c0 Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/0B.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/0C.aiff b/sound/samples/sfx_custom_wario_peach/0C.aiff new file mode 100644 index 00000000..b99d8e9c Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/0C.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/0D.aiff b/sound/samples/sfx_custom_wario_peach/0D.aiff new file mode 100644 index 00000000..cc57023c Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/0D.aiff differ diff --git a/sound/samples/sfx_custom_wario_peach/17.aiff b/sound/samples/sfx_custom_wario_peach/17.aiff new file mode 100644 index 00000000..f2064720 Binary files /dev/null and b/sound/samples/sfx_custom_wario_peach/17.aiff differ diff --git a/sound/sequences.json b/sound/sequences.json index 79f140ab..ad0005b5 100644 --- a/sound/sequences.json +++ b/sound/sequences.json @@ -1,6 +1,6 @@ { "comment": "This file lists all sequences together with the sound banks they use. If a sequence uses multiple banks, the first bank will be used by default, and it can switch between them using the chan_setbank command; e.g. chan_setbank 0 will switch to the first bank in the given list.", - "00_sound_player": ["00", "01_terrain", "02_water", "03", "04", "05", "06", "07", "08_mario", "09", "0A_mario_peach", "26_custom_luigi", "27_custom_luigi_peach"], + "00_sound_player": ["00", "01_terrain", "02_water", "03", "04", "05", "06", "07", "08_mario", "09", "0A_mario_peach", "26_custom_luigi", "27_custom_luigi_peach", "28_custom_wario", "29_custom_wario_peach"], "01_cutscene_collect_star": ["22"], "02_menu_title_screen": ["11"], "03_level_grass": ["22"], diff --git a/sound/sequences/00_sound_player.s b/sound/sequences/00_sound_player.s index efcb615f..5179c49b 100644 --- a/sound/sequences/00_sound_player.s +++ b/sound/sequences/00_sound_player.s @@ -7,7 +7,7 @@ seq_setmutebhv 0x60 seq_setmutescale 0 seq_setvol 127 seq_settempo 120 -seq_initchannels 0x7ff +seq_initchannels 0xfff seq_startchannel 0, .channel0 seq_startchannel 1, .channel1 seq_startchannel 2, .channel2 @@ -19,11 +19,13 @@ seq_startchannel 7, .channel7 seq_startchannel 8, .channel38 seq_startchannel 9, .channel59 seq_startchannel 10, .channel10 +seq_startchannel 11, .channel11 .seq_loop: seq_delay 20000 seq_jump .seq_loop .include "seq_luigi.inc" +.include "seq_wario.inc" .channel0: chan_largenoteson diff --git a/sound/sound_banks/28_custom_wario.json b/sound/sound_banks/28_custom_wario.json new file mode 100644 index 00000000..2b4ca760 --- /dev/null +++ b/sound/sound_banks/28_custom_wario.json @@ -0,0 +1,189 @@ +{ + "date": "1996-02-14", + "sample_bank": "sfx_custom_wario", + "envelopes": { + "envelope0": [ + [2, 32700], + [1, 32700], + [32700, 29430], + "hang" + ] + }, + "instruments": { + "inst0": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "00" + }, + "inst1": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "01" + }, + "inst2": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "02" + }, + "inst3": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "03" + }, + "inst4": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "04" + }, + "inst5": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "05" + }, + "inst6": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "06" + }, + "inst7": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "07" + }, + "inst8": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "08" + }, + "inst9": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "09" + }, + "inst10": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "0A" + }, + "inst11": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "0B" + }, + "inst12": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "0C" + }, + "inst13": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "0D" + }, + "inst14": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "0E" + }, + "inst15": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "0F" + }, + "inst16": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "10" + }, + "inst17": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "11" + }, + "inst18": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "12" + }, + "inst19": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "13" + }, + "inst20": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "14" + }, + "inst21": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "15" + }, + "inst22": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "16" + }, + "inst23": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "17" + }, + "inst24": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "18" + }, + "inst25": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "19" + }, + "inst26": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "1A" + } + }, + "instrument_list": [ + "inst0", + "inst1", + "inst2", + "inst3", + "inst4", + "inst5", + "inst6", + "inst7", + "inst8", + "inst9", + "inst10", + "inst11", + "inst12", + "inst13", + "inst14", + "inst15", + "inst16", + "inst17", + "inst18", + "inst19", + "inst20", + "inst21", + "inst22", + "inst23", + "inst24", + "inst25", + "inst26" + ] +} diff --git a/sound/sound_banks/29_custom_wario_peach.json b/sound/sound_banks/29_custom_wario_peach.json new file mode 100644 index 00000000..bff17438 --- /dev/null +++ b/sound/sound_banks/29_custom_wario_peach.json @@ -0,0 +1,164 @@ +{ + "date": "1996-02-14", + "sample_bank": "sfx_custom_wario_peach", + "envelopes": { + "envelope0": [ + [2, 32700], + [1, 32700], + [32700, 29430], + "hang" + ] + }, + "instruments": { + "inst0": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "00" + }, + "inst1": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "01" + }, + "inst2": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "02" + }, + "inst3": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "03" + }, + "inst4": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "04" + }, + "inst5": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "05" + }, + "inst6": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "06" + }, + "inst7": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "07" + }, + "inst8": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "08" + }, + "inst9": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "09" + }, + "inst10": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "0A" + }, + "inst11": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "0B" + }, + "inst12": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "0C" + }, + "inst13": { + "release_rate": 208, + "envelope": "envelope0", + "sound": "0D" + }, + "inst14": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "0E" + }, + "inst15": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "0F" + }, + "inst16": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "10" + }, + "inst17": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "11" + }, + "inst18": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "12" + }, + "inst19": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "13" + }, + "inst20": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "14" + }, + "inst21": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "15" + }, + "inst22": { + "ifdef": ["VERSION_US", "VERSION_EU"], + "release_rate": 208, + "envelope": "envelope0", + "sound": "16" + } + }, + "instrument_list": [ + "inst0", + "inst1", + "inst2", + null, + "inst3", + "inst4", + "inst5", + "inst6", + "inst7", + "inst8", + "inst9", + "inst10", + "inst11", + "inst12", + "inst13", + "inst14", + "inst15", + "inst16", + "inst17", + "inst18", + "inst19", + "inst20", + "inst21", + "inst22" + ] +} diff --git a/src/audio/data.c b/src/audio/data.c index cd8528c1..1621c7cd 100644 --- a/src/audio/data.c +++ b/src/audio/data.c @@ -377,15 +377,15 @@ s16 *gWaveSamples[4] = { sSawtoothWave, sTriangleWave, sSineWave, sSquareWave }; #ifdef VERSION_EU u8 euUnknownData_8030194c[4] = { 0x40, 0x20, 0x10, 0x08 }; -u16 gHeadsetPanQuantization[0x11] = { - 0x40, 0x40, 0x30, 0x30, 0x20, 0x20, 0x10, 0, 0, 0, 0x30, +u16 gHeadsetPanQuantization[0x12] = { + 0x40, 0x40, 0x30, 0x30, 0x20, 0x20, 0x10, 0, 0, 0, 0x30, 0x30, }; s32 euUnknownData_80301950[32] = { //maybe envelope of some kind? 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, 0, 0, 500, 0, 0, 0, 500, 0, 0, 0, 500, 0, 0, }; #else -u16 gHeadsetPanQuantization[11] = { 0x40, 0x30, 0x20, 0x10, 0, 0, 0, 0, 0, 0, 0x20 }; +u16 gHeadsetPanQuantization[12] = { 0x40, 0x30, 0x20, 0x10, 0, 0, 0, 0, 0, 0, 0x20, 0x20 }; #endif // Linearly interpolated between diff --git a/src/audio/data.h b/src/audio/data.h index 26f6baa9..e131cae7 100644 --- a/src/audio/data.h +++ b/src/audio/data.h @@ -41,12 +41,12 @@ extern s16 *gWaveSamples[4]; #ifdef VERSION_EU extern u8 euUnknownData_8030194c[4]; -extern u16 gHeadsetPanQuantization[0x11]; +extern u16 gHeadsetPanQuantization[0x12]; extern s32 euUnknownData_80301950[32]; extern struct NoteSubEu gZeroNoteSub; extern struct NoteSubEu gDefaultNoteSub; #else -extern u16 gHeadsetPanQuantization[11]; +extern u16 gHeadsetPanQuantization[12]; #endif extern f32 gHeadsetPanVolume[128]; extern f32 gStereoPanVolume[128]; diff --git a/src/audio/external.c b/src/audio/external.c index c4b39cd1..014d3658 100644 --- a/src/audio/external.c +++ b/src/audio/external.c @@ -153,7 +153,7 @@ u8 audioString118__[] = ""; // N.B. sound banks are different from the audio banks referred to in other // files. We should really fix our naming to be less ambiguous... #define MAX_BG_MUSIC_QUEUE_SIZE 6 -#define SOUND_BANK_COUNT 11 +#define SOUND_BANK_COUNT 12 #define MAX_CHANNELS_PER_SOUND 1 #define SEQUENCE_NONE 0xFF @@ -450,10 +450,10 @@ STATIC_ASSERT(ARRAY_COUNT(sBackgroundMusicDefaultVolume) == SEQ_COUNT, u8 sPlayer0CurSeqId = SEQUENCE_NONE; u8 sMusicDynamicDelay = 0; -u8 D_803320A4[SOUND_BANK_COUNT] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // pointers to head of list -u8 D_803320B0[SOUND_BANK_COUNT] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; // pointers to head of list -u8 D_803320BC[SOUND_BANK_COUNT] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // only used for debugging -u8 sMaxChannelsForSoundBank[SOUND_BANK_COUNT] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; +u8 D_803320A4[SOUND_BANK_COUNT] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // pointers to head of list +u8 D_803320B0[SOUND_BANK_COUNT] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; // pointers to head of list +u8 D_803320BC[SOUND_BANK_COUNT] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // only used for debugging +u8 sMaxChannelsForSoundBank[SOUND_BANK_COUNT] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; // Banks 2 and 7 both grew from 0x30 sounds to 0x40 in size in US. #ifdef VERSION_JP @@ -462,7 +462,7 @@ u8 sMaxChannelsForSoundBank[SOUND_BANK_COUNT] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, #define BANK27_SIZE 0x40 #endif u8 sNumSoundsPerBank[SOUND_BANK_COUNT] = { - 0x70, 0x30, BANK27_SIZE, 0x80, 0x20, 0x80, 0x20, BANK27_SIZE, 0x80, 0x80, BANK27_SIZE + 0x70, 0x30, BANK27_SIZE, 0x80, 0x20, 0x80, 0x20, BANK27_SIZE, 0x80, 0x80, BANK27_SIZE, BANK27_SIZE }; #undef BANK27_SIZE @@ -814,11 +814,8 @@ void process_sound_request(u32 bits, f32 *pos, f32 freqScale) { index = gSoundBanks[bankIndex][0].next; while (index != 0xff && index != 0) { if (gSoundBanks[bankIndex][index].x == pos) { - if ((gSoundBanks[bankIndex][index].soundBits & SOUNDARGS_MASK_PRIORITY) - <= (bits & SOUNDARGS_MASK_PRIORITY)) { - if ((gSoundBanks[bankIndex][index].soundBits & SOUND_LO_BITFLAG_UNK8) != 0 - || (bits & SOUNDARGS_MASK_SOUNDID) - != (gSoundBanks[bankIndex][index].soundBits & SOUNDARGS_MASK_SOUNDID)) { + if ((gSoundBanks[bankIndex][index].soundBits & SOUNDARGS_MASK_PRIORITY) <= (bits & SOUNDARGS_MASK_PRIORITY)) { + if ((gSoundBanks[bankIndex][index].soundBits & SOUND_LO_BITFLAG_UNK8) != 0 || (bits & SOUNDARGS_MASK_SOUNDID) != (gSoundBanks[bankIndex][index].soundBits & SOUNDARGS_MASK_SOUNDID)) { func_8031E0E4(bankIndex, index); gSoundBanks[bankIndex][index].soundBits = bits; gSoundBanks[bankIndex][index].soundStatus = bits & SOUNDARGS_MASK_STATUS; @@ -1309,6 +1306,7 @@ void update_game_sound(void) { case 0: case 2: case 10: // custom luigi audio bank 10 + case 11: // custom wario audio bank 11 #ifdef VERSION_EU func_802ad770(0x05020000 | ((channelIndex & 0xff) << 8), get_sound_reverb(bankIndex, index, channelIndex)); diff --git a/src/game/characters.c b/src/game/characters.c index c0804ec8..5c13247b 100644 --- a/src/game/characters.c +++ b/src/game/characters.c @@ -6,6 +6,7 @@ #include "object_constants.h" #include "audio_defines.h" #include "luigi_audio_defines.h" +#include "wario_audio_defines.h" #include "pc/configfile.h" #include "audio/external.h" #include "engine/graph_node.h" @@ -297,49 +298,49 @@ struct Character gCharacters[CT_MAX] = { // anim .animOffsetEnabled = true, // sounds - .soundFreqScale = 0.8f, - .soundYahWahHoo = SOUND_MARIO_YAH_WAH_HOO, - .soundHoohoo = SOUND_MARIO_HOOHOO, - .soundYahoo = SOUND_MARIO_YAHOO, - .soundUh = SOUND_MARIO_UH, - .soundHrmm = SOUND_MARIO_HRMM, - .soundWah2 = SOUND_MARIO_WAH2, - .soundWhoa = SOUND_MARIO_WHOA, - .soundEeuh = SOUND_MARIO_EEUH, - .soundAttacked = SOUND_MARIO_ATTACKED, - .soundOoof = SOUND_MARIO_OOOF, - .soundOoof2 = SOUND_MARIO_OOOF2, - .soundHereWeGo = SOUND_MARIO_HERE_WE_GO, - .soundYawning = SOUND_MARIO_YAWNING, - .soundSnoring1 = SOUND_MARIO_SNORING1, - .soundSnoring2 = SOUND_MARIO_SNORING2, - .soundWaaaooow = SOUND_MARIO_WAAAOOOW, - .soundHaha = SOUND_MARIO_HAHA, - .soundHaha_2 = SOUND_MARIO_HAHA_2, - .soundUh2 = SOUND_MARIO_UH2, - .soundUh2_2 = SOUND_MARIO_UH2_2, - .soundOnFire = SOUND_MARIO_ON_FIRE, - .soundDying = SOUND_MARIO_DYING, - .soundPantingCold = SOUND_MARIO_PANTING_COLD, - .soundPanting = SOUND_MARIO_PANTING, - .soundCoughing1 = SOUND_MARIO_COUGHING1, - .soundCoughing2 = SOUND_MARIO_COUGHING2, - .soundCoughing3 = SOUND_MARIO_COUGHING3, - .soundPunchYah = SOUND_MARIO_PUNCH_YAH, - .soundPunchHoo = SOUND_MARIO_PUNCH_HOO, - .soundMamaMia = SOUND_MARIO_MAMA_MIA, - .soundGroundPoundWah = SOUND_MARIO_GROUND_POUND_WAH, - .soundDrowning = SOUND_MARIO_DROWNING, - .soundPunchWah = SOUND_MARIO_PUNCH_WAH, - .soundYahooWahaYippee = SOUND_MARIO_YAHOO_WAHA_YIPPEE, - .soundDoh = SOUND_MARIO_DOH, - .soundGameOver = SOUND_MARIO_GAME_OVER, - .soundHello = SOUND_MARIO_HELLO, - .soundPressStartToPlay = SOUND_MARIO_PRESS_START_TO_PLAY, - .soundTwirlBounce = SOUND_MARIO_TWIRL_BOUNCE, - .soundSnoring3 = SOUND_MARIO_SNORING3, - .soundSoLongaBowser = SOUND_MARIO_SO_LONGA_BOWSER, - .soundImaTired = SOUND_MARIO_IMA_TIRED, + .soundFreqScale = 1.0f, + .soundYahWahHoo = SOUND_WARIO_YAH_WAH_HOO, + .soundHoohoo = SOUND_WARIO_HOOHOO, + .soundYahoo = SOUND_WARIO_YAHOO, + .soundUh = SOUND_WARIO_UH, + .soundHrmm = SOUND_WARIO_HRMM, + .soundWah2 = SOUND_WARIO_WAH2, + .soundWhoa = SOUND_WARIO_WHOA, + .soundEeuh = SOUND_WARIO_EEUH, + .soundAttacked = SOUND_WARIO_ATTACKED, + .soundOoof = SOUND_WARIO_OOOF, + .soundOoof2 = SOUND_WARIO_OOOF2, + .soundHereWeGo = SOUND_WARIO_HERE_WE_GO, + .soundYawning = SOUND_WARIO_YAWNING, + .soundSnoring1 = SOUND_WARIO_SNORING1, + .soundSnoring2 = SOUND_WARIO_SNORING2, + .soundWaaaooow = SOUND_WARIO_WAAAOOOW, + .soundHaha = SOUND_WARIO_HAHA, + .soundHaha_2 = SOUND_WARIO_HAHA_2, + .soundUh2 = SOUND_WARIO_UH2, + .soundUh2_2 = SOUND_WARIO_UH2_2, + .soundOnFire = SOUND_WARIO_ON_FIRE, + .soundDying = SOUND_WARIO_DYING, + .soundPantingCold = SOUND_WARIO_PANTING_COLD, + .soundPanting = SOUND_WARIO_PANTING, + .soundCoughing1 = SOUND_WARIO_COUGHING1, + .soundCoughing2 = SOUND_WARIO_COUGHING2, + .soundCoughing3 = SOUND_WARIO_COUGHING3, + .soundPunchYah = SOUND_WARIO_PUNCH_YAH, + .soundPunchHoo = SOUND_WARIO_PUNCH_HOO, + .soundMamaMia = SOUND_WARIO_MAMA_MIA, + .soundGroundPoundWah = SOUND_WARIO_GROUND_POUND_WAH, + .soundDrowning = SOUND_WARIO_DROWNING, + .soundPunchWah = SOUND_WARIO_PUNCH_WAH, + .soundYahooWahaYippee = SOUND_WARIO_YAHOO_WAHA_YIPPEE, + .soundDoh = SOUND_WARIO_DOH, + .soundGameOver = SOUND_WARIO_GAME_OVER, + .soundHello = SOUND_WARIO_HELLO, + .soundPressStartToPlay = SOUND_WARIO_PRESS_START_TO_PLAY, + .soundTwirlBounce = SOUND_WARIO_TWIRL_BOUNCE, + .soundSnoring3 = SOUND_WARIO_SNORING3, + .soundSoLongaBowser = SOUND_WARIO_SO_LONGA_BOWSER, + .soundImaTired = SOUND_WARIO_IMA_TIRED, }, };