1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 14:34:32 +00:00

Match func_800EEA50 + some surrounding doc (#916)

* Match func_800EEA50

* Document some audio debug stuff

* more doc

* more doc

* formatting

* Fix enums, and some more bits of doc

* review

* LIM -> MAX

* missed review suggestion...

* more review

* ganon comments

* more review

* 🐍☠️

* more review

* Update functions.h

* quotes

* review

Co-authored-by: zelda2774 <zelda2774@invalid>
This commit is contained in:
zelda2774 2021-08-30 02:08:41 +02:00 committed by GitHub
parent 28e72bb486
commit a75c70358c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 1562 additions and 5496 deletions

View file

@ -2003,7 +2003,7 @@ s32 Audio_SyncLoadSample(s32 arg0, s32 arg1, u8* arg2);
s32 Audio_SyncLoadSeq(s32 seqIdx, u8* ramAddr, u8* arg2);
void Audio_AsyncLoadReqInit(void);
void func_800E4D94(void);
void func_800E4EEC(s32 arg0, s32 arg1, u8* arg2);
void func_800E4EEC(s32 tableType, s32 arg1, u8* arg2);
void func_800E4F58(void);
void func_800E4FB0(void);
AudioTask* func_800E4FE0(void);
@ -2074,92 +2074,50 @@ void Audio_ProcessSequence(SequencePlayer* seqPlayer);
void Audio_ResetSequencePlayer(SequencePlayer* seqPlayer);
void func_800EC734(s32 seqPlayerIdx);
void Audio_InitSequencePlayers(void);
// ? Audio_GetOcaInput(?);
// ? Audio_OcaAdjStick(?);
// ? func_800ECAF0(?);
// ? Audio_OcaMapNoteValue(?);
// ? func_800ECB7C(?);
void func_800ECC04(u16);
// ? func_800ECDBC(?);
// ? func_800ECDF8(?);
// ? func_800ED200(?);
// ? func_800ED458(?);
void func_800ED858(u8);
void func_800ED93C(s8 songIdx, s8 arg1);
// ? func_800EDA3C(?);
// ? func_800EDD68(?);
// ? func_800EE170(?);
// ? func_800EE29C(?);
// ? func_800EE2D4(?);
// ? func_800EE318(?);
// ? func_800EE3C8(?);
void func_800EE170(u8);
OcarinaStaff* func_800EE3C8(void);
OcarinaStaff* func_800EE3D4(void);
OcarinaStaff* Audio_OcaGetDisplayStaff(void);
// ? func_800EE404(?);
// ? func_800EE57C(?);
// ? func_800EE5EC(?);
// ? func_800EE6F4(?);
void func_800EE57C(u8 minigameIdx);
s32 func_800EE5EC(void);
void func_800EE824(void);
// ? func_800EE930(?);
// ? func_800EE97C(?);
// ? func_800EE9D0(?);
void func_800EEA50(GfxPrint* printer);
// ? func_800F1BDC(?);
// ? func_800F2150(?);
// ? func_800F227C(?);
// ? func_800F2464(?);
// ? func_800F27A0(?);
// ? func_800F28AC(?);
// ? func_800F28B4(?);
// ? func_800F29FC(?);
// ? func_800F2A04(?);
void func_800F2D6C(const s8* str, u16 num);
// ? func_800F2E28(?);
void AudioDebug_Draw(GfxPrint* printer);
void AudioDebug_ScrPrt(const s8* str, u16 num);
void func_800F3054(void);
// ? func_800F3188(?);
// ? func_800F32F0(?);
// ? func_800F3468(?);
// ? func_800F35EC(?);
// ? func_800F37B8(?);
// ? func_800F3990(?);
void func_800F3A08(u8, u8, u8);
// ? func_800F3ED4(?);
void Audio_SetSoundProperties(u8 bankIdx, u8 entryIdx, u8 channelIdx);
void func_800F3F3C(u8);
// ? func_800F3F84(?);
void func_800F4010(Vec3f*, u16 sfxId, f32);
void func_800F41E0(Vec3f*, u16 sfxId, u8);
void func_800F4138(Vec3f*, u16 sfxId, f32);
void func_800F4190(Vec3f*, u16 sfxId);
void func_800F4010(Vec3f* pos, u16 sfxId, f32);
void Audio_PlaySoundRandom(Vec3f* pos, u16 baseSfxId, u8 randLim);
void func_800F4138(Vec3f* pos, u16 sfxId, f32);
void func_800F4190(Vec3f* pos, u16 sfxId);
void func_800F436C(Vec3f* pos, u16 sfxId, f32 arg2);
void func_800F4414(Vec3f* pos, u16 sfxId, f32);
void func_800F44EC(s8 arg0, s8 arg1);
void func_800F4524(Vec3f* arg0, u16 arg1, s8 arg2);
void func_800F4524(Vec3f* pos, u16 sfxId, s8 arg2);
void func_800F4254(Vec3f* pos, u8 arg1);
void func_800F436C(Vec3f*, u16 sfxId, f32 arg2);
void func_800F4414(Vec3f*, u16 sfxId, f32 arg2);
void func_800F4634(Vec3f*, f32);
void func_800F46E0(Vec3f* pos, f32 arg0);
// ? func_800F4784(?);
void Audio_PlaySoundRiver(Vec3f* pos, f32 freqScale);
void Audio_PlaySoundWaterfall(Vec3f* pos, f32 freqScale);
void func_800F47BC(void);
void func_800F47FC(void);
void func_800F483C(u8 arg0, u8 arg1);
void func_800F483C(u8 targetVol, u8 volFadeTimer);
void func_800F4870(u8);
// ? func_800F491C(?);
void func_800F4A54(u8);
// ? func_800F4A70(?);
void func_800F4B58(Vec3f*, s16, u8*);
void func_800F4BE8(void);
void func_800F4BF4(Vec3f*, u16 sfxId, s8);
void func_800F4C58(Vec3f*, u16 sfxId, u8);
void func_800F4E30(Vec3f*, f32);
// ? func_800F50CC(?);
void* func_800F50EC(Vec3f*);
// ? func_800F510C(?);
void func_800F52A0(Vec3f*, u16, u16);
void func_800F5504();
// ? func_800F5510(?);
// ? func_800F5550(?);
// ? func_800F56A8(?);
void Audio_PlaySoundIncreasinglyTransposed(Vec3f* pos, s16 sfxId, u8* semitones);
void Audio_ResetIncreasingTranspose(void);
void Audio_PlaySoundTransposed(Vec3f* pos, u16 sfxId, s8 semitone);
void func_800F4C58(Vec3f* pos, u16 sfxId, u8);
void func_800F4E30(Vec3f* pos, f32);
void Audio_ClearSariaBgm(void);
void Audio_ClearSariaBgmAtPos(Vec3f* pos);
void Audio_PlaySariaBgm(Vec3f* pos, u16 seqId, u16 distMax);
void Audio_ClearSariaBgm2(void);
void func_800F5510(u16 seqId);
void func_800F5550(u16 seqId);
void func_800F574C(f32 arg0, u8 arg2);
void func_800F5718(void);
void func_800F5918(void);
@ -2171,21 +2129,19 @@ void func_800F5B58(void);
void func_800F5BF0(u8 arg0);
void func_800F5C64(u16);
void func_800F5C2C(void);
// ? func_800F5CF8(?);
// ? func_800F5E18(?);
void func_800F5E18(u8 seqIdx, u16 seqId, u8 fadeTimer, s8 arg3, s8 arg4);
void func_800F5E90(u8);
void func_800F6114(f32);
void func_800F6268(f32, u16);
void func_800F6114(f32 dist);
void func_800F6268(f32 dist, u16);
void func_800F64E0(u8 arg0);
void func_800F6584(u8 arg0);
void func_800F66C0(s8 echo);
void func_800F66DC(s8);
void Audio_SetEnvReverb(s8 reverb);
void Audio_SetCodeReverb(s8 reverb);
void func_800F6700(s8 outputMode);
void func_800F67A0(u8);
void func_800F6828(u8);
void func_800F68BC(s8);
// ? func_800F68D4(?);
// ? func_800F691C(?);
void Audio_SetCutsceneFlag(s8 flag);
void Audio_PlaySoundIfNotInCutscene(u16 sfxId);
void func_800F6964(u16);
void func_800F6AB0(u16);
// ? Audio_DisableAllSeq(?);
@ -2199,12 +2155,11 @@ void func_800F70F8();
void func_800F711C();
void func_800F7170(void);
// ? func_800F71BC(?);
void func_800F7260(u16);
void Audio_SetSoundBanksMute(u16 muteMask);
void Audio_QueueSeqCmdMute(u8);
void Audio_ClearBGMMute(u8);
void Audio_PlaySoundGeneral(u16 sfxId, Vec3f* a1, u8 a2, f32* a3, f32* a4, s8* a5);
// ? func_800F74E0(?);
void func_800F7680(void);
void Audio_PlaySoundGeneral(u16 sfxId, Vec3f* pos, u8 a2, f32* freqScale, f32* a4, s8* reverbAdd);
void Audio_ProcessSoundRequest(void);
void func_800F7B54(u8, u8);
void func_800F7CEC(u8);
void func_800F8480(u8);
@ -2219,18 +2174,18 @@ s32 func_800FA11C(u32, u32);
void func_800F8A44(Vec3f* pos, u16 sfxId);
void func_800F8BA0(u8, u16);
void Audio_StopSfx(u32 sfxId);
void func_800F8E3C(void);
void Audio_ProcessSoundRequests(void);
void func_800F8EA0(u8, u8, u16);
void func_800F8F34(u8);
void func_800F8F88(void);
u8 func_800F8FF4(u32 sfxId);
u8 Audio_IsSfxPlaying(u32 sfxId);
void func_800F905C(void);
void func_800F9474(u8, u16);
void Audio_ProcessSeqCmd(u32);
void Audio_ProcessSeqCmds(void);
void func_800FA174(u8);
void func_800FA18C(u8, u8);
void Audio_SetVolScale(u8, u8, u8, u8);
void Audio_SetVolScale(u8 seqIdx, u8 scaleIdx, u8 targetVol, u8 volFadeTimer);
void func_800FA3DC(void);
u8 func_800FAD34(void);
void func_800FADF8(void);
@ -2248,8 +2203,8 @@ void GfxPrint_Init(GfxPrint*);
void GfxPrint_Destroy(GfxPrint*);
void GfxPrint_Open(GfxPrint*, Gfx*);
Gfx* GfxPrint_Close(GfxPrint*);
void GfxPrint_VPrintf(GfxPrint*, const char*, va_list);
void GfxPrint_Printf(GfxPrint*, const char*, ...);
s32 GfxPrint_VPrintf(GfxPrint*, const char*, va_list);
s32 GfxPrint_Printf(GfxPrint*, const char*, ...);
void func_800FBCE0();
void func_800FBFD8(void);
void* Overlay_AllocateAndLoad(u32 vRomStart, u32 vRomEnd, void* vRamStart, void* vRamEnd);
@ -2356,8 +2311,8 @@ void __osDisplayArena(Arena* arena);
void ArenaImpl_FaultClient(Arena* arena);
u32 __osCheckArena(Arena* arena);
u8 func_800FF334(Arena* arena);
void PrintUtils_VPrintf(PrintCallback* pfn, const char* fmt, va_list args);
void PrintUtils_Printf(PrintCallback* pfn, const char* fmt, ...);
s32 PrintUtils_VPrintf(PrintCallback* pfn, const char* fmt, va_list args);
s32 PrintUtils_Printf(PrintCallback* pfn, const char* fmt, ...);
void Sleep_Cycles(OSTime cycles);
void Sleep_Nsec(u32 nsec);
void Sleep_Usec(u32 usec);

View file

@ -374,24 +374,17 @@ extern s32 D_80130514;
extern u8 D_80130570[8];
extern u8 D_80130578[4][7];
extern u8 D_80130594[4][7];
//extern ? D_801305B0;
//extern ? D_801305B4;
//extern ? D_801305B8;
//extern ? D_801305BC;
//extern ? D_801305C0;
//extern ? D_801305CC;
extern u8 D_801305D0[];
extern u8 gMorphaTransposeTable[16];
//extern ? D_801305E0;
//extern ? D_801305F4;
//extern ? D_80130600;
//extern ? D_80130604;
//extern ? D_80130608;
//extern ? D_8013060C;
//extern ? D_80130610;
//extern ? D_80130614;
//extern ? D_80130618;
//extern ? D_8013061C;
//extern ? D_80130624;
//extern ? D_80130628;
//extern ? D_8013062C;
//extern ? D_80130630;
@ -401,7 +394,6 @@ extern u8 D_801305D0[];
//extern ? D_80130640;
//extern ? D_80130644;
//extern ? D_80130648;
//extern ? D_8013064C;
//extern ? D_80130650;
//extern ? D_80130654;
//extern ? D_80130658;
@ -462,52 +454,11 @@ extern OcarinaSongInfo gOcarinaSongNotes[];
//extern ? D_80131C80;
//extern ? D_80131C84;
//extern ? D_80131C88;
//extern ? D_80131C90;
//extern ? D_80131C94;
//extern ? D_80131C98;
//extern ? D_80131C9C;
//extern ? D_80131CA0;
//extern ? D_80131CA4;
//extern ? D_80131CA8;
//extern ? D_80131CAC;
//extern ? D_80131E08;
//extern ? D_80131E20;
//extern ? D_80131E38;
//extern ? D_80131E88;
//extern ? D_80131EBC;
//extern ? D_80131EC0;
//extern ? D_80131EC4;
//extern ? D_80131EC8;
//extern ? D_80131ED0;
//extern ? sAudioScreenPrintInd;
//extern ? sAudioScreenPrintOverflow;
//extern ? D_80131EDC;
//extern ? D_80131EE0;
//extern ? D_80131EE4;
//extern ? D_80131EFC;
//extern ? D_80131F00;
//extern ? D_80131F04;
//extern ? D_80131F08;
//extern ? D_80131F0C;
//extern ? D_80131F18;
//extern ? D_80131F1C;
//extern ? D_80131F20;
//extern ? D_80131F28;
//extern ? D_80131F2C;
//extern ? D_80131F30;
//extern ? D_80131F44;
//extern ? D_80131F4C;
//extern ? D_80131F50;
//extern ? D_80131F54;
//extern ? D_80131F64;
//extern ? D_80131F68;
//extern ? D_80131F6C;
extern Struct_8013331C *D_8013331C[];
//extern ? D_80133344;
extern char D_80133390[];
extern char D_80133398[];
extern u8 D_801333A0;
extern u8 D_801333A4;
extern SoundBankEntry* gSoundBanks[7];
extern u8 sBankSizes[7];
extern u8 D_801333CC;
@ -516,15 +467,15 @@ extern Vec3f D_801333D4;
extern f32 D_801333E0;
extern s8 D_801333E8;
extern u8 D_801333F0;
extern u8 D_801333F4;
extern u8 gAudioSEFlagSwapOff;
extern u8 D_801333F8;
//extern ? sSeqCmdWrPos;
//extern ? sSeqCmdRdPos;
//extern ? D_80133408;
//extern ? D_8013340C;
//extern ? D_80133414;
extern u8 gAudioSpecId;
//extern ? D_80133418;
extern AudioSessionSettings gAudioSessionPresets[18];
extern AudioSpec gAudioSpecs[18];
extern s32 gOverlayLogSeverity;
//extern ? D_80134480;
//extern ? D_80134484;
@ -3213,26 +3164,19 @@ extern OSMesgQueue D_8016B6E0;
//extern OSMesg D_8016B6F8;
extern u8* D_8016B738[];
//extern u32 D_8016B780;
//extern ? sAudioUpdateStartTime;
//extern ? sAudioUpdateEndTime;
//extern ? D_8016B7A8;
//extern ? D_8016B7AC;
//extern ? D_8016B7B0;
//extern ? D_8016B7B8;
//extern ? D_8016B7C8;
//extern ? D_8016B7D8;
//extern ? D_8016B7DC;
//extern ? D_8016B7E0;
//extern ? sAudioScreenPrintBuf;
//extern ? D_8016B8B0;
//extern ? D_8016B8B1;
//extern ? D_8016B8B2;
//extern ? D_8016B8B3;
//extern ? D_8016B8B4;
//extern ? D_8016B8B8;
//extern ? D_8016B9B8;
//extern ? D_8016B9D8;
//extern ? D_8016B9E0;
//extern ? D_8016B9F2;
//extern ? D_8016B9F3;
//extern ? D_8016B9F4;
@ -3243,27 +3187,12 @@ extern u8* D_8016B738[];
//extern ? D_8016BA04;
//extern ? D_8016BA08;
//extern ? D_8016BA09;
//extern ? sCurOcarinaBtnPress;
//extern ? D_8016BA10;
//extern ? sPrevOcarinaBtnPress;
//extern ? D_8016BA18;
//extern ? sCurOcarinaSong;
//extern ? sOcarinaSongAppendPos;
//extern ? sOcarinaHasStartedSong;
//extern ? gOcarinaSongNotestartIdx;
//extern ? sOcarinaSongCnt;
//extern ? sOcarinaAvailSongs;
//extern ? D_8016BA2E;
//extern ? D_8016BA50;
//extern ? D_8016BA70;
//extern ? sLearnSongExpectedNote;
//extern ? D_8016BAA0;
//extern ? D_8016BAA8;
//extern ? D_8016BAB0;
//extern ? sDebugPadPressRaw;
//extern ? sDebugPadPress;
//extern ? sAudioUpdateTaskStart;
//extern ? sAudioUpdateTaskEnd;
extern SoundBankEntry D_8016BAD0[9];
extern SoundBankEntry D_8016BC80[12];
extern SoundBankEntry D_8016BEC0[22];
@ -3271,20 +3200,18 @@ extern SoundBankEntry D_8016C2E0[20];
extern SoundBankEntry D_8016C6A0[8];
extern SoundBankEntry D_8016C820[3];
extern SoundBankEntry D_8016C8B0[5];
//extern ? D_8016C9A0;
extern u8 D_8016E1A0[7];
extern u8 D_8016E1A8[7];
extern u8 D_8016E1B0[7];
extern Struct_800F7CEC D_8016E1B8[7][3]; // total size = 0xA8
extern u8 D_8016E260;
extern u8 D_8016E264[];
extern u8 gSoundBankMuted[];
//extern ? D_8016E270;
extern u16 D_8016E2E0[];
extern u16 D_8016E2F8[];
extern u8 D_8016E310[];
extern u16 gAudioSEFlagSwapSource[10];
extern u16 gAudioSEFlagSwapTarget[10];
extern u8 gAudioSEFlagSwapMode[10];
//extern ? D_8016E320;
//extern ? D_8016E348;
//extern ? sAudioSeqCmds;
extern unk_D_8016E750 D_8016E750[4];
//extern ? D_8016EE8B;
extern AudioContext gAudioContext; // at 0x8016F180

View file

@ -273,7 +273,7 @@ typedef struct {
/*?0x148 */ u32 bankDmaCurrDevAddr;
/*?0x14C */ s32 bankDmaRemaining;
/* */ u8 pad_150[8];
/* 0x158 */ s8 unk_158[8]; // seqVariationEu? soundScriptIO?
/* 0x158 */ s8 unk_158[8]; // "port" according to debug strings. seqVariationEu? soundScriptIO?
} SequencePlayer; // size = 0x160
typedef struct {
@ -592,10 +592,10 @@ typedef struct {
/* 0x2C */ u32 temporaryUnusedMem;
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
} AudioSessionSettings; // size = 0x38
} AudioSpec; // size = 0x38
typedef struct {
/* 0x00 */ s16 presetUnk4;
/* 0x00 */ s16 specUnk4;
/* 0x02 */ u16 frequency;
/* 0x04 */ u16 aiFrequency;
/* 0x06 */ s16 samplesPerFrameTarget;
@ -836,7 +836,7 @@ typedef struct {
typedef struct {
/* 0x0000 */ OSTask task;
/* 0x0040 */ OSMesgQueue* taskQueue;
/* 0x0044 */ void* unk_44; // probbly a message that gets unused.
/* 0x0044 */ void* unk_44; // probably a message that gets unused.
/* 0x0048 */ char unk_48[0x8];
} AudioTask; // size = 0x50
@ -861,9 +861,9 @@ typedef struct {
} RelocInfo;
typedef enum {
SEQUENCE_TABLE,
BANK_TABLE,
AUDIO_TABLE
/* 0 */ SEQUENCE_TABLE,
/* 1 */ BANK_TABLE,
/* 2 */ AUDIO_TABLE
} AudioTableType;
typedef struct {
@ -976,7 +976,7 @@ typedef struct {
/* 0x3468 */ u8 bankLoadStatus[0x30];
/* 0x3498 */ u8 seqLoadStatus[0x80];
/* 0x3518 */ volatile u8 resetStatus;
/* 0x3519 */ u8 audioResetPresetIdToLoad;
/* 0x3519 */ u8 audioResetSpecIdToLoad;
/* 0x351C */ s32 audioResetFadeOutFramesLeft;
/* 0x3520 */ f32* unk_3520;
/* 0x3524 */ u8* audioHeap;
@ -1068,13 +1068,13 @@ typedef struct {
} unk_D_8016E750; // size = 0x264
typedef enum {
BANK_PLAYER,
BANK_ITEM,
BANK_ENV,
BANK_ENEMY,
BANK_SYSTEM,
BANK_OCARINA,
BANK_VOICE
/* 0 */ BANK_PLAYER,
/* 1 */ BANK_ITEM,
/* 2 */ BANK_ENV,
/* 3 */ BANK_ENEMY,
/* 4 */ BANK_SYSTEM,
/* 5 */ BANK_OCARINA,
/* 6 */ BANK_VOICE
} SoundBankTypes;
typedef struct {
@ -1082,18 +1082,18 @@ typedef struct {
/* 0x04 */ f32* posY;
/* 0x08 */ f32* posZ;
/* 0x0C */ u8 unk_C;
/* 0x10 */ f32* unk_10;
/* 0x10 */ f32* freqScale;
/* 0x14 */ f32* unk_14;
/* 0x18 */ s8* unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x18 */ s8* reverbAdd;
/* 0x1C */ f32 dist;
/* 0x20 */ u32 unk_20;
/* 0x24 */ u8 unk_24;
/* 0x26 */ u16 unk_26;
/* 0x28 */ u16 unk_28; // "flag"
/* 0x2A */ u8 unk_2A;
/* 0x2B */ u8 unk_2B;
/* 0x2C */ u8 prev; // prev bank index
/* 0x2D */ u8 next; // next bank index
/* 0x2C */ u8 prev;
/* 0x2D */ u8 next;
/* 0x2E */ u8 unk_2E;
/* 0x2F */ u8 unk_2F;
} SoundBankEntry; // size = 0x30