Audio Voice Decompiled (#1490)

* Add Tharo's documentation comments

* Voice progress

* Match osVoiceControlGain

* Match osVoiceStartReadData

* Cleanup

* Add docs from n64devkit

* WIP on osVoiceGetReadData

* Add comment

* Match voiceinit.c

* Remove CONT_ERR, already present in controller.h

* Really close to matching osVoiceStopReadData

* Progress on voicecheckword

* Match osVoiceSetWord

* Add error codes

* Matched __osVoiceContRead2... Somehow...

* Add small amount of docs

* __osVoiceContRead36 was basically identical from __osVoiceContRead2

* docs, but maybe a little carried away

* Match __osVoiceContWrite4, Write is very similar to Read

* Match __osVoiceContWrite20 from __osVoiceContWrite4, ez

* Some docs

* Improve osVoiceGetReadData

* Match osVoiceCheckWord

* currentSyllable -> currSyllable

* Match osVoiceMaskDictionary

* Match __osVoiceSetADConverter

* Meme matched osVoiceStopReadData

* small cleanup

* Missed macros

* osVoiceGetReadData Meme Match

* Small clean-up

* format

* Properly split voice files from code

* Use proper flags for voice files

* Add basic docs for func_801A5AF0

* Import Voice Data

* Update matching functions in code_801A51F0 from audio WIP

* Update matching functions in code_801A4EB0 from audio WIP

* Match func_801A5A1C

* Match func_801A5228

* Match func_801A54D0

* Doc padmgr functions used

* Match func_801A5680, it's near identical to func_801A54D0

* code_801A51F0 OK

* Match func_801A4EB8

* Match func_801A4FD8 (mips2c got it matching directly)

* code_801A4EB0 & all of voice, OK

* Import bss

* Better match for func_801A5A1C

* format

* Cleanup

* Clean up dictionary

* Introduce OSVoiceDictionary

* More voice docs

* Fix bss

* Import code_801A4EB0 data

* Introduce Word Id enum

* Dictionary: u8 -> u16

* Introduce bgms

* Fill in bgm enums

* Rename bgm to clearer names

* Fix spacing

* Fix "No_Music" define

* remove comment

* import rodata

* Improve bgm names, found another seqId function

* Another seqId function

* Another name change

* Woods of Mystery -> Sarias Song

* Fix match in osVoiceControlGain

* Fix bss reordering

* Fix bss file split

* add saria's song bgm to pierre

* Another bgm function found!

* Add bgm's to `gSaveContext.seqIndex`

* Fix BSS

* fix bss

* Fix bss

* cleanup

* more cleanup

* cow voice weekeventflag

* small cleanup

* some docs

* cleanup var

* global

* more docs

* PR Review

---------

Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
This commit is contained in:
engineer124
2023-11-17 12:29:42 +11:00
committed by GitHub
parent 61e2f12cf5
commit 8ab62788b2
24 changed files with 620 additions and 357 deletions
+10 -10
View File
@@ -3526,24 +3526,24 @@ asm/non_matchings/code/code_8019AF00/Audio_ResetForAudioHeapStep3.s,Audio_ResetF
asm/non_matchings/code/code_8019AF00/Audio_ResetForAudioHeapStep2.s,Audio_ResetForAudioHeapStep2,0x801A4DA4,0x14
asm/non_matchings/code/code_8019AF00/Audio_ResetForAudioHeapStep1.s,Audio_ResetForAudioHeapStep1,0x801A4DF4,0x1C
asm/non_matchings/code/code_8019AF00/Audio_UnusedReset.s,Audio_UnusedReset,0x801A4E64,0x13
asm/non_matchings/code/voice_external/func_801A4EB0.s,func_801A4EB0,0x801A4EB0,0x2
asm/non_matchings/code/voice_external/AudioVoice_Noop.s,AudioVoice_Noop,0x801A4EB0,0x2
asm/non_matchings/code/voice_external/func_801A4EB8.s,func_801A4EB8,0x801A4EB8,0x48
asm/non_matchings/code/voice_external/func_801A4FD8.s,func_801A4FD8,0x801A4FD8,0x2A
asm/non_matchings/code/voice_external/func_801A5080.s,func_801A5080,0x801A5080,0x10
asm/non_matchings/code/voice_external/func_801A50C0.s,func_801A50C0,0x801A50C0,0x10
asm/non_matchings/code/voice_external/func_801A5100.s,func_801A5100,0x801A5100,0x3
asm/non_matchings/code/voice_external/AudioVoice_ResetWord.s,AudioVoice_ResetWord,0x801A4FD8,0x2A
asm/non_matchings/code/voice_external/AudioVoice_InitWord.s,AudioVoice_InitWord,0x801A5080,0x10
asm/non_matchings/code/voice_external/AudioVoice_InitWordAlt.s,AudioVoice_InitWordAlt,0x801A50C0,0x10
asm/non_matchings/code/voice_external/AudioVoice_GetWord.s,AudioVoice_GetWord,0x801A5100,0x3
asm/non_matchings/code/voice_external/func_801A510C.s,func_801A510C,0x801A510C,0x3
asm/non_matchings/code/voice_external/func_801A5118.s,func_801A5118,0x801A5118,0x36
asm/non_matchings/code/voice_external/AudioVoice_Update.s,AudioVoice_Update,0x801A5118,0x36
asm/non_matchings/code/voice_internal/func_801A51F0.s,func_801A51F0,0x801A51F0,0xE
asm/non_matchings/code/voice_internal/func_801A5228.s,func_801A5228,0x801A5228,0x5A
asm/non_matchings/code/voice_internal/func_801A5390.s,func_801A5390,0x801A5390,0x13
asm/non_matchings/code/voice_internal/func_801A53DC.s,func_801A53DC,0x801A53DC,0x3
asm/non_matchings/code/voice_internal/AudioVoice_GetVoiceDict.s,AudioVoice_GetVoiceDict,0x801A53DC,0x3
asm/non_matchings/code/voice_internal/func_801A53E8.s,func_801A53E8,0x801A53E8,0xD
asm/non_matchings/code/voice_internal/func_801A541C.s,func_801A541C,0x801A541C,0x1B
asm/non_matchings/code/voice_internal/func_801A5488.s,func_801A5488,0x801A5488,0xF
asm/non_matchings/code/voice_internal/func_801A54C4.s,func_801A54C4,0x801A54C4,0x3
asm/non_matchings/code/voice_internal/func_801A54D0.s,func_801A54D0,0x801A54D0,0x6C
asm/non_matchings/code/voice_internal/func_801A5680.s,func_801A5680,0x801A5680,0x62
asm/non_matchings/code/voice_internal/AudioVoice_GetVoiceMaskPattern.s,AudioVoice_GetVoiceMaskPattern,0x801A54C4,0x3
asm/non_matchings/code/voice_internal/AudioVoice_InitWordImplAlt.s,AudioVoice_InitWordImplAlt,0x801A54D0,0x6C
asm/non_matchings/code/voice_internal/AudioVoice_InitWordImpl.s,AudioVoice_InitWordImpl,0x801A5680,0x62
asm/non_matchings/code/voice_internal/func_801A5808.s,func_801A5808,0x801A5808,0x82
asm/non_matchings/code/voice_internal/AudioVoice_ResetData.s,AudioVoice_ResetData,0x801A5A10,0x3
asm/non_matchings/code/voice_internal/func_801A5A1C.s,func_801A5A1C,0x801A5A1C,0x69
1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
3526 asm/non_matchings/code/code_8019AF00/Audio_ResetForAudioHeapStep2.s Audio_ResetForAudioHeapStep2 0x801A4DA4 0x14
3527 asm/non_matchings/code/code_8019AF00/Audio_ResetForAudioHeapStep1.s Audio_ResetForAudioHeapStep1 0x801A4DF4 0x1C
3528 asm/non_matchings/code/code_8019AF00/Audio_UnusedReset.s Audio_UnusedReset 0x801A4E64 0x13
3529 asm/non_matchings/code/voice_external/func_801A4EB0.s asm/non_matchings/code/voice_external/AudioVoice_Noop.s func_801A4EB0 AudioVoice_Noop 0x801A4EB0 0x2
3530 asm/non_matchings/code/voice_external/func_801A4EB8.s func_801A4EB8 0x801A4EB8 0x48
3531 asm/non_matchings/code/voice_external/func_801A4FD8.s asm/non_matchings/code/voice_external/AudioVoice_ResetWord.s func_801A4FD8 AudioVoice_ResetWord 0x801A4FD8 0x2A
3532 asm/non_matchings/code/voice_external/func_801A5080.s asm/non_matchings/code/voice_external/AudioVoice_InitWord.s func_801A5080 AudioVoice_InitWord 0x801A5080 0x10
3533 asm/non_matchings/code/voice_external/func_801A50C0.s asm/non_matchings/code/voice_external/AudioVoice_InitWordAlt.s func_801A50C0 AudioVoice_InitWordAlt 0x801A50C0 0x10
3534 asm/non_matchings/code/voice_external/func_801A5100.s asm/non_matchings/code/voice_external/AudioVoice_GetWord.s func_801A5100 AudioVoice_GetWord 0x801A5100 0x3
3535 asm/non_matchings/code/voice_external/func_801A510C.s func_801A510C 0x801A510C 0x3
3536 asm/non_matchings/code/voice_external/func_801A5118.s asm/non_matchings/code/voice_external/AudioVoice_Update.s func_801A5118 AudioVoice_Update 0x801A5118 0x36
3537 asm/non_matchings/code/voice_internal/func_801A51F0.s func_801A51F0 0x801A51F0 0xE
3538 asm/non_matchings/code/voice_internal/func_801A5228.s func_801A5228 0x801A5228 0x5A
3539 asm/non_matchings/code/voice_internal/func_801A5390.s func_801A5390 0x801A5390 0x13
3540 asm/non_matchings/code/voice_internal/func_801A53DC.s asm/non_matchings/code/voice_internal/AudioVoice_GetVoiceDict.s func_801A53DC AudioVoice_GetVoiceDict 0x801A53DC 0x3
3541 asm/non_matchings/code/voice_internal/func_801A53E8.s func_801A53E8 0x801A53E8 0xD
3542 asm/non_matchings/code/voice_internal/func_801A541C.s func_801A541C 0x801A541C 0x1B
3543 asm/non_matchings/code/voice_internal/func_801A5488.s func_801A5488 0x801A5488 0xF
3544 asm/non_matchings/code/voice_internal/func_801A54C4.s asm/non_matchings/code/voice_internal/AudioVoice_GetVoiceMaskPattern.s func_801A54C4 AudioVoice_GetVoiceMaskPattern 0x801A54C4 0x3
3545 asm/non_matchings/code/voice_internal/func_801A54D0.s asm/non_matchings/code/voice_internal/AudioVoice_InitWordImplAlt.s func_801A54D0 AudioVoice_InitWordImplAlt 0x801A54D0 0x6C
3546 asm/non_matchings/code/voice_internal/func_801A5680.s asm/non_matchings/code/voice_internal/AudioVoice_InitWordImpl.s func_801A5680 AudioVoice_InitWordImpl 0x801A5680 0x62
3547 asm/non_matchings/code/voice_internal/func_801A5808.s func_801A5808 0x801A5808 0x82
3548 asm/non_matchings/code/voice_internal/AudioVoice_ResetData.s AudioVoice_ResetData 0x801A5A10 0x3
3549 asm/non_matchings/code/voice_internal/func_801A5A1C.s func_801A5A1C 0x801A5A1C 0x69