From f3a0ca8d82dbff89f4a3c982368fb447285fe148 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 26 Sep 2026 13:54:22 -0700 Subject: [PATCH] A couple of audio-related improvements (#2359) * Add .porydaw to gitignore * alt -> reverse, and add generic ADSR macros for compressed directsound voices --- .gitignore | 1 + asm/macros/music_voice.inc | 24 +++++++++++++++--------- sound/voicegroups/rs_sfx_2.inc | 4 ++-- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 27793b786c..a63741f132 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,4 @@ prefabs.json *.js /pokeemerald-*.png /pokeemerald_modern-*.png +.porydaw/ diff --git a/asm/macros/music_voice.inc b/asm/macros/music_voice.inc index ff87c56d6b..1d104c349f 100644 --- a/asm/macros/music_voice.inc +++ b/asm/macros/music_voice.inc @@ -4,12 +4,22 @@ .endm .macro voice_directsound_no_resample base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req - .byte 8 + .byte 0x8 _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release .endm - .macro voice_directsound_alt base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req - .byte 16 + .macro voice_directsound_reverse base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req + .byte 0x10 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_directsound_compressed base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req + .byte 0x20 + _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release + .endm + + .macro voice_directsound_compressed_reverse base_midi_key:req, pan:req, sample_data_pointer:req, attack:req, decay:req, sustain:req, release:req + .byte 0x30 _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release .endm @@ -140,13 +150,9 @@ .endm .macro cry sample:req - .byte 0x20, 60, 0, 0 - .4byte \sample - .byte 0xff, 0, 0xff, 0 + voice_directsound_compressed 60, 0, \sample, 255, 0, 255, 0 .endm .macro cry_reverse sample:req - .byte 0x30, 60, 0, 0 - .4byte \sample - .byte 0xff, 0, 0xff, 0 + voice_directsound_compressed_reverse 60, 0, \sample, 255, 0, 255, 0 .endm diff --git a/sound/voicegroups/rs_sfx_2.inc b/sound/voicegroups/rs_sfx_2.inc index b93f29b0ff..bc3b2ef757 100644 --- a/sound/voicegroups/rs_sfx_2.inc +++ b/sound/voicegroups/rs_sfx_2.inc @@ -1,6 +1,6 @@ voice_group rs_sfx_2 voice_directsound_no_resample 60, 0, DirectSoundWaveData_bicycle_bell, 255, 249, 0, 165 - voice_directsound_alt 60, 0, DirectSoundWaveData_bicycle_bell, 255, 0, 255, 165 + voice_directsound_reverse 60, 0, DirectSoundWaveData_bicycle_bell, 255, 0, 255, 165 voice_directsound 60, 0, DirectSoundWaveData_unknown_synth_snare, 255, 0, 255, 165 voice_directsound 60, 0, DirectSoundWaveData_sc88pro_glockenspiel, 255, 242, 0, 127 voice_noise_alt 60, 0, 0, 0, 1, 0, 1 @@ -32,7 +32,7 @@ voice_group rs_sfx_2 voice_square_1_alt 60, 0, 19, 2, 0, 2, 0, 0 voice_directsound 60, 0, DirectSoundWaveData_trinity_30303_mega_bass, 255, 0, 255, 127 voice_square_1 60, 0, 103, 0, 0, 0, 15, 0 - voice_directsound_alt 60, 0, DirectSoundWaveData_unknown_6, 255, 0, 255, 127 + voice_directsound_reverse 60, 0, DirectSoundWaveData_unknown_6, 255, 0, 255, 127 voice_directsound 60, 0, DirectSoundWaveData_sc88pro_fretless_bass, 255, 255, 255, 127 voice_directsound 60, 0, DirectSoundWaveData_sc88pro_synth_bass, 255, 0, 255, 127 voice_directsound 60, 0, DirectSoundWaveData_unknown_7, 255, 0, 255, 127