Cumulative docs update (#221)

* lights fix

* names

* remove header

* so many names

* format

* more docs

* makefile
This commit is contained in:
petrie911
2024-04-25 01:14:49 -03:00
committed by GitHub
parent a6b80a5825
commit 0c9be776da
62 changed files with 1051 additions and 1028 deletions
+1
View File
@@ -378,6 +378,7 @@ toolchain:
torch:
@$(MAKE) -s -C tools torch
rm -f torch.hash.yml
init:
@$(MAKE) clean
+6 -6
View File
@@ -24,7 +24,7 @@ extern s32 gTeamShields[6];
extern s32 gSavedTeamShields[6];
extern s32 gPrevPlanetSavedTeamShields[6];
extern s32 gTeamDamage[6];
extern u8 gNextPlanetPath; // next planet path
extern u8 gMissionStatus; // next planet path
extern f32 gGroundHeight;
extern f32 D_ctx_80177950;
extern f32 D_ctx_80177968;
@@ -47,11 +47,11 @@ extern u8 gAqDrawMode;
extern s32 D_ctx_80177AE0;
extern s32 gMainController;
extern s32 D_ctx_80177B40;
extern PlanetId gMissionNumber; // D_ctx_80177B48 // Arrow pointer?
extern s32 D_ctx_80177B50[7];
extern s32 D_ctx_80177B70[7];
extern PlanetId D_ctx_80177B90[7];
extern s32 D_ctx_80177BB0[7];
extern s32 gMissionNumber;
extern s32 gMissionTeamStatus[7];
extern s32 gMissionHitCount[7];
extern PlanetId gMissionPlanet[7];
extern s32 gMissionMedal[7];
extern s32 gPlanetPathStatus[]; // overruns D_ctx_80177C30?
extern s32 gPrevPlanetTeamShields[6];
extern s32 D_ctx_80177C58[6];
+3 -3
View File
@@ -1,12 +1,12 @@
#ifndef PREVENT_CONTEXT_REORDERING_H
#define PREVENT_CONTEXT_REORDERING_H
// extern int Dummyhalf;
extern int Dummyhalf;
// struct Dummy0 {int x;};
// struct Dummy1 {int x;};
// struct Dummy2 {int x;};
struct Dummy3 {int x;};
struct Dummy4 {int x;};
// struct Dummy3 {int x;};
// struct Dummy4 {int x;};
struct Dummy5 {int x;};
struct Dummy6 {int x;};
struct Dummy7 {int x;};
+18 -18
View File
@@ -151,29 +151,29 @@ void Audio_PlayVoiceWithoutBGM(u32 msgId);
void Audio_ClearVoice(void);
s32 Audio_GetCurrentVoice(void);
s32 Audio_GetCurrentVoiceStatus(void);
void func_8001AF40(u8 unkVoiceParam);
void Audio_SetUnkVoiceParam(u8 unkVoiceParam);
u8* Audio_UpdateFrequencyAnalysis(void);
void Audio_StartPlayerNoise(u8 playerId);
void func_8001CA24(u8 playerId);
void func_8001CB80(u8 playerId, u8 arg1);
void func_8001CCDC(u8 playerId, f32* sfxSource);
void func_8001CE28(u8 playerId, f32* sfxSource);
void func_8001CF60(f32* sfxSource);
void func_8001CFA8(f32 arg0);
void func_8001D034(f32* sfxSource, u32 sfxId, u8 semitones);
void func_8001D0B4(f32* sfxSource, u32 sfxId, f32 freqMod);
void func_8001D10C(f32* sfxSource, u32 sfxId);
void func_8001D15C(u8 arg0);
void func_8001D1C8(u8 arg0, u8 arg1);
void Audio_PlayEventSfx(f32* sfxSource, u16 arg1);
void Audio_StopEventSfx(f32* sfxSource, u16 arg1);
void Audio_SetBaseSfxReverb(s8 reverb);
void Audio_StopPlayerNoise(u8 playerId);
void Audio_InitBombSfx(u8 playerId, u8 type);
void Audio_PlayBombFlightSfx(u8 playerId, f32* sfxSource);
void Audio_PlayBombExplodeSfx(u8 playerId, f32* sfxSource);
void Audio_StopEngineNoise(f32* sfxSource);
void Audio_SetSfxSpeedModulation(f32 vel);
void Audio_SetTransposeAndPlaySfx(f32* sfxSource, u32 sfxId, u8 semitones);
void Audio_SetModulationAndPlaySfx(f32* sfxSource, u32 sfxId, f32 freqMod);
void Audio_PlaySfxModulated(f32* sfxSource, u32 sfxId);
void Audio_SetSfxMapModulation(u8 fMod);
void Audio_SetHeatAlarmParams(u8 shields, u8 heightParam);
void Audio_PlayEventSfx(f32* sfxSource, u16 eventSfxId);
void Audio_StopEventSfx(f32* sfxSource, u16 eventSfxId);
void Audio_SetEnvSfxReverb(s8 reverb);
void Audio_SetBgmParam(s8 bgmParam);
void Audio_PlaySequence(u8 seqPlayId, u16 seqId, u8 fadeinTime, u8 bgmParam);
void Audio_PlayFanfare(u16 seqId, u8 bgmVolume, u8 bgmFadeoutTime, u8 bgmFadeinTime);
void func_8001D520(void);
void func_8001D638(u8 arg0);
void func_8001D6DC(u8 arg0);
void Audio_PlayDeathSequence(void);
void Audio_PlayPauseSfx(u8 active);
void Audio_PlayMapMenuSfx(u8 active);
void Audio_SetVolume(u8 audioType, u8 volume);
void Audio_PlaySoundTest(u8 enable);
void Audio_PlaySequenceDistorted(u8 seqPlayId, u16 seqId, u16 distortion, u8 fadeinTime, u8 unused);
+10 -4
View File
@@ -122,6 +122,12 @@ typedef enum {
/* 5 */ LOAD_STATUS_PERMANENTLY_LOADED // the entry data is loaded in the permanent pool, it won't be discarded
} AudioLoadStatus;
typedef enum AudioResetStatus {
AUDIORESET_READY,
AUDIORESET_WAIT,
AUDIORESET_BLOCK,
} AudioResetStatus;
typedef s32 (*DmaHandler)(OSPiHandle* handle, OSIoMesg* mb, s32 direction);
struct Note;
@@ -752,7 +758,7 @@ typedef struct {
/* 0x14 */ u32 chunkSize;
/* 0x18 */ OSMesg retMsg;
/* 0x1C */ OSMesgQueue* retQueue;
/* 0x20 */ OSMesgQueue msgQueue;
/* 0x20 */ OSMesgQueue mesgQueue;
/* 0x38 */ OSMesg msg;
/* 0x3C */ OSIoMesg ioMesg;
} AudioAsyncLoad; // size = 0x54
@@ -768,7 +774,7 @@ typedef struct {
/* 0x14 */ s32 bytesRemaining;
/* 0x18 */ s8* status; // write-only
/* 0x1C */ Sample sample;
/* 0x2C */ OSMesgQueue msgQueue;
/* 0x2C */ OSMesgQueue mesgQueue;
/* 0x44 */ OSMesg msg;
/* 0x48 */ OSIoMesg ioMesg;
} AudioSlowLoad; // size = 0x60
@@ -812,7 +818,7 @@ typedef struct SampleDma {
typedef struct {
/* 0x00 */ OSTask task;
/* 0x40 */ OSMesgQueue* msgQueue;
/* 0x40 */ OSMesgQueue* mesgQueue;
/* 0x44 */ void* unk_44; // probably a message that gets unused.
/* 0x48 */ char unk_48[0x8];
} AudioTask; // size = 0x50
@@ -1081,7 +1087,7 @@ void func_800168BC(void);
void AudioThread_ScheduleProcessCmds(void);
u32 AudioThread_GetAsyncLoadStatus(u32 *);
u8* AudioThread_GetFontsForSequence(s32 seqId, u32* outNumFonts);
s32 func_8001ED34(void);
bool AudioThread_ResetComplete(void);
void AudioThread_ResetAudioHeap(s32);
void AudioThread_Init(void);
+6
View File
@@ -12,6 +12,12 @@ typedef enum {
/* 3 */ LEVELTYPE_UNK3,
} LevelType;
typedef enum {
/* 0 */ MISSION_COMPLETE,
/* 1 */ MISSION_ACCOMPLISHED,
/* 2 */ MISSION_WARP,
} MissionStatus;
typedef struct {
/* 0x00 */ s32 type;
/* 0x04 */ s32 unk_04;
+19 -15
View File
@@ -42,7 +42,7 @@ typedef struct {
typedef struct {
/* 0x000 */ OSThread thread;
/* 0x1B0 */ char stack[0x800];
/* 0x9B0 */ OSMesgQueue msgQueue;
/* 0x9B0 */ OSMesgQueue mesgQueue;
/* 0x9C8 */ OSMesg msg;
/* 0x9CC */ FrameBuffer* fb;
/* 0x9D0 */ u16 width;
@@ -59,7 +59,7 @@ typedef enum {
typedef struct {
/* 0x00 */ OSTask task;
/* 0x40 */ OSMesgQueue* msgQueue;
/* 0x40 */ OSMesgQueue* mesgQueue;
/* 0x44 */ OSMesg msg;
/* 0x48 */ SpTaskState state;
} SPTask; // size = 0x50, 0x8 aligned
@@ -126,32 +126,32 @@ extern u32 gSegments[16]; // 800E1FD0
extern OSMesgQueue gPiMgrCmdQueue; // 800E2010
extern OSMesg sPiMgrCmdBuff[50]; // 800E2028
extern OSMesgQueue gDmaMsgQueue;
extern OSMesgQueue gDmaMesgQueue;
extern OSMesg sDmaMsgBuff[1];
extern OSIoMesg gDmaIOMsg;
extern OSMesgQueue gSerialEventQueue;
extern OSMesg sSerialEventBuff[1];
extern OSMesgQueue gMainThreadMsgQueue;
extern OSMesgQueue gMainThreadMesgQueue;
extern OSMesg sMainThreadMsgBuff[32];
extern OSMesgQueue gTaskMsgQueue;
extern OSMesgQueue gTaskMesgQueue;
extern OSMesg sTaskMsgBuff[16];
extern OSMesgQueue gAudioVImsgQueue;
extern OSMesgQueue gAudioVImesgQueue;
extern OSMesg sAudioVImsgBuff[1];
extern OSMesgQueue gAudioTaskMsgQueue;
extern OSMesgQueue gAudioTaskMesgQueue;
extern OSMesg sAudioTaskMsgBuff[1];
extern OSMesgQueue gGfxVImsgQueue;
extern OSMesgQueue gGfxVImesgQueue;
extern OSMesg sGfxVImsgBuff[4];
extern OSMesgQueue gGfxTaskMsgQueue;
extern OSMesgQueue gGfxTaskMesgQueue;
extern OSMesg sGfxTaskMsgBuff[2];
extern OSMesgQueue gSerialThreadMsgQueue;
extern OSMesgQueue gSerialThreadMesgQueue;
extern OSMesg sSerialThreadMsgBuff[8];
extern OSMesgQueue gControllerMsgQueue;
extern OSMesgQueue gControllerMesgQueue;
extern OSMesg sControllerMsgBuff[1];
extern OSMesgQueue gSaveMsgQueue;
extern OSMesgQueue gSaveMesgQueue;
extern OSMesg sSaveMsgBuff[1];
extern OSMesgQueue gTimerTaskMsgQueue;
extern OSMesgQueue gTimerTaskMesgQueue;
extern OSMesg sTimerTaskMsgBuff[16];
extern OSMesgQueue gTimerWaitMsgQueue;
extern OSMesgQueue gTimerWaitMesgQueue;
extern OSMesg sTimerWaitMsgBuff[1];
extern GfxPool gGfxPools[2]; // 800E23B0
@@ -182,7 +182,11 @@ extern OSThread gMainThread; // 8013A040
extern u8 sMainThreadStack[0x1000]; // 8013A1F0
extern OSThread gAudioThread; //8013B1F0
#define MSG_QUEUE_EMPTY -1
#define MESG_QUEUE_EMPTY -1
#define MQ_GET_MESG(mq, mesg) (osRecvMesg((mq), (OSMesg*) (mesg), OS_MESG_NOBLOCK) != -1)
#define MQ_WAIT_FOR_MESG(mq, mesg) osRecvMesg((mq), (OSMesg*) (mesg), OS_MESG_BLOCK)
#define MQ_CLEAR_QUEUE(mq) do {s32 m1 = -1; s32 mesg; do {} while(osRecvMesg((mq), (OSMesg*) &(mesg), OS_MESG_NOBLOCK) != m1);} while(0)
#define FAULT_MESG_BREAK 1
#define FAULT_MESG_FAULT 2
+2 -2
View File
@@ -89,7 +89,7 @@ extern CollisionHeader2 D_800D2CA0[];
// fox_play
extern u8 gVenomHardClear;
extern u8 D_play_800D3180[30];
extern u8 gLeveLClearStatus[30];
// fox_radio
extern s32 gCurrentMsgPri;
@@ -99,7 +99,7 @@ extern s32 gAllRangeSupplyTimer;
extern s32 sStarWolfKillTimer;
extern s16 gStarWolfMsgTimer;
extern s32 gAllRangeWingRepairTimer;
extern s32 gAllRangeWingRepairSent;
extern s32 gAllRangeSuppliesSent;
extern f32 gSzMissileR;
extern f32 gSzMissileG;
extern f32 gSzMissileB;
+1 -1
View File
@@ -70,7 +70,7 @@ D_display_801613E0 = 0x801613E0;//size:0x18
D_edata_800CC124 = 0x800CC124;//type:u8
D_boss_800C9E90 = 0x800C9E90;//size:0x70
D_play_800D3180 = 0x800D3180; // size:0x20
gLeveLClearStatus = 0x800D3180; // size:0x20
gRcpSetupDLs = 0x800D31B0; // size:0x18C0
D_edisplay_800CFCA0 = 0x800CFCA0;
+39 -39
View File
@@ -23,10 +23,10 @@ sSeqCmdWritePos = 0x800C5D44;
sSeqCmdReadPos = 0x800C5D48;
sStartSeqDisabled = 0x800C5D4C;
sSoundModeList = 0x800C5D50;
sNewAudioSpecId = 0x800C5D54;
sAudioSpecId = 0x800C5D54;
D_800C5D58 = 0x800C5D58;
sBaseReverb = 0x800C5D60;
sEnvReverb = 0x800C5D60;
sAudioSpecReverb = 0x800C5D64;
sVolumeSettings = 0x800C5D68;
D_800C5D6C = 0x800C5D6C;
@@ -39,7 +39,7 @@ sSfxVolMod = 0x800C5E78;
sPlaylistIndex = 0x800C5E7C;
sPlaylistTimer = 0x800C5E80;
sPlaylistCmdIndex = 0x800C5E84;
D_800C5E88 = 0x800C5E88;
sEventSfx = 0x800C5E88;
sSoundTestTracks = 0x800C5EE4;
sPlaylists = 0x800C5FF4; //type:u16 size:5000
@@ -47,7 +47,7 @@ D_800C7380 = 0x800C7380;
D_800C7384 = 0x800C7384;
D_800C7388 = 0x800C7388;
D_800C738C = 0x800C738C;
D_800C7390 = 0x800C7390;
sUnkVoiceParam = 0x800C7390;
D_800C7394 = 0x800C7394;
D_800C7398 = 0x800C7398;
D_800C7418 = 0x800C7418;
@@ -67,7 +67,7 @@ gThreadCmdWritePos = 0x800C7C50;
gThreadCmdReadPos = 0x800C7C54;
gAudioTaskStartQueue = 0x800C7C58;
gThreadCmdProcQueue = 0x800C7C5C;
gAudioUnkQueue = 0x800C7C60;
gAudioSpecQueue = 0x800C7C60;
gAudioResetQueue = 0x800C7C64;
gMaxAbiCmdCnt = 0x800C7C68;
gWaitingAudioTask = 0x800C7C6C;
@@ -106,7 +106,7 @@ D_80149AD8 = 0x80149AD8;
D_80149ED8 = 0x80149ED8;
D_8014A2D8 = 0x8014A2D8;
D_8014A8D8 = 0x8014A8D8;
D_8014A958 = 0x8014A958;
sFreqAnalyzerBars = 0x8014A958;
sSeqRequests = 0x8014A978;
sNumSeqRequests = 0x8014A9A0;
sAudioSeqCmds = 0x8014A9A8;
@@ -115,10 +115,10 @@ sDelayedSeqCmdFlags = 0x8014B708;
sDelayedSeqCmds = 0x8014B710;
sSfxChannelState = 0x8014B790;
sPlayerNoise = 0x8014B850;
D_8014BA10 = 0x8014BA10;
D_8014BA20 = 0x8014BA20;
D_8014BA24 = 0x8014BA24;
D_8014BA28 = 0x8014BA28;
sBombFreqMod = 0x8014BA10;
sBombType = 0x8014BA20;
sBombState = 0x8014BA24;
sBombStartFrame = 0x8014BA28;
gAudioContextStart = 0x8014BA40; // size:0x10
gSynthReverbs = 0x8014BA50; // size:0x750
@@ -212,12 +212,12 @@ gAudioContextEnd = 0x80155D90;//size:0x10
sAudioTaskStartQueue = 0x80155DA0;
sThreadCmdProcQueue = 0x80155DB8;
sAudioUnkQueue = 0x80155DD0;
sAudioSpecQueue = 0x80155DD0;
sAudioResetQueue = 0x80155DE8;
gThreadCmdBuffer = 0x80155E00;
sAudioTaskStartMsg = 0x80156600;
sThreadCmdProcMsg = 0x80156608;
sAudioUnkMsg = 0x80156618;
sAudioSpecMsg = 0x80156618;
sAudioResetMsg = 0x8015661C;
@@ -408,8 +408,8 @@ Audio_GetSfxPan = 0x80016CDC;
Audio_GetSfxFreqMod = 0x80016EE4;
Audio_SetSfxProperties = 0x80016FF0;
Audio_UpdateDopplerShift = 0x80017360;
func_80017494 = 0x80017494;
func_80017550 = 0x80017550;
Audio_LoadInstruments = 0x80017494;
Audio_LoadAquasSequence = 0x80017550;
Audio_ResetSfxChannelState = 0x80017588;
Audio_StartSequence = 0x80017600;
Audio_StopSequence = 0x80017760;
@@ -420,12 +420,12 @@ Audio_GetActiveSeqId = 0x8001839C;
Audio_SeqCmdNotQueued = 0x80018410;
Audio_SeqCmdValueNotQueued = 0x80018470;
Audio_ResetSequenceRequests = 0x800184D4;
func_800184EC = 0x800184EC;
Audio_DisableSetupOp = 0x800184EC;
Audio_SetSequenceFade = 0x800185A0;
Audio_UpdateActiveSequences = 0x800185F8;
Audio_SetDelayedSeqCmd = 0x80018E9C;
Audio_UpdateDelayedSeqCmds = 0x80018EE0;
func_80018FA4 = 0x80018FA4;
Audio_HandleReset = 0x80018FA4;
Audio_ResetActiveSequences = 0x80019068;
Audio_ResetActiveSequencesAndVolume = 0x800190E4;
Audio_SetSfxBanksMute = 0x80019158;
@@ -454,8 +454,8 @@ Audio_UpdateVoice = 0x8001AD44;
Audio_ClearVoice = 0x8001AE58;
Audio_GetCurrentVoice = 0x8001AE78;
Audio_GetCurrentVoiceStatus = 0x8001AED4;
func_8001AF40 = 0x8001AF40;
func_8001AF50 = 0x8001AF50;
Audio_SetUnkVoiceParam = 0x8001AF40;
Audio_UpdateUnkVoiceParam = 0x8001AF50;
Audio_ResetPlayerFreqMods = 0x8001AF9C;
Audio_UpdateArwingNoise = 0x8001B014;
Audio_UpdateLandmasterNoise = 0x8001B454;
@@ -465,31 +465,31 @@ Audio_UpdatePlayerReverb = 0x8001BB74;
Audio_UpdatePlayerNoise = 0x8001BC20;
Audio_ResetVoicesAndPlayers = 0x8001BC48;
Audio_ProcessPlaylist = 0x8001BD0C;
func_8001BFC0 = 0x8001BFC0;
Audio_AnalyzeFrequencies = 0x8001BFC0;
Audio_UpdateFrequencyAnalysis = 0x8001C3EC;
Audio_StartPlayerNoise = 0x8001C8B8;
func_8001CA24 = 0x8001CA24;
func_8001CB80 = 0x8001CB80;
func_8001CCDC = 0x8001CCDC;
func_8001CE28 = 0x8001CE28;
func_8001CEFC = 0x8001CEFC;
func_8001CF60 = 0x8001CF60;
func_8001CFA8 = 0x8001CFA8;
func_8001D034 = 0x8001D034;
func_8001D0B4 = 0x8001D0B4;
func_8001D10C = 0x8001D10C;
func_8001D15C = 0x8001D15C;
func_8001D1C8 = 0x8001D1C8;
Audio_StopPlayerNoise = 0x8001CA24;
Audio_InitBombSfx = 0x8001CB80;
Audio_PlayBombFlightSfx = 0x8001CCDC;
Audio_PlayBombExplodeSfx = 0x8001CE28;
Audio_StartEngineNoise = 0x8001CEFC;
Audio_StopEngineNoise = 0x8001CF60;
Audio_SetSfxSpeedModulation = 0x8001CFA8;
Audio_SetTransposeAndPlaySfx = 0x8001D034;
Audio_SetModulationAndPlaySfx = 0x8001D0B4;
Audio_PlaySfxModulated = 0x8001D10C;
Audio_SetSfxMapModulation = 0x8001D15C;
Audio_SetHeatAlarmParams = 0x8001D1C8;
Audio_PlayEventSfx = 0x8001D2FC;
Audio_StopEventSfx = 0x8001D3A0;
Audio_SetBaseSfxReverb = 0x8001D400;
Audio_SetEnvSfxReverb = 0x8001D400;
Audio_SetBgmParam = 0x8001D410;
Audio_PlaySequence = 0x8001D444;
Audio_PlayFanfare = 0x8001D4AC;
func_8001D520 = 0x8001D520;
func_8001D638 = 0x8001D638;
func_8001D6DC = 0x8001D6DC;
func_8001D780 = 0x8001D780;
Audio_PlayDeathSequence = 0x8001D520;
Audio_PlayPauseSfx = 0x8001D638;
Audio_PlayMapMenuSfx = 0x8001D6DC;
Audio_RestoreVolumeSettings = 0x8001D780;
Audio_SetVolume = 0x8001D8A8;
Audio_PlaySoundTest = 0x8001D8F4;
Audio_PlaySequenceDistorted = 0x8001D9E0;
@@ -499,8 +499,8 @@ Audio_KillAllSfx = 0x8001DC2C;
Audio_SetAudioSpec = 0x8001DC6C;
Audio_PlayBgm = 0x8001DCB4;
Audio_InitSounds = 0x8001DCE0;
func_8001DD40 = 0x8001DD40;
func_8001DE1C = 0x8001DE1C;
Audio_RestartSeqPlayers = 0x8001DD40;
Audio_StartReset = 0x8001DE1C;
Audio_Update = 0x8001DECC;
@@ -519,7 +519,7 @@ AudioThread_ResetCmdQueue = 0x8001E998;
AudioThread_ProcessCmds = 0x8001E9AC;
AudioThread_GetAsyncLoadStatus = 0x8001ECAC;
AudioThread_GetFontsForSequence = 0x8001ED14;
func_8001ED34 = 0x8001ED34;
AudioThread_ResetComplete = 0x8001ED34;
AudioThread_ResetAudioHeap = 0x8001ED8C;
AudioThread_PreNMIReset = 0x8001EE00;
AudioThread_Init = 0x8001EE3C;
+5 -5
View File
@@ -472,7 +472,7 @@ gPrevPlanetSavedTeamShields = 0x801778F0;//size=0x18
gBoostButton = 0x80177908;
gTeamDamage = 0x80177910;
gBrakeButton = 0x80177928;
gNextPlanetPath = 0x80177930;
gMissionStatus = 0x80177930;
gShootButton = 0x80177938;
gGroundHeight = 0x80177940;
gBombButton = 0x80177948;
@@ -512,10 +512,10 @@ gVsLockOnTimers = 0x80177B00;
D_ctx_80177B40 = 0x80177B40;
gStartAndrossFightTimer = 0x80177B44;
gMissionNumber = 0x80177B48;
D_ctx_80177B50 = 0x80177B50;
D_ctx_80177B70 = 0x80177B70;
D_ctx_80177B90 = 0x80177B90;
D_ctx_80177BB0 = 0x80177BB0;
gMissionTeamStatus = 0x80177B50;
gMissionHitCount = 0x80177B70;
gMissionPlanet = 0x80177B90;
gMissionMedal = 0x80177BB0;
gControllerRumbleTimers = 0x80177BD0;
gPlanetPathStatus = 0x80177BD8;
D_ctx_80177C30 = 0x80177C30;
+12 -12
View File
@@ -35,33 +35,33 @@ gSegments = 0x800E1FD0;
gPiMgrCmdQueue = 0x800E2010;
sPiMgrCmdBuff = 0x800E2028;
gDmaMsgQueue = 0x800E20F0;
gDmaMesgQueue = 0x800E20F0;
sDmaMsgBuff = 0x800E2108;
gDmaIOMsg = 0x800E2110;
gSerialEventQueue = 0x800E2128;
sSerialEventBuff = 0x800E2140;
gMainThreadMsgQueue = 0x800E2148;
gMainThreadMesgQueue = 0x800E2148;
sMainThreadMsgBuff = 0x800E2160;
gTaskMsgQueue = 0x800E21E0;
gTaskMesgQueue = 0x800E21E0;
sTaskMsgBuff = 0x800E21F8;
gAudioVImsgQueue = 0x800E2238;
gAudioTaskMsgQueue = 0x800E2258;
gGfxVImsgQueue = 0x800E2278;
gGfxTaskMsgQueue = 0x800E22A0;
gAudioVImesgQueue = 0x800E2238;
gAudioTaskMesgQueue = 0x800E2258;
gGfxVImesgQueue = 0x800E2278;
gGfxTaskMesgQueue = 0x800E22A0;
sAudioVImsgBuff = 0x800E2250;
sAudioTaskMsgBuff = 0x800E2270;
sGfxVImsgBuff = 0x800E2290;
sGfxTaskMsgBuff = 0x800E22B8;
gSerialThreadMsgQueue = 0x800E22C0;
gSerialThreadMesgQueue = 0x800E22C0;
sSerialThreadMsgBuff = 0x800E22D8;
gControllerMsgQueue = 0x800E22F8;
gControllerMesgQueue = 0x800E22F8;
sControllerMsgBuff = 0x800E2310;
gSaveMsgQueue = 0x800E2318;
gSaveMesgQueue = 0x800E2318;
sSaveMsgBuff = 0x800E2330;
gTimerTaskMsgQueue = 0x800E2338;
gTimerTaskMesgQueue = 0x800E2338;
sTimerTaskMsgBuff = 0x800E2350;
gTimerWaitMsgQueue = 0x800E2390;
gTimerWaitMesgQueue = 0x800E2390;
sTimerWaitMsgBuff = 0x800E23A8;
gGfxPools = 0x800E23B0; // size:0x55AA0
+203 -196
View File
File diff suppressed because it is too large Load Diff
+15 -15
View File
@@ -291,7 +291,7 @@ s32 AudioLoad_SyncLoadInstrument(s32 fontId, s32 instId, s32 drumId) {
void AudioLoad_AsyncLoadSampleBank(s32 sampleBankId, s32 nChunks, s32 retData, OSMesgQueue* retQueue) {
if (AudioLoad_AsyncLoadInner(2, AudioLoad_GetLoadTableIndex(2, sampleBankId), nChunks, retData, retQueue) == NULL) {
osSendMesg(retQueue, NULL, 0);
osSendMesg(retQueue, NULL, OS_MESG_NOBLOCK);
}
}
@@ -642,14 +642,14 @@ void AudioLoad_SyncDma(u32 devAddr, u8* ramAddr, u32 size, s32 medium) {
break;
}
AudioLoad_Dma(&gSyncDmaIoMsg, 1, 0, devAddr, ramAddr, 0x400, &gSyncDmaQueue, medium, D_800C50E8);
osRecvMesg(&gSyncDmaQueue, NULL, 1);
MQ_WAIT_FOR_MESG(&gSyncDmaQueue, NULL);
size -= 0x400;
devAddr += 0x400;
ramAddr += 0x400;
}
if (size != 0) {
AudioLoad_Dma(&gSyncDmaIoMsg, 1, 0, devAddr, ramAddr, size, &gSyncDmaQueue, medium, D_800C50F4);
osRecvMesg(&gSyncDmaQueue, NULL, 1);
MQ_WAIT_FOR_MESG(&gSyncDmaQueue, NULL);
}
}
@@ -737,7 +737,7 @@ void* AudioLoad_AsyncLoadInner(s32 tableType, s32 id, s32 nChunks, s32 retData,
ramAddr = AudioLoad_SearchCaches(tableType, id);
if (ramAddr != NULL) {
loadStatus = 2;
osSendMesg(retQueue, (void*) (retData << 0x18), 0);
osSendMesg(retQueue, (void*) (retData << 0x18), OS_MESG_NOBLOCK);
} else {
table = AudioLoad_GetLoadTable(tableType);
size = table->entries[id].size;
@@ -990,7 +990,7 @@ void AudioLoad_ProcessSlowLoads(s32 resetStatus) {
slowLoad = &gSlowLoads.slowLoad[i];
switch (slowLoad->state) {
case 2:
osRecvMesg(&slowLoad->msgQueue, NULL, 1);
MQ_WAIT_FOR_MESG(&slowLoad->mesgQueue, NULL);
if (resetStatus != 0) {
slowLoad->state = 3;
break;
@@ -1035,8 +1035,8 @@ static char devstr47[] = "Other Type: Not Write ID.\n";
void AudioLoad_DmaSlowCopy(AudioSlowLoad* slowLoad, s32 size) {
osInvalDCache(slowLoad->curRamAddr, size);
osCreateMesgQueue(&slowLoad->msgQueue, &slowLoad->msg, 1);
AudioLoad_Dma(&slowLoad->ioMesg, 0, 0, slowLoad->curDevAddr, slowLoad->curRamAddr, size, &slowLoad->msgQueue,
osCreateMesgQueue(&slowLoad->mesgQueue, &slowLoad->msg, 1);
AudioLoad_Dma(&slowLoad->ioMesg, 0, 0, slowLoad->curDevAddr, slowLoad->curRamAddr, size, &slowLoad->mesgQueue,
slowLoad->medium, D_800C52F4);
}
@@ -1081,7 +1081,7 @@ AudioAsyncLoad* AudioLoad_StartAsyncLoad(u32 devAddr, u8* ramAddr, u32 size, s32
asyncLoad->medium = medium;
asyncLoad->retMsg = retMesg;
osCreateMesgQueue(&asyncLoad->msgQueue, &asyncLoad->msg, 1);
osCreateMesgQueue(&asyncLoad->mesgQueue, &asyncLoad->msg, 1);
return asyncLoad;
}
@@ -1114,11 +1114,11 @@ void AudioLoad_ProcessAsyncLoad(AudioAsyncLoad* asyncLoad, s32 resetStatus) {
asyncLoad->delay = 0;
} else {
if (resetStatus != 0) {
osRecvMesg(&asyncLoad->msgQueue, NULL, 1);
MQ_WAIT_FOR_MESG(&asyncLoad->mesgQueue, NULL);
asyncLoad->status = 0;
return;
}
if (osRecvMesg(&asyncLoad->msgQueue, NULL, 0) == -1) {
if (!MQ_GET_MESG(&asyncLoad->mesgQueue, NULL)) {
return;
}
}
@@ -1160,7 +1160,7 @@ void AudioLoad_ProcessAsyncLoad(AudioAsyncLoad* asyncLoad, s32 resetStatus) {
break;
}
asyncLoad->status = 0;
osSendMesg(asyncLoad->retQueue, asyncLoad->retMsg, 0);
osSendMesg(asyncLoad->retQueue, asyncLoad->retMsg, OS_MESG_NOBLOCK);
} else {
if (asyncLoad->bytesRemaining < asyncLoad->chunkSize) {
if (asyncLoad->medium == MEDIUM_UNK) {
@@ -1190,9 +1190,9 @@ static char D_800C53AC[] = "BGCOPY";
void AudioLoad_AsyncDma(AudioAsyncLoad* asyncLoad, u32 size) {
size = ALIGN16(size);
osInvalDCache(asyncLoad->curRamAddr, size);
osCreateMesgQueue(&asyncLoad->msgQueue, &asyncLoad->msg, 1);
osCreateMesgQueue(&asyncLoad->mesgQueue, &asyncLoad->msg, 1);
if (size) {}
AudioLoad_Dma(&asyncLoad->ioMesg, 0, 0, asyncLoad->curDevAddr, asyncLoad->curRamAddr, size, &asyncLoad->msgQueue,
AudioLoad_Dma(&asyncLoad->ioMesg, 0, 0, asyncLoad->curDevAddr, asyncLoad->curRamAddr, size, &asyncLoad->mesgQueue,
asyncLoad->medium, D_800C53AC);
}
@@ -1353,11 +1353,11 @@ s32 AudioLoad_ProcessSamplePreloads(s32 resetStatus) {
if (gPreloadSampleStackTop > 0) {
if (resetStatus != 0) {
if (osRecvMesg(&gPreloadSampleQueue, (OSMesg) &preloadIndex, 0)) {}
if (!MQ_GET_MESG(&gPreloadSampleQueue, &preloadIndex)) {}
gPreloadSampleStackTop = 0;
return false;
}
if (osRecvMesg(&gPreloadSampleQueue, (OSMesg) &preloadIndex, 0) == -1) {
if (!MQ_GET_MESG(&gPreloadSampleQueue, &preloadIndex)) {
return false;
}
// "Receive %d\n"
+46 -46
View File
@@ -165,44 +165,44 @@ TunedSample* func_80011D10(Instrument* instrument, s32 arg1) {
return sample;
}
Instrument* Audio_GetInstrument(s32 arg0, s32 arg1) {
Instrument* temp_v1;
Instrument* Audio_GetInstrument(s32 fontId, s32 instId) {
Instrument* instrument;
if ((gFontLoadStatus[arg0] < 2) != 0) {
D_80155D88 = arg0 + 0x10000000;
if ((gFontLoadStatus[fontId] < 2) != 0) {
D_80155D88 = fontId + 0x10000000;
return NULL;
}
if (arg1 >= gSoundFontList[arg0].numInstruments) {
D_80155D88 = (arg0 << 8) + arg1 + 0x03000000;
if (instId >= gSoundFontList[fontId].numInstruments) {
D_80155D88 = (fontId << 8) + instId + 0x03000000;
return NULL;
}
temp_v1 = gSoundFontList[arg0].instruments[arg1];
if (temp_v1 == NULL) {
D_80155D88 = (arg0 << 8) + arg1 + 0x01000000;
return temp_v1;
instrument = gSoundFontList[fontId].instruments[instId];
if (instrument == NULL) {
D_80155D88 = (fontId << 8) + instId + 0x01000000;
return instrument;
}
return temp_v1;
return instrument;
}
Drum* Audio_GetDrum(s32 arg0, s32 arg1) {
Drum* temp;
Drum* Audio_GetDrum(s32 fontId, s32 drumId) {
Drum* drum;
if ((gFontLoadStatus[arg0] < 2) != 0) {
D_80155D88 = arg0 + 0x10000000;
if ((gFontLoadStatus[fontId] < 2) != 0) {
D_80155D88 = fontId + 0x10000000;
return NULL;
}
if (arg1 >= gSoundFontList[arg0].numDrums) {
D_80155D88 = (arg0 << 8) + arg1 + 0x04000000;
if (drumId >= gSoundFontList[fontId].numDrums) {
D_80155D88 = (fontId << 8) + drumId + 0x04000000;
return NULL;
}
if ((u32) gSoundFontList[arg0].drums < AUDIO_RELOCATED_ADDRESS_START) {
if ((u32) gSoundFontList[fontId].drums < AUDIO_RELOCATED_ADDRESS_START) {
return NULL;
}
temp = gSoundFontList[arg0].drums[arg1];
if (gSoundFontList[arg0].drums[arg1] == NULL) {
D_80155D88 = (arg0 << 8) + arg1 + 0x05000000;
drum = gSoundFontList[fontId].drums[drumId];
if (gSoundFontList[fontId].drums[drumId] == NULL) {
D_80155D88 = (fontId << 8) + drumId + 0x05000000;
}
return temp;
return drum;
}
void func_80011EB8(Note* note) {
@@ -428,35 +428,35 @@ void func_8001268C(SequenceLayer* layer) {
func_80012438(layer, 7);
}
s32 func_800126AC(Note* note, SequenceLayer* layer, s32 arg2) {
f32 var_fv0;
u8 var_v1 = 0;
s32 func_800126AC(Note* note, SequenceLayer* layer, s32 waveId) {
f32 freqMod;
u8 harmonicIndex = 0;
if (arg2 < 128) {
arg2 = 128;
if (waveId < 128) {
waveId = 128;
}
var_fv0 = layer->freqMod;
freqMod = layer->freqMod;
if ((layer->portamento.mode != 0) && (layer->portamento.extent > 0.0f)) {
var_fv0 *= layer->portamento.extent + 1.0f;
freqMod *= layer->portamento.extent + 1.0f;
}
if (var_fv0 < 1.0f) {
var_fv0 = 1.0465f;
} else if (var_fv0 < 2.0f) {
var_v1 = 1;
var_fv0 = 0.52325f;
} else if (var_fv0 < 4.0f) {
var_v1 = 2;
var_fv0 = 0.26263f;
if (freqMod < 1.0f) {
freqMod = 1.0465f;
} else if (freqMod < 2.0f) {
harmonicIndex = 1;
freqMod = 0.52325f;
} else if (freqMod < 4.0f) {
harmonicIndex = 2;
freqMod = 0.26263f;
} else {
var_v1 = 3;
var_fv0 = 0.13081f;
harmonicIndex = 3;
freqMod = 0.13081f;
}
layer->freqMod *= var_fv0;
note->playbackState.waveId = arg2;
note->playbackState.harmonicIndex = var_v1;
note->noteSubEu.waveSampleAddr = &gWaveSamples[arg2 - 128][var_v1 * 64];
return var_v1;
layer->freqMod *= freqMod;
note->playbackState.waveId = waveId;
note->playbackState.harmonicIndex = harmonicIndex;
note->noteSubEu.waveSampleAddr = &gWaveSamples[waveId - 128][harmonicIndex * 64];
return harmonicIndex;
}
void func_800127B0(Note* note, SequenceLayer* layer) {
@@ -601,7 +601,7 @@ void func_80012C40(Note* note) {
}
}
Note* func_80012C6C(AudioListItem* item, s32 arg1) {
Note* func_80012C6C(AudioListItem* item, s32 priority) {
AudioListItem* var_v0;
AudioListItem* var_v1;
void* temp_a0;
@@ -620,7 +620,7 @@ Note* func_80012C6C(AudioListItem* item, s32 arg1) {
return NULL;
}
if (((Note*) var_v1->u.value)->playbackState.priority >= arg1) {
if (((Note*) var_v1->u.value)->playbackState.priority >= priority) {
return NULL;
}
return (Note*) var_v1->u.value;
File diff suppressed because it is too large Load Diff
+3 -1
View File
@@ -1,7 +1,9 @@
#include "sys.h"
#include "sf64audio_provisional.h"
s32 D_80145D40;
s32 D_80145D40; // unused
// all of these are part of the DFT-related function
f32 D_80145D48[256];
f32 D_80146148[256];
f32 D_80146548[515];
+24 -26
View File
@@ -8,19 +8,19 @@ void AudioThread_SetFadeInTimer(s32 seqPlayId, s32 fadeTime);
OSMesgQueue sAudioTaskStartQueue;
OSMesgQueue sThreadCmdProcQueue;
OSMesgQueue sAudioUnkQueue;
OSMesgQueue sAudioSpecQueue;
OSMesgQueue sAudioResetQueue;
AudioCmd gThreadCmdBuffer[256];
OSMesg sAudioTaskStartMsg[1];
OSMesg sThreadCmdProcMsg[4];
OSMesg sAudioUnkMsg[1];
OSMesg sAudioSpecMsg[1];
OSMesg sAudioResetMsg[1];
u8 gThreadCmdWritePos = 0;
u8 gThreadCmdReadPos = 0;
OSMesgQueue* gAudioTaskStartQueue = &sAudioTaskStartQueue;
OSMesgQueue* gThreadCmdProcQueue = &sThreadCmdProcQueue;
OSMesgQueue* gAudioUnkQueue = &sAudioUnkQueue;
OSMesgQueue* gAudioSpecQueue = &sAudioSpecQueue;
OSMesgQueue* gAudioResetQueue = &sAudioResetQueue;
static const char devstr0[] = "DAC:Lost 1 Frame.\n";
@@ -57,7 +57,7 @@ SPTask* AudioThread_CreateTask(void) {
if ((gAudioTaskCountQ % gAudioBufferParams.count) != 0) {
return gWaitingAudioTask;
}
osSendMesg(gAudioTaskStartQueue, (OSMesg) gAudioTaskCountQ, 0);
osSendMesg(gAudioTaskStartQueue, (OSMesg) gAudioTaskCountQ, OS_MESG_NOBLOCK);
gAudioTaskIndexQ ^= 1;
gCurAiBuffIndex++;
gCurAiBuffIndex %= 3;
@@ -71,7 +71,7 @@ SPTask* AudioThread_CreateTask(void) {
gCurAudioFrameDmaCount = 0;
AudioLoad_DecreaseSampleDmaTtls();
AudioLoad_ProcessLoads(gResetStatus);
if (osRecvMesg(gAudioUnkQueue, (OSMesg) &sp38, 0) != -1) {
if (MQ_GET_MESG(gAudioSpecQueue, &sp38)) {
if (gResetStatus == 0) {
gResetStatus = 5;
}
@@ -79,7 +79,7 @@ SPTask* AudioThread_CreateTask(void) {
}
if ((gResetStatus != 0) && (AudioHeap_ResetStep() == 0)) {
if (gResetStatus == 0) {
osSendMesg(gAudioResetQueue, (OSMesg) (s32) gAudioSpecId, 0);
osSendMesg(gAudioResetQueue, (OSMesg) (s32) gAudioSpecId, OS_MESG_NOBLOCK);
}
gWaitingAudioTask = NULL;
return NULL;
@@ -102,7 +102,7 @@ SPTask* AudioThread_CreateTask(void) {
if (gAiBuffLengths[sp4C] > gAudioBufferParams.maxAiBufferLength) {
gAiBuffLengths[sp4C] = gAudioBufferParams.maxAiBufferLength;
}
while (osRecvMesg(gThreadCmdProcQueue, (OSMesg) &sp34, 0) != -1) {
while (MQ_GET_MESG(gThreadCmdProcQueue, &sp34)) {
AudioThread_ProcessCmds(sp34);
}
gCurAbiCmdBuffer = func_80009B64(gCurAbiCmdBuffer, &sp50, sp40, gAiBuffLengths[sp4C]);
@@ -111,7 +111,7 @@ SPTask* AudioThread_CreateTask(void) {
sp4C = gAudioTaskIndexQ;
gAudioCurTask->msgQueue = NULL;
gAudioCurTask->mesgQueue = NULL;
gAudioCurTask->msg = NULL;
task = &gAudioCurTask->task.t;
@@ -244,7 +244,7 @@ void AudioThread_InitQueues(void) {
gThreadCmdReadPos = 0;
osCreateMesgQueue(gAudioTaskStartQueue, sAudioTaskStartMsg, 1);
osCreateMesgQueue(gThreadCmdProcQueue, sThreadCmdProcMsg, 4);
osCreateMesgQueue(gAudioUnkQueue, sAudioUnkMsg, 1);
osCreateMesgQueue(gAudioSpecQueue, sAudioSpecMsg, 1);
osCreateMesgQueue(gAudioResetQueue, sAudioResetMsg, 1);
}
@@ -282,7 +282,7 @@ void AudioThread_ScheduleProcessCmds(void) {
D_800C7C70 = (u8) (gThreadCmdWritePos - gThreadCmdReadPos + 0x100);
}
msg = (((gThreadCmdReadPos & 0xFF) << 8) | (gThreadCmdWritePos & 0xFF));
osSendMesg(gThreadCmdProcQueue, (OSMesg) msg, 0);
osSendMesg(gThreadCmdProcQueue, (OSMesg) msg, OS_MESG_NOBLOCK);
gThreadCmdReadPos = gThreadCmdWritePos;
}
@@ -327,10 +327,10 @@ void AudioThread_ProcessCmds(u32 msg) {
player->recalculateVolume = true;
}
break;
case AUDIOCMD_OP_SEQPLAYER_SET_TEMPO: /* switch 1 */
case AUDIOCMD_OP_SEQPLAYER_SET_TEMPO:
player->tempo = cmd->asInt * 48;
break;
case AUDIOCMD_OP_SEQPLAYER_SET_TRANSPOSITION: /* switch 1 */
case AUDIOCMD_OP_SEQPLAYER_SET_TRANSPOSITION:
player->transposition = cmd->asSbyte;
break;
case 0x46: // AUDIOCMD_OP_SEQPLAYER_SET_IO?
@@ -387,45 +387,43 @@ void AudioThread_ProcessCmds(u32 msg) {
}
u32 AudioThread_GetAsyncLoadStatus(u32* outData) {
u32 sp1C;
u32 loadStatus;
if (osRecvMesg(&gExternalLoadQueue, (OSMesg*) &sp1C, 0) == -1) {
if (!MQ_GET_MESG(&gExternalLoadQueue, &loadStatus)) {
*outData = 0;
return 0;
}
*outData = sp1C & 0xFFFFFF;
return sp1C >> 0x18;
*outData = loadStatus & 0xFFFFFF;
return loadStatus >> 0x18;
}
u8* AudioThread_GetFontsForSequence(s32 seqId, u32* outNumFonts) {
return AudioLoad_GetFontsForSequence(seqId, outNumFonts);
}
s32 func_8001ED34(void) {
bool AudioThread_ResetComplete(void) {
s32 pad;
s32 sp18;
if (osRecvMesg(gAudioResetQueue, (OSMesg*) &sp18, 0) == -1) {
return 0;
if (!MQ_GET_MESG(gAudioResetQueue, &sp18)) {
return false;
}
if (sp18 != gAudioSpecId) {
return 0;
return false;
}
return 1;
return true;
}
void AudioThread_ResetAudioHeap(s32 specId) {
// clang-format off
s32 m1 = -1;OSMesg sp28;do {} while (osRecvMesg(gAudioResetQueue, &sp28, 0) != m1);
// clang-format on
MQ_CLEAR_QUEUE(gAudioResetQueue);
AudioThread_ResetCmdQueue();
osSendMesg(gAudioUnkQueue, (OSMesg) specId, 0);
osSendMesg(gAudioSpecQueue, (OSMesg) specId, OS_MESG_NOBLOCK);
}
void AudioThread_PreNMIReset(void) {
gResetTimer = 1;
AudioThread_ResetAudioHeap(0);
AudioThread_ResetAudioHeap(AUDIOSPEC_0);
gResetStatus = 0;
}
+138 -145
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -31,7 +31,7 @@ void func_800A3E00(void) {
break;
case 2:
if ((gControllerPress[0].button & START_BUTTON) || (gControllerPress[1].button & START_BUTTON)) {
func_8001D638(0);
Audio_PlayPauseSfx(0);
D_ctx_80177868 = 3;
gDrawMode = DRAW_NONE;
Play_Setup();

Some files were not shown because too many files have changed in this diff Show More