Skip to content

Conversation

@Eebit
Copy link
Owner

@Eebit Eebit commented Jan 5, 2026

Big progress into understanding the sound engine.

vfunc_28 seems to be "Play Song By ID"
vfunc_2c seems to be "Play Song By Name"

More documentation later?

@decomp-dev
Copy link

decomp-dev bot commented Jan 5, 2026

Report for YFEE01 (d739d1a - 1573787)

📈 Matched code: 5.40% (+0.11%, +1924 bytes)

✅ 40 new matches
Unit Item Bytes Before After
src/ov000/map_state GetMapBgmId +268 0.00% 100.00%
src/sound_manager SoundWaitTo::Loop() +160 0.00% 100.00%
src/sound_manager SoundHandle::vfunc_18(unsigned long, unsigned long, unsigned long) +148 0.00% 100.00%
src/ov000/map_state AreAllEnemiesDefeated +136 0.00% 100.00%
src/sound_manager SoundHandle::vfunc_04(unsigned long, unsigned long, unsigned long, unsigned long) +132 0.00% 100.00%
src/sound_manager SoundHandle::vfunc_40(unsigned long, char*, unsigned long) +88 0.00% 100.00%
src/sound_manager SoundHandle::vfunc_5c() +88 0.00% 100.00%
src/sound_manager SoundHandle::vfunc_20(unsigned long) +84 0.00% 100.00%
src/sound_manager SoundWaitTo::~SoundWaitTo() +84 0.00% 100.00%
src/sound_manager SoundWaitTo::~SoundWaitTo() +76 0.00% 100.00%
src/sound_manager VolumeDownPlayingSE::Loop() +72 0.00% 100.00%
src/sound_manager SoundHandle::vfunc_2c(char*, unsigned long, unsigned long) +68 0.00% 100.00%
src/sound_manager SoundHandle::vfunc_34(char*, unsigned long, unsigned long) +68 0.00% 100.00%
src/sound_manager SoundHandle::vfunc_58() +64 0.00% 100.00%
src/sound_manager SoundSeHandle::vfunc_18(unsigned long, unsigned long, unsigned long) +56 0.00% 100.00%
src/sound_manager SoundStrmHandle::vfunc_24() +44 0.00% 100.00%
src/sound_manager func_020169bc +40 0.00% 100.00%
src/sound_manager SoundHandle::vfunc_24() +36 0.00% 100.00%
src/sound_manager SoundHandle::vfunc_08() +32 0.00% 100.00%
src/sound_manager func_02017258 +32 0.00% 100.00%
src/sound_manager SoundStrmHandle::vfunc_08() +32 0.00% 100.00%
src/sound_manager SoundSeHandle::vfunc_24() +32 0.00% 100.00%
src/sound_manager func_02018014 +32 0.00% 100.00%
src/sound_manager func_02016490 +28 0.00% 100.00%
src/sound_manager SoundStrmHandle::vfunc_00(unsigned long, unsigned long, unsigned long) +28 0.00% 100.00%
src/sound_manager func_020181bc +28 0.00% 100.00%
src/sound_manager SoundFade::Loop() +28 0.00% 100.00%
src/sound_manager func_0201619c +24 0.00% 100.00%
src/sound_manager func_020162ec +24 0.00% 100.00%
src/sound_manager func_02016304 +24 0.00% 100.00%

...and 10 more new matches

💔 2 broken matches
Unit Item Bytes Before After
src/ov000/map_state func_ov000_021a4254 -268 100.00% 0.00%
src/ov000/map_state func_ov000_021a4360 -136 100.00% 0.00%
📈 56 improvements in unmatched functions
Unit Item Bytes Before After
src/sound_manager .bss +52016 0.00% 7.89%
src/sound_manager .data +2549 0.00% 25.48%
src/sound_manager StartSoundWaitTo_02017518 +579 0.00% 99.99%
src/sound_manager SoundSeHandle::vfunc_00(unsigned long, unsigned long, unsigned long) +563 0.00% 99.19%
src/sound_manager StartSoundWaitTo_02017b40 +510 0.00% 98.94%
src/sound_manager StartSoundWaitTo_02017938 +508 0.00% 97.74%
src/sound_manager Sound_Init +503 0.00% 99.88%
src/sound_manager StartSoundTemporarySe +463 0.00% 99.94%
src/sound_manager StartSoundWaitTo_0201775c +449 0.00% 94.48%
src/sound_manager SoundHandle::vfunc_30(unsigned long, unsigned long, unsigned long) +371 0.00% 99.83%
src/sound_manager SoundHandle::vfunc_3c(long, unsigned long, unsigned long) +351 0.00% 99.98%
src/sound_manager SoundHandle::vfunc_44(long) +345 0.00% 93.95%
src/sound_manager SoundHandle::vfunc_38(long) +334 0.00% 97.35%
src/sound_manager SoundHandle::vfunc_1c() +279 0.00% 99.99%
src/sound_manager SoundFade::~SoundFade() +279 0.00% 99.96%
src/sound_manager SoundFade::~SoundFade() +271 0.00% 99.96%
src/sound_manager SoundHandle::vfunc_00(unsigned long, unsigned long, unsigned long) +255 0.00% 99.92%
src/sound_manager SoundHandle::vfunc_28(unsigned long, unsigned long, unsigned long) +247 0.00% 99.89%
src/sound_manager StartVolumeDownPlayingSE +247 0.00% 99.94%
src/sound_manager VolumeDownPlayingSE::~VolumeDownPlayingSE() +247 0.00% 99.90%
src/sound_manager VolumeDownPlayingSE::~VolumeDownPlayingSE() +239 0.00% 99.90%
src/sound_manager SoundHandle::vfunc_4c(long) +235 0.00% 96.54%
src/sound_manager SoundHandle::vfunc_60() +203 0.00% 98.00%
src/sound_manager func_020160d4 +179 0.00% 99.91%
src/sound_manager SoundHandle::vfunc_10(unsigned long) +179 0.00% 99.93%
src/sound_manager func_0201631c +155 0.00% 94.63%
src/sound_manager SoundVolumeMoveVC::Loop() +143 0.00% 99.97%
src/sound_manager SoundSeHandle::vfunc_28(unsigned long, unsigned long, unsigned long) +139 0.00% 99.97%
src/sound_manager func_02015ec0 +135 0.00% 89.24%
src/sound_manager SoundHandle::vfunc_68(unsigned long) +123 0.00% 99.97%

...and 26 more improvements in unmatched functions

@Eebit Eebit marked this pull request as ready for review January 5, 2026 05:24
@Eebit Eebit merged commit bba1646 into main Jan 5, 2026
2 checks passed
@Eebit Eebit deleted the sound_manager branch January 5, 2026 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants