Some further docs for audio spec and planet paths (#219)

* avoid ub

* format

* torch

* more stuff
This commit is contained in:
petrie911 2024-04-20 17:07:29 -05:00 committed by GitHub
parent e3716b5d48
commit 95e5f4f07a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 243 additions and 146 deletions

View File

@ -52,7 +52,7 @@ extern s32 D_ctx_80177B50[7];
extern s32 D_ctx_80177B70[7]; extern s32 D_ctx_80177B70[7];
extern PlanetId D_ctx_80177B90[7]; extern PlanetId D_ctx_80177B90[7];
extern s32 D_ctx_80177BB0[7]; extern s32 D_ctx_80177BB0[7];
extern s32 D_ctx_80177BD8[22]; // overruns D_ctx_80177C30? extern s32 gPlanetPathStatus[22]; // overruns D_ctx_80177C30?
extern s32 gPrevPlanetTeamShields[6]; extern s32 gPrevPlanetTeamShields[6];
extern s32 D_ctx_80177C58[6]; extern s32 D_ctx_80177C58[6];
extern u8 gSoundMode; extern u8 gSoundMode;

View File

@ -6,6 +6,47 @@
#define AUDIO_PLAY_SFX(sfxId, srcPos, token) (Audio_PlaySfx((sfxId),(srcPos),(token),&gDefaultMod,&gDefaultMod,&gDefaultReverb)) #define AUDIO_PLAY_SFX(sfxId, srcPos, token) (Audio_PlaySfx((sfxId),(srcPos),(token),&gDefaultMod,&gDefaultMod,&gDefaultReverb))
#define AUDIO_PLAY_BGM(seqId) Audio_PlaySequence(SEQ_PLAYER_BGM, (seqId), 0, -1) #define AUDIO_PLAY_BGM(seqId) Audio_PlaySequence(SEQ_PLAYER_BGM, (seqId), 0, -1)
#define AUDIO_SET_SPEC(sfxLayout, spec) Audio_SetAudioSpec(0, ((sfxLayout) << 8) | (spec))
#define AUDIO_SET_SPEC_ALT(sfxLayout, spec) Audio_SetAudioSpec((sfxLayout), ((sfxLayout) << 8) | (spec))
typedef enum {
/* 0 */ SFXCHAN_0,
/* 1 */ SFXCHAN_1,
/* 2 */ SFXCHAN_2,
/* 3 */ SFXCHAN_3
} SfxChannelLayout;
typedef enum {
/* 0 */ AUDIOSPEC_0,
/* 1 */ AUDIOSPEC_1,
/* 2 */ AUDIOSPEC_2,
/* 3 */ AUDIOSPEC_3,
/* 4 */ AUDIOSPEC_4,
/* 5 */ AUDIOSPEC_5,
/* 6 */ AUDIOSPEC_6,
/* 7 */ AUDIOSPEC_7,
/* 8 */ AUDIOSPEC_8,
/* 9 */ AUDIOSPEC_9,
/* 10 */ AUDIOSPEC_10,
/* 11 */ AUDIOSPEC_11,
/* 12 */ AUDIOSPEC_12,
/* 13 */ AUDIOSPEC_13,
/* 14 */ AUDIOSPEC_14,
/* 15 */ AUDIOSPEC_15,
/* 16 */ AUDIOSPEC_16,
/* 17 */ AUDIOSPEC_17,
/* 18 */ AUDIOSPEC_18,
/* 19 */ AUDIOSPEC_19,
/* 20 */ AUDIOSPEC_20,
/* 21 */ AUDIOSPEC_21,
/* 22 */ AUDIOSPEC_22,
/* 23 */ AUDIOSPEC_23,
/* 24 */ AUDIOSPEC_24,
/* 25 */ AUDIOSPEC_25,
/* 26 */ AUDIOSPEC_26,
/* 27 */ AUDIOSPEC_27,
/* 28 */ AUDIOSPEC_28,
} AudioSpecID;
typedef enum { typedef enum {
/* 0 */ SOUNDMODE_STEREO, /* 0 */ SOUNDMODE_STEREO,

View File

@ -593,7 +593,7 @@ typedef struct {
*/ */
typedef struct { typedef struct {
/* 0x00 */ u32 samplingFrequency; // Target sampling rate in Hz /* 0x00 */ u32 samplingFrequency; // Target sampling rate in Hz
/* 0x04 */ u8 unk_04; /* 0x04 */ u8 numBuffers;
/* 0x05 */ u8 numNotes; /* 0x05 */ u8 numNotes;
/* 0x06 */ u8 numReverbs; /* 0x06 */ u8 numReverbs;
/* 0x08 */ ReverbSettings* reverbSettings; /* 0x08 */ ReverbSettings* reverbSettings;
@ -617,7 +617,7 @@ typedef struct {
* processing audio commands. This struct parameterizes that buffer. * processing audio commands. This struct parameterizes that buffer.
*/ */
typedef struct { typedef struct {
/* 0x00 */ s16 specUnk4; /* 0x00 */ s16 count;
/* 0x02 */ u16 samplingFrequency; // Target sampling rate in Hz /* 0x02 */ u16 samplingFrequency; // Target sampling rate in Hz
/* 0x04 */ u16 aiSamplingFrequency; // True sampling rate of the audio interface (AI), see `osAiSetFrequency` /* 0x04 */ u16 aiSamplingFrequency; // True sampling rate of the audio interface (AI), see `osAiSetFrequency`
/* 0x06 */ s16 samplesPerFrameTarget; /* 0x06 */ s16 samplesPerFrameTarget;

View File

@ -517,7 +517,7 @@ D_ctx_80177B70 = 0x80177B70;
D_ctx_80177B90 = 0x80177B90; D_ctx_80177B90 = 0x80177B90;
D_ctx_80177BB0 = 0x80177BB0; D_ctx_80177BB0 = 0x80177BB0;
gControllerRumbleTimers = 0x80177BD0; gControllerRumbleTimers = 0x80177BD0;
D_ctx_80177BD8 = 0x80177BD8; gPlanetPathStatus = 0x80177BD8;
D_ctx_80177C30 = 0x80177C30; D_ctx_80177C30 = 0x80177C30;
D_ctx_80177C50 = 0x80177C50; D_ctx_80177C50 = 0x80177C50;
D_ctx_80177C58 = 0x80177C58; D_ctx_80177C58 = 0x80177C58;

View File

@ -144,35 +144,92 @@ static ReverbSettings D_800C76A8[] = {
{ 1, 0x30, 0x4FFF, 0, 0 }, { 1, 0x30, 0x4FFF, 0, 0 },
}; };
AudioSpec gAudioSpecs[] = { AudioSpec gAudioSpecs[] = {
{ 0x7D00, 2, 0x16, 2, D_800C74D0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, /* 0 */ { 32000, 2, 22, ARRAY_COUNT(D_800C74D0), D_800C74D0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
{ 0x7D00, 2, 0x16, 2, D_800C74E0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, 0x35000 },
{ 0x7D00, 2, 0x16, 2, D_800C74F0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, /* 1 */
{ 0x7D00, 2, 0x16, 2, D_800C7500, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, { 32000, 2, 22, ARRAY_COUNT(D_800C74E0), D_800C74E0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
{ 0x7D00, 2, 0x16, 2, D_800C7510, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, 0x35000 },
{ 0x7D00, 2, 0x16, 2, D_800C7520, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, /* 2 */
{ 0x7D00, 2, 0x16, 2, D_800C7530, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, { 32000, 2, 22, ARRAY_COUNT(D_800C74F0), D_800C74F0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
{ 0x7D00, 2, 0x16, 2, D_800C7540, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, 0x35000 },
{ 0x7D00, 2, 0x16, 2, D_800C7550, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, /* 3 */
{ 0x7D00, 2, 0x16, 2, D_800C7560, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, { 32000, 2, 22, ARRAY_COUNT(D_800C7500), D_800C7500, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
{ 0x7D00, 2, 0x16, 2, D_800C7570, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, 0x35000 },
{ 0x7D00, 2, 0x16, 2, D_800C7580, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, /* 4 */
{ 0x7D00, 1, 0x16, 2, D_800C7590, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x2B000, 0x35000 }, { 32000, 2, 22, ARRAY_COUNT(D_800C7510), D_800C7510, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
{ 0x7D00, 2, 0x16, 2, D_800C75A0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, 0x35000 },
{ 0x7D00, 2, 0x16, 2, D_800C75B0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, /* 5 */
{ 0x7D00, 2, 0x16, 3, D_800C75C0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x34000 }, { 32000, 2, 22, ARRAY_COUNT(D_800C7520), D_800C7520, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
{ 0x7D00, 2, 0x16, 2, D_800C75D8, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, 0x35000 },
{ 0x7D00, 2, 0x16, 2, D_800C75E8, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, /* 6 */
{ 0x7D00, 2, 0x16, 2, D_800C75F8, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, { 32000, 2, 22, ARRAY_COUNT(D_800C7530), D_800C7530, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
{ 0x7D00, 2, 0x16, 2, D_800C7608, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, 0x35000 },
{ 0x7D00, 2, 0x16, 2, D_800C7618, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, /* 7 */
{ 0x7D00, 2, 0x20, 2, D_800C7628, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0 }, { 32000, 2, 22, ARRAY_COUNT(D_800C7540), D_800C7540, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
{ 0x7D00, 1, 0x20, 2, D_800C7638, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0 }, 0x35000 },
{ 0x7D00, 1, 0x20, 2, D_800C7648, 0x7FFF, 0x1200, 0xA000, 0, 0x5B00, 0x1D00, 0, 0, 0 }, /* 8 */
{ 0x7D00, 1, 0x16, 2, D_800C7658, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0, 0x60000 }, { 32000, 2, 22, ARRAY_COUNT(D_800C7550), D_800C7550, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
{ 0x7D00, 2, 0x16, 2, D_800C7668, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0 }, 0x35000 },
{ 0x7D00, 2, 0x16, 2, D_800C7678, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0 }, /* 9 */
{ 0x7D00, 2, 0x20, 2, D_800C7688, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0 }, { 32000, 2, 22, ARRAY_COUNT(D_800C7560), D_800C7560, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
{ 0x7D00, 2, 0x16, 2, D_800C74D0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000, 0x35000 }, 0x35000 },
/* 10 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C7570), D_800C7570, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x35000 },
/* 11 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C7580), D_800C7580, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x35000 },
/* 12 */
{ 32000, 1, 22, ARRAY_COUNT(D_800C7590), D_800C7590, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x2B000,
0x35000 },
/* 13 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C75A0), D_800C75A0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x35000 },
/* 14 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C75B0), D_800C75B0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x35000 },
/* 15 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C75C0), D_800C75C0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x34000 },
/* 16 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C75D8), D_800C75D8, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x35000 },
/* 17 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C75E8), D_800C75E8, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x35000 },
/* 18 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C75F8), D_800C75F8, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x35000 },
/* 19 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C7608), D_800C7608, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x35000 },
/* 20 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C7618), D_800C7618, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x35000 },
/* 21 */
{ 32000, 2, 32, ARRAY_COUNT(D_800C7628), D_800C7628, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x00000 },
/* 22 */
{ 32000, 1, 32, ARRAY_COUNT(D_800C7638), D_800C7638, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x00000 },
/* 23 */
{ 32000, 1, 32, ARRAY_COUNT(D_800C7648), D_800C7648, 0x7FFF, 0x1200, 0xA000, 0, 0x5B00, 0x1D00, 0, 0x00000,
0x00000 },
/* 24 */
{ 32000, 1, 22, ARRAY_COUNT(D_800C7658), D_800C7658, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x00000,
0x60000 },
/* 25 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C7668), D_800C7668, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x00000 },
/* 26 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C7678), D_800C7678, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x00000 },
/* 27 */
{ 32000, 2, 32, ARRAY_COUNT(D_800C7688), D_800C7688, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x00000 },
/* 28 */
{ 32000, 2, 22, ARRAY_COUNT(D_800C74D0), D_800C74D0, 0x7FFF, 0x1200, 0x1100, 0, 0x5000, 0x2400, 0, 0x1B000,
0x35000 },
}; };
s32 D_800C7C28 = 0x20000000; // unused? s32 D_800C7C28 = 0x20000000; // unused?
s16 gSeqTicksPerBeat = 0x30; s16 gSeqTicksPerBeat = 0x30;

View File

@ -215,8 +215,7 @@ f32 func_80013B90(AdsrState* adsr) {
break; break;
default: default:
if (adsr->delay >= 4) { if (adsr->delay >= 4) {
adsr->delay = adsr->delay = (adsr->delay * gAudioBufferParams.ticksPerUpdate / gAudioBufferParams.count) / 4;
(adsr->delay * gAudioBufferParams.ticksPerUpdate / gAudioBufferParams.specUnk4) / 4;
} }
if (adsr->delay == 0) { if (adsr->delay == 0) {
adsr->delay = 1; adsr->delay = 1;

View File

@ -82,7 +82,7 @@ u8 sSeqCmdWritePos = 0;
u8 sSeqCmdReadPos = 0; u8 sSeqCmdReadPos = 0;
u8 sStartSeqDisabled = 0; u8 sStartSeqDisabled = 0;
u8 sSoundModeList[4] = { SOUNDMODE_STEREO, SOUNDMODE_HEADSET, SOUNDMODE_SURROUND, SOUNDMODE_MONO }; u8 sSoundModeList[4] = { SOUNDMODE_STEREO, SOUNDMODE_HEADSET, SOUNDMODE_SURROUND, SOUNDMODE_MONO };
u8 sNewAudioSpecId = 0; u8 sNewAudioSpecId = AUDIOSPEC_0;
u8 D_800C5D58 = 0; u8 D_800C5D58 = 0;
s32 D_800C5D5C = 0; // unused. file split? s32 D_800C5D5C = 0; // unused. file split?
s8 sBaseReverb = 0; s8 sBaseReverb = 0;
@ -751,7 +751,7 @@ void func_80017494(void) {
} }
void func_80017550(void) { void func_80017550(void) {
if (sNewAudioSpecId == 12) { if (sNewAudioSpecId == AUDIOSPEC_12) {
AUDIOCMD_GLOBAL_SYNC_LOAD_SEQ_PARTS(14, 0); AUDIOCMD_GLOBAL_SYNC_LOAD_SEQ_PARTS(14, 0);
} }
} }
@ -2684,7 +2684,7 @@ void Audio_PlayFanfare(u16 seqId, u8 bgmVolume, u8 bgmFadeoutTime, u8 bgmFadeinT
void func_8001D520(void) { void func_8001D520(void) {
u8 i; u8 i;
if (sNewAudioSpecId == 24) { if (sNewAudioSpecId == AUDIOSPEC_24) {
Audio_ClearVoice(); Audio_ClearVoice();
func_8001D6DC(0); func_8001D6DC(0);
AUDIO_PLAY_SFX(0x0903F004, gDefaultSfxSource, 4); AUDIO_PLAY_SFX(0x0903F004, gDefaultSfxSource, 4);
@ -2840,9 +2840,9 @@ void func_8001DD40(void) {
u16 sp1E = 1; u16 sp1E = 1;
Audio_StartSequence(SEQ_PLAYER_VOICE, SEQ_ID_VOICE, 0xFF, 1); Audio_StartSequence(SEQ_PLAYER_VOICE, SEQ_ID_VOICE, 0xFF, 1);
if (sNewAudioSpecId == 12) { if (sNewAudioSpecId == AUDIOSPEC_12) {
sp1E = 360; sp1E = 360;
} else if (sNewAudioSpecId < 23) { } else if (sNewAudioSpecId < AUDIOSPEC_23) {
sp1E = 90; sp1E = 90;
} }
Audio_StartSequence(SEQ_PLAYER_SFX, SEQ_ID_SFX, 0xFF, sp1E); Audio_StartSequence(SEQ_PLAYER_SFX, SEQ_ID_SFX, 0xFF, sp1E);
@ -2860,11 +2860,11 @@ void func_8001DD40(void) {
} }
void func_8001DE1C(u8 oldSpecId) { void func_8001DE1C(u8 oldSpecId) {
if (oldSpecId == 16) { if (oldSpecId == AUDIOSPEC_16) {
if ((sNewAudioSpecId == 22) || (sNewAudioSpecId == 23)) { if ((sNewAudioSpecId == AUDIOSPEC_22) || (sNewAudioSpecId == AUDIOSPEC_23)) {
D_800C5D58 = 2; D_800C5D58 = 2;
} }
} else if ((oldSpecId == 28) && (sNewAudioSpecId == 23)) { } else if ((oldSpecId == AUDIOSPEC_28) && (sNewAudioSpecId == AUDIOSPEC_23)) {
D_800C5D58 = 2; D_800C5D58 = 2;
} else { } else {
D_800C5D58 = 1; D_800C5D58 = 1;

View File

@ -535,7 +535,7 @@ void AudioHeap_UpdateReverbs(void) {
s32 count; s32 count;
s32 reverbIndex; s32 reverbIndex;
if (gAudioBufferParams.specUnk4 == 2) { if (gAudioBufferParams.count == 2) {
count = 2; count = 2;
} else { } else {
count = 1; count = 1;
@ -563,7 +563,7 @@ s32 AudioHeap_ResetStep(void) {
s32 j; s32 j;
s32 sp24; s32 sp24;
if (gAudioBufferParams.specUnk4 == 2) { if (gAudioBufferParams.count == 2) {
sp24 = 2; sp24 = 2;
} else { } else {
sp24 = 1; sp24 = 1;
@ -665,12 +665,12 @@ void AudioHeap_Init(void) {
gNumNotes = spec->numNotes; gNumNotes = spec->numNotes;
D_8014C1B0 = spec->unk_14; D_8014C1B0 = spec->unk_14;
gMaxTempo = (u16) ((gAudioBufferParams.ticksPerUpdate * 2880000.0f / gSeqTicksPerBeat) / gMaxTempoTvTypeFactors); gMaxTempo = (u16) ((gAudioBufferParams.ticksPerUpdate * 2880000.0f / gSeqTicksPerBeat) / gMaxTempoTvTypeFactors);
gAudioBufferParams.specUnk4 = spec->unk_04; gAudioBufferParams.count = spec->numBuffers;
gAudioBufferParams.samplesPerFrameTarget *= gAudioBufferParams.specUnk4; gAudioBufferParams.samplesPerFrameTarget *= gAudioBufferParams.count;
gAudioBufferParams.maxAiBufferLength *= gAudioBufferParams.specUnk4; gAudioBufferParams.maxAiBufferLength *= gAudioBufferParams.count;
gAudioBufferParams.minAiBufferLength *= gAudioBufferParams.specUnk4; gAudioBufferParams.minAiBufferLength *= gAudioBufferParams.count;
gAudioBufferParams.ticksPerUpdate *= gAudioBufferParams.specUnk4; gAudioBufferParams.ticksPerUpdate *= gAudioBufferParams.count;
if (gAudioBufferParams.specUnk4 >= 2) { if (gAudioBufferParams.count >= 2) {
gAudioBufferParams.maxAiBufferLength -= 0x10; gAudioBufferParams.maxAiBufferLength -= 0x10;
} }
gMaxAudioCmds = (gNumNotes * 0x14 * gAudioBufferParams.ticksPerUpdate) + (spec->numReverbs * 0x20) + 0x1E0; gMaxAudioCmds = (gNumNotes * 0x14 * gAudioBufferParams.ticksPerUpdate) + (spec->numReverbs * 0x20) + 0x1E0;

View File

@ -157,7 +157,7 @@ void AudioLoad_InitSampleDmaBuffers(s32 numNotes) {
u8* dma; u8* dma;
gSampleDmaBuffSize = 0x2D0; gSampleDmaBuffSize = 0x2D0;
for (i = 0; i < (3 * gNumNotes * gAudioBufferParams.specUnk4); i++) { for (i = 0; i < (3 * gNumNotes * gAudioBufferParams.count); i++) {
dma = AudioHeap_Alloc(&gMiscPool, gSampleDmaBuffSize); dma = AudioHeap_Alloc(&gMiscPool, gSampleDmaBuffSize);
gSampleDmas[gSampleDmaCount].ramAddr = dma; gSampleDmas[gSampleDmaCount].ramAddr = dma;
if (dma == NULL) { if (dma == NULL) {
@ -876,7 +876,7 @@ void AudioLoad_Init(void) {
gAiBuffers[i][j] = 0; gAiBuffers[i][j] = 0;
} }
} }
gAudioSpecId = 0; gAudioSpecId = AUDIOSPEC_0;
gResetStatus = 1; gResetStatus = 1;
AudioHeap_ResetStep(); AudioHeap_ResetStep();
gSequenceTable = &gSeqTableInit; gSequenceTable = &gSeqTableInit;

View File

@ -54,7 +54,7 @@ SPTask* AudioThread_CreateTask(void) {
s32 pad30; s32 pad30;
gAudioTaskCountQ++; gAudioTaskCountQ++;
if ((gAudioTaskCountQ % gAudioBufferParams.specUnk4) != 0) { if ((gAudioTaskCountQ % gAudioBufferParams.count) != 0) {
return gWaitingAudioTask; return gWaitingAudioTask;
} }
osSendMesg(gAudioTaskStartQueue, (OSMesg) gAudioTaskCountQ, 0); osSendMesg(gAudioTaskStartQueue, (OSMesg) gAudioTaskCountQ, 0);
@ -142,7 +142,7 @@ SPTask* AudioThread_CreateTask(void) {
gMaxAbiCmdCnt = sp50; gMaxAbiCmdCnt = sp50;
} }
if (gAudioBufferParams.specUnk4 == 1) { if (gAudioBufferParams.count == 1) {
return gAudioCurTask; return gAudioCurTask;
} else { } else {
gWaitingAudioTask = gAudioCurTask; gWaitingAudioTask = gAudioCurTask;

View File

@ -51,9 +51,9 @@ s32 D_ctx_80177B70[7];
PlanetId D_ctx_80177B90[7]; PlanetId D_ctx_80177B90[7];
s32 D_ctx_80177BB0[7]; s32 D_ctx_80177BB0[7];
#ifdef AVOID_UB #ifdef AVOID_UB
s32 D_ctx_80177BD8[24]; s32 gPlanetPathStatus[24];
#else #else
s32 D_ctx_80177BD8[22]; // overruns gPrevPlanetTeamShields? s32 gPlanetPathStatus[22]; // overruns gPrevPlanetTeamShields?
#endif #endif
s32 gPrevPlanetTeamShields[6]; s32 gPrevPlanetTeamShields[6];
s32 D_ctx_80177C58[6]; s32 D_ctx_80177C58[6];

View File

@ -100,7 +100,7 @@ u8 Overlay_Load(u8 ovlSetup, u8 ovlStage) {
case OVL_SETUP_TITLE: case OVL_SETUP_TITLE:
changeOvl = Overlay_Init(&sOvlmenu_Title[ovlStage]); changeOvl = Overlay_Init(&sOvlmenu_Title[ovlStage]);
if (changeOvl == true) { if (changeOvl == true) {
Audio_SetAudioSpec(0, 0x16); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_22);
} }
break; break;
case OVL_SETUP_MENU: case OVL_SETUP_MENU:
@ -175,13 +175,13 @@ u8 Overlay_Load(u8 ovlSetup, u8 ovlStage) {
case OVL_SETUP_VERSUS: case OVL_SETUP_VERSUS:
changeOvl = Overlay_Init(&sOvli2_Versus[ovlStage]); changeOvl = Overlay_Init(&sOvli2_Versus[ovlStage]);
if (changeOvl == true) { if (changeOvl == true) {
Audio_SetAudioSpec(3, 0x310); AUDIO_SET_SPEC_ALT(SFXCHAN_3, AUDIOSPEC_16);
} }
break; break;
case OVL_SETUP_LOGO: case OVL_SETUP_LOGO:
changeOvl = Overlay_Init(&sNoOvl_Logo[ovlStage]); // Logo does not load an overlay file changeOvl = Overlay_Init(&sNoOvl_Logo[ovlStage]); // Logo does not load an overlay file
if (changeOvl == true) { if (changeOvl == true) {
Audio_SetAudioSpec(0, 0xE); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_14);
} }
break; break;
case OVL_SETUP_CREDITS: case OVL_SETUP_CREDITS:

View File

@ -2371,17 +2371,17 @@ void func_play_800AB334(void) {
switch (gCurrentLevel) { switch (gCurrentLevel) {
case LEVEL_TRAINING: case LEVEL_TRAINING:
Audio_SetAudioSpec(0, 28); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_28);
D_ctx_8017796C = -1; D_ctx_8017796C = -1;
break; break;
case LEVEL_VENOM_1: case LEVEL_VENOM_1:
Audio_SetAudioSpec(0, 6); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_6);
break; break;
case LEVEL_VENOM_2: case LEVEL_VENOM_2:
Audio_SetAudioSpec(0, 6); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_6);
break; break;
case LEVEL_VENOM_ANDROSS: case LEVEL_VENOM_ANDROSS:
Audio_SetAudioSpec(0, 15); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_15);
Audio_SetBaseSfxReverb(0); Audio_SetBaseSfxReverb(0);
D_ctx_8017796C = -1; D_ctx_8017796C = -1;
break; break;

View File

@ -3947,7 +3947,7 @@ void Andross_80193C4C(Player* player) {
gNextGameState = GSTATE_ENDING; gNextGameState = GSTATE_ENDING;
D_ending_80196D00 = 0; D_ending_80196D00 = 0;
D_play_800D3180[LEVEL_VENOM_ANDROSS] = Play_CheckMedalStatus(200) + 1; D_play_800D3180[LEVEL_VENOM_ANDROSS] = Play_CheckMedalStatus(200) + 1;
Audio_SetAudioSpec(0, 0x1B); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_27);
} }
} }
break; break;

View File

@ -1154,7 +1154,7 @@ void Map_801A5E80(void);
void Map_801A6368(void); void Map_801A6368(void);
void Map_801A61B4(LevelId level); void Map_801A61B4(LevelId level);
bool Map_801A62FC(PlanetId planet); bool Map_801A62FC(PlanetId planet);
s32 Map_801A655C(PlanetId start, PlanetId end); s32 Map_GetPathId(PlanetId start, PlanetId end);
void Map_801A6628(void); void Map_801A6628(void);
void Map_801A6694(void); void Map_801A6694(void);
void Map_801A68E4(void); void Map_801A68E4(void);
@ -1266,7 +1266,7 @@ void Map_8019E99C(void) {
s32 i; s32 i;
s32 j; s32 j;
Audio_SetAudioSpec(0, 0x118); AUDIO_SET_SPEC(SFXCHAN_1, AUDIOSPEC_24);
gVIsPerFrame = 2; gVIsPerFrame = 2;
gGameFrameCount = 0; gGameFrameCount = 0;
@ -1534,12 +1534,12 @@ void Map_8019F42C(void) {
if (gCurrentPlanet != 0) { if (gCurrentPlanet != 0) {
for (i = 0; i < gCurrentPlanet; i++) { for (i = 0; i < gCurrentPlanet; i++) {
D_menu_801CD8E0[i] = Map_801A655C(D_ctx_80177B90[i], D_ctx_80177B90[i + 1]); D_menu_801CD8E0[i] = Map_GetPathId(D_ctx_80177B90[i], D_ctx_80177B90[i + 1]);
} }
} }
for (i = 0; i < 24; i++) { for (i = 0; i < 24; i++) {
D_ctx_80177BD8[i] = 0; gPlanetPathStatus[i] = 0;
} }
for (i = 0; i < 15; i++) { for (i = 0; i < 15; i++) {
@ -1550,7 +1550,7 @@ void Map_8019F42C(void) {
D_menu_801CD9AC = 0; D_menu_801CD9AC = 0;
Audio_SetAudioSpec(0, 0x19); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_25);
D_menu_801CD948 = 0; D_menu_801CD948 = 0;
D_menu_801CD94C = 0; D_menu_801CD94C = 0;
@ -1586,7 +1586,7 @@ void Map_8019F600(void) {
D_menu_801CD970 = 0; D_menu_801CD970 = 0;
for (i = 0; i < 24; i++) { for (i = 0; i < 24; i++) {
D_ctx_80177BD8[i] = 0; gPlanetPathStatus[i] = 0;
gTexturedLines[i].unk_24 = 0.0f; gTexturedLines[i].unk_24 = 0.0f;
} }
@ -1616,10 +1616,10 @@ void Map_8019F600(void) {
D_menu_801CD9B4 = 0.01f; D_menu_801CD9B4 = 0.01f;
D_menu_801CD944 = 0; D_menu_801CD944 = 0;
sp18 = Map_801A655C(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest1); sp18 = Map_GetPathId(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest1);
temp_t4 = Map_801A655C(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest2); temp_t4 = Map_GetPathId(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest2);
D_ctx_80177BD8[sp18] = 1; gPlanetPathStatus[sp18] = 1;
D_ctx_80177BD8[temp_t4] = 1; gPlanetPathStatus[temp_t4] = 1;
} }
void Map_8019F83C(void) { void Map_8019F83C(void) {
@ -1628,12 +1628,12 @@ void Map_8019F83C(void) {
D_menu_801CD970 = 0; D_menu_801CD970 = 0;
for (i = 0; i < 24; i++) { for (i = 0; i < 24; i++) {
if ((D_ctx_80177BD8[i] == 4) || (D_ctx_80177BD8[i] == 5) || (D_ctx_80177BD8[i] == 1) || if ((gPlanetPathStatus[i] == 4) || (gPlanetPathStatus[i] == 5) || (gPlanetPathStatus[i] == 1) ||
(D_ctx_80177BD8[i] == 11)) { (gPlanetPathStatus[i] == 11)) {
D_ctx_80177BD8[i] = 0; gPlanetPathStatus[i] = 0;
} }
if (D_ctx_80177BD8[i] == 6) { if (gPlanetPathStatus[i] == 6) {
sPaths[i].unk_14 = 5; sPaths[i].unk_14 = 5;
} }
@ -1889,7 +1889,7 @@ void Map_801A01A8(void) {
if (D_menu_801CD974 && D_menu_801CD944 != 0) { if (D_menu_801CD974 && D_menu_801CD944 != 0) {
for (i = 0; i < 24; i++) { for (i = 0; i < 24; i++) {
if (D_ctx_80177BD8[i] == 0) { if (gPlanetPathStatus[i] == 0) {
continue; continue;
} }
if (sPaths[i].alpha == 0) { if (sPaths[i].alpha == 0) {
@ -2698,7 +2698,7 @@ void Map_801A2674(void) {
} }
for (i = 0; i < 24; i++) { for (i = 0; i < 24; i++) {
if (D_ctx_80177BD8[i] == 0) { if (gPlanetPathStatus[i] == 0) {
continue; continue;
} }
@ -2778,13 +2778,13 @@ void Map_801A281C(void) {
D_menu_801CEEE8[7].y = D_menu_801CEEE8[6].y; D_menu_801CEEE8[7].y = D_menu_801CEEE8[6].y;
D_menu_801CEEE8[7].z = D_menu_801CEEE8[6].z; D_menu_801CEEE8[7].z = D_menu_801CEEE8[6].z;
D_menu_801CEECC = Map_801A655C(sCurrentPlanetId, sNextPlanetId); D_menu_801CEECC = Map_GetPathId(sCurrentPlanetId, sNextPlanetId);
if (D_menu_801CD93C == 2) { if (D_menu_801CD93C == 2) {
D_ctx_80177BD8[D_menu_801CEECC] = 5; gPlanetPathStatus[D_menu_801CEECC] = 5;
sPaths[D_menu_801CEECC].unk_14 = 5; sPaths[D_menu_801CEECC].unk_14 = 5;
} else { } else {
D_ctx_80177BD8[D_menu_801CEECC] = 2; gPlanetPathStatus[D_menu_801CEECC] = 2;
sPaths[D_menu_801CEECC].unk_14 = 1; sPaths[D_menu_801CEECC].unk_14 = 1;
} }
} }
@ -2945,7 +2945,7 @@ void Map_801A2EB8(void) {
} }
for (i = 0; i < 24; i++) { for (i = 0; i < 24; i++) {
if (D_ctx_80177BD8[i] == 0) { if (gPlanetPathStatus[i] == 0) {
continue; continue;
} }
sPaths[i].alpha += 16; sPaths[i].alpha += 16;
@ -2995,16 +2995,16 @@ void Map_801A2EB8(void) {
D_menu_801CEED4 = -1; D_menu_801CEED4 = -1;
if (sPlanets[sNextPlanetId].dest1 != PLANET_NONE) { if (sPlanets[sNextPlanetId].dest1 != PLANET_NONE) {
temp1 = Map_801A655C(sNextPlanetId, sPlanets[sNextPlanetId].dest1); temp1 = Map_GetPathId(sNextPlanetId, sPlanets[sNextPlanetId].dest1);
D_ctx_80177BD8[temp1] = 1; gPlanetPathStatus[temp1] = 1;
sPaths[temp1].alpha = 255; sPaths[temp1].alpha = 255;
D_menu_801CEED4 = temp1; D_menu_801CEED4 = temp1;
} }
D_menu_801CEED0 = -1; D_menu_801CEED0 = -1;
if (sPlanets[sNextPlanetId].dest2 != PLANET_NONE) { if (sPlanets[sNextPlanetId].dest2 != PLANET_NONE) {
temp2 = Map_801A655C(sNextPlanetId, sPlanets[sNextPlanetId].dest2); temp2 = Map_GetPathId(sNextPlanetId, sPlanets[sNextPlanetId].dest2);
D_ctx_80177BD8[temp2] = 1; gPlanetPathStatus[temp2] = 1;
sPaths[temp2].alpha = 255; sPaths[temp2].alpha = 255;
D_menu_801CEED0 = temp2; D_menu_801CEED0 = temp2;
} }
@ -3352,10 +3352,10 @@ void Map_801A4394(void) {
if ((sPaths[D_menu_801CD8E0[D_menu_801CD9AC]].type == 3) || if ((sPaths[D_menu_801CD8E0[D_menu_801CD9AC]].type == 3) ||
(sPaths[D_menu_801CD8E0[D_menu_801CD9AC]].type == 4)) { (sPaths[D_menu_801CD8E0[D_menu_801CD9AC]].type == 4)) {
D_ctx_80177BD8[D_menu_801CD8E0[D_menu_801CD9AC]] = 5; gPlanetPathStatus[D_menu_801CD8E0[D_menu_801CD9AC]] = 5;
sPaths[D_menu_801CD8E0[D_menu_801CD9AC]].unk_14 = 5; sPaths[D_menu_801CD8E0[D_menu_801CD9AC]].unk_14 = 5;
} else { } else {
D_ctx_80177BD8[D_menu_801CD8E0[D_menu_801CD9AC]] = 2; gPlanetPathStatus[D_menu_801CD8E0[D_menu_801CD9AC]] = 2;
sPaths[D_menu_801CD8E0[D_menu_801CD9AC]].unk_14 = 0; sPaths[D_menu_801CD8E0[D_menu_801CD9AC]].unk_14 = 0;
} }
@ -3366,8 +3366,8 @@ void Map_801A4394(void) {
break; break;
case 2: case 2:
if ((D_ctx_80177BD8[D_menu_801CD8E0[D_menu_801CD9AC]] == 3) || if ((gPlanetPathStatus[D_menu_801CD8E0[D_menu_801CD9AC]] == 3) ||
(D_ctx_80177BD8[D_menu_801CD8E0[D_menu_801CD9AC]] == 6)) { (gPlanetPathStatus[D_menu_801CD8E0[D_menu_801CD9AC]] == 6)) {
D_menu_801CD9AC++; D_menu_801CD9AC++;
D_menu_801CD94C = 1; D_menu_801CD94C = 1;
} }
@ -3633,20 +3633,20 @@ void Map_801A4FC4(void) {
gBombCount[gPlayerNum] = 3; gBombCount[gPlayerNum] = 3;
if (sPlanets[sCurrentPlanetId].dest1 != PLANET_NONE) { if (sPlanets[sCurrentPlanetId].dest1 != PLANET_NONE) {
temp2 = Map_801A655C(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest1); temp2 = Map_GetPathId(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest1);
D_ctx_80177BD8[temp2] = 0; gPlanetPathStatus[temp2] = 0;
sPaths[temp2].alpha = 0; sPaths[temp2].alpha = 0;
} }
if (sPlanets[sCurrentPlanetId].dest2 != PLANET_NONE) { if (sPlanets[sCurrentPlanetId].dest2 != PLANET_NONE) {
temp = Map_801A655C(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest2); temp = Map_GetPathId(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest2);
D_ctx_80177BD8[temp] = 0; gPlanetPathStatus[temp] = 0;
sPaths[temp].alpha = 0; sPaths[temp].alpha = 0;
} }
if (sPlanets[sCurrentPlanetId].warp != PLANET_NONE) { if (sPlanets[sCurrentPlanetId].warp != PLANET_NONE) {
temp = Map_801A655C(sCurrentPlanetId, sPlanets[sCurrentPlanetId].warp); temp = Map_GetPathId(sCurrentPlanetId, sPlanets[sCurrentPlanetId].warp);
D_ctx_80177BD8[temp] = 0; gPlanetPathStatus[temp] = 0;
sPaths[temp].alpha = 0; sPaths[temp].alpha = 0;
} }
@ -3669,20 +3669,20 @@ void Map_801A4FC4(void) {
sCurrentPlanetId = D_menu_801CD950; sCurrentPlanetId = D_menu_801CD950;
if (sPlanets[sCurrentPlanetId].dest1 != PLANET_NONE) { if (sPlanets[sCurrentPlanetId].dest1 != PLANET_NONE) {
temp2 = Map_801A655C(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest1); temp2 = Map_GetPathId(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest1);
D_ctx_80177BD8[temp2] = 1; gPlanetPathStatus[temp2] = 1;
sPaths[temp2].alpha = 255; sPaths[temp2].alpha = 255;
} }
if (sPlanets[sCurrentPlanetId].dest2 != PLANET_NONE) { if (sPlanets[sCurrentPlanetId].dest2 != PLANET_NONE) {
temp = Map_801A655C(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest2); temp = Map_GetPathId(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest2);
D_ctx_80177BD8[temp] = 1; gPlanetPathStatus[temp] = 1;
sPaths[temp].alpha = 255; sPaths[temp].alpha = 255;
} }
if (sPlanets[sCurrentPlanetId].warp != PLANET_NONE) { if (sPlanets[sCurrentPlanetId].warp != PLANET_NONE) {
temp = Map_801A655C(sCurrentPlanetId, sPlanets[sCurrentPlanetId].warp); temp = Map_GetPathId(sCurrentPlanetId, sPlanets[sCurrentPlanetId].warp);
D_ctx_80177BD8[temp] = 0; gPlanetPathStatus[temp] = 0;
sPaths[temp].alpha = 0; sPaths[temp].alpha = 0;
} }
@ -3696,18 +3696,18 @@ void Map_801A53C8(void) {
D_menu_801CEFD8 ^= 1; D_menu_801CEFD8 ^= 1;
if (sPlanets[sCurrentPlanetId].dest1 != PLANET_NONE) { if (sPlanets[sCurrentPlanetId].dest1 != PLANET_NONE) {
temp2 = Map_801A655C(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest1); temp2 = Map_GetPathId(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest1);
D_ctx_80177BD8[temp2] = 0; gPlanetPathStatus[temp2] = 0;
sPaths[temp2].alpha = 0; sPaths[temp2].alpha = 0;
} }
if (sPlanets[sCurrentPlanetId].dest2 != PLANET_NONE) { if (sPlanets[sCurrentPlanetId].dest2 != PLANET_NONE) {
temp = Map_801A655C(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest2); temp = Map_GetPathId(sCurrentPlanetId, sPlanets[sCurrentPlanetId].dest2);
D_ctx_80177BD8[temp] = 0; gPlanetPathStatus[temp] = 0;
sPaths[temp].alpha = 0; sPaths[temp].alpha = 0;
} }
D_ctx_80177BD8[D_menu_801CEECC] = 0; gPlanetPathStatus[D_menu_801CEECC] = 0;
sPaths[D_menu_801CEECC].alpha = 0; sPaths[D_menu_801CEECC].alpha = 0;
sPaths[D_menu_801CEECC].unk_14 = 0; sPaths[D_menu_801CEECC].unk_14 = 0;
@ -3728,16 +3728,16 @@ void Map_801A53C8(void) {
sNextPlanetId = sPlanets[sCurrentPlanetId].dest1; sNextPlanetId = sPlanets[sCurrentPlanetId].dest1;
} }
D_menu_801CEECC = Map_801A655C(sCurrentPlanetId, sNextPlanetId); D_menu_801CEECC = Map_GetPathId(sCurrentPlanetId, sNextPlanetId);
sPaths[D_menu_801CEECC].alpha = 255; sPaths[D_menu_801CEECC].alpha = 255;
D_ctx_80177BD8[D_menu_801CEECC] = 3; gPlanetPathStatus[D_menu_801CEECC] = 3;
sPaths[D_menu_801CEECC].unk_14 = 2; sPaths[D_menu_801CEECC].unk_14 = 2;
if ((sPaths[D_menu_801CEECC].type == PL_WARP_YLW) || (sPaths[D_menu_801CEECC].type == PL_WARP_RED)) { if ((sPaths[D_menu_801CEECC].type == PL_WARP_YLW) || (sPaths[D_menu_801CEECC].type == PL_WARP_RED)) {
D_ctx_80177BD8[D_menu_801CEECC] = 5; gPlanetPathStatus[D_menu_801CEECC] = 5;
sPaths[D_menu_801CEECC].unk_14 = 5; sPaths[D_menu_801CEECC].unk_14 = 5;
} }
@ -3752,14 +3752,14 @@ void Map_801A53C8(void) {
Map_801A6368(); Map_801A6368();
if (sPlanets[sNextPlanetId].dest1 != PLANET_NONE) { if (sPlanets[sNextPlanetId].dest1 != PLANET_NONE) {
temp2 = Map_801A655C(sNextPlanetId, sPlanets[sNextPlanetId].dest1); temp2 = Map_GetPathId(sNextPlanetId, sPlanets[sNextPlanetId].dest1);
D_ctx_80177BD8[temp2] = 1; gPlanetPathStatus[temp2] = 1;
sPaths[temp2].alpha = 255; sPaths[temp2].alpha = 255;
} }
if (sPlanets[sNextPlanetId].dest2 != PLANET_NONE) { if (sPlanets[sNextPlanetId].dest2 != PLANET_NONE) {
temp = Map_801A655C(sNextPlanetId, sPlanets[sNextPlanetId].dest2); temp = Map_GetPathId(sNextPlanetId, sPlanets[sNextPlanetId].dest2);
D_ctx_80177BD8[temp] = 1; gPlanetPathStatus[temp] = 1;
sPaths[temp].alpha = 255; sPaths[temp].alpha = 255;
} }
} }
@ -4012,59 +4012,59 @@ void Map_801A5E80(void) {
void Map_801A61B4(LevelId level) { void Map_801A61B4(LevelId level) {
switch (level) { switch (level) {
case LEVEL_CORNERIA: case LEVEL_CORNERIA:
Audio_SetAudioSpec(0, 0); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_0);
break; break;
case LEVEL_METEO: case LEVEL_METEO:
Audio_SetAudioSpec(0, 1); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_1);
break; break;
case LEVEL_TITANIA: case LEVEL_TITANIA:
Audio_SetAudioSpec(0, 2); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_2);
break; break;
case LEVEL_AQUAS: case LEVEL_AQUAS:
Audio_SetAudioSpec(0, 12); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_12);
break; break;
case LEVEL_BOLSE: case LEVEL_BOLSE:
Audio_SetAudioSpec(0, 10); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_10);
break; break;
case LEVEL_KATINA: case LEVEL_KATINA:
Audio_SetAudioSpec(0, 11); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_11);
break; break;
case LEVEL_AREA_6: case LEVEL_AREA_6:
Audio_SetAudioSpec(0, 5); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_5);
break; break;
case LEVEL_SECTOR_Z: case LEVEL_SECTOR_Z:
Audio_SetAudioSpec(0, 13); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_13);
break; break;
case LEVEL_FORTUNA: case LEVEL_FORTUNA:
Audio_SetAudioSpec(0, 8); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_8);
break; break;
case LEVEL_SECTOR_X: case LEVEL_SECTOR_X:
Audio_SetAudioSpec(0, 3); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_3);
break; break;
case LEVEL_MACBETH: case LEVEL_MACBETH:
Audio_SetAudioSpec(0, 14); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_14);
break; break;
case LEVEL_ZONESS: case LEVEL_ZONESS:
Audio_SetAudioSpec(0, 4); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_4);
break; break;
case LEVEL_SECTOR_Y: case LEVEL_SECTOR_Y:
Audio_SetAudioSpec(0, 7); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_7);
break; break;
case LEVEL_SOLAR: case LEVEL_SOLAR:
Audio_SetAudioSpec(0, 0x209); AUDIO_SET_SPEC(SFXCHAN_2, AUDIOSPEC_9);
default: default:
break; break;
@ -4245,7 +4245,7 @@ PlanetId Map_GetPlanetId(LevelId level) {
return planet; return planet;
} }
s32 Map_801A655C(PlanetId start, PlanetId end) { s32 Map_GetPathId(PlanetId start, PlanetId end) {
s32 i; s32 i;
for (i = 0; i < 24; i++) { for (i = 0; i < 24; i++) {
@ -5519,7 +5519,7 @@ void Map_801AA1CC(s32 arg0) {
if (i < 6) { if (i < 6) {
r = g = b = 255; r = g = b = 255;
if (i < arg0) { if (i < arg0) {
temp = Map_801A655C(*ptr, *(ptr + 1)); temp = Map_GetPathId(*ptr, *(ptr + 1));
switch (sPaths[temp].type) { switch (sPaths[temp].type) {
case 0: case 0:
r = 16; r = 16;
@ -6358,10 +6358,10 @@ void Map_801AC9A0(s32 index) {
gTexturedLines[index].unk_20 = Math_Atan2F(x, z); gTexturedLines[index].unk_20 = Math_Atan2F(x, z);
gTexturedLines[index].unk_1C = -Math_Atan2F(y, sqrtf(SQ(x) + SQ(z))); gTexturedLines[index].unk_1C = -Math_Atan2F(y, sqrtf(SQ(x) + SQ(z)));
switch (D_ctx_80177BD8[index]) { switch (gPlanetPathStatus[index]) {
case 1: case 1:
AUDIO_PLAY_SFX(0x1900404D, gDefaultSfxSource, 4); AUDIO_PLAY_SFX(0x1900404D, gDefaultSfxSource, 4);
D_ctx_80177BD8[index] = 11; gPlanetPathStatus[index] = 11;
break; break;
case 11: case 11:
@ -6369,7 +6369,7 @@ void Map_801AC9A0(s32 index) {
gTexturedLines[index].unk_2F = 255; gTexturedLines[index].unk_2F = 255;
if (gTexturedLines[index].unk_24 == target) { if (gTexturedLines[index].unk_24 == target) {
Audio_KillSfxById(0x1900404D); Audio_KillSfxById(0x1900404D);
D_ctx_80177BD8[index] = 4; gPlanetPathStatus[index] = 4;
} }
break; break;
@ -6378,7 +6378,7 @@ void Map_801AC9A0(s32 index) {
Math_SmoothStepToF(&gTexturedLines[index].unk_24, target, 0.1f, 100.0f, 1.0f); Math_SmoothStepToF(&gTexturedLines[index].unk_24, target, 0.1f, 100.0f, 1.0f);
if (gTexturedLines[index].unk_24 == target) { if (gTexturedLines[index].unk_24 == target) {
gTexturedLines[index].unk_24 = 0.0f; gTexturedLines[index].unk_24 = 0.0f;
D_ctx_80177BD8[index] = 6; gPlanetPathStatus[index] = 6;
D_menu_801CEEAC = 255; D_menu_801CEEAC = 255;
} }
break; break;
@ -6391,7 +6391,7 @@ void Map_801AC9A0(s32 index) {
Math_SmoothStepToF(&gTexturedLines[index].unk_24, target, temp, 100.0f, 4.0f); Math_SmoothStepToF(&gTexturedLines[index].unk_24, target, temp, 100.0f, 4.0f);
gTexturedLines[index].unk_2F = 255; gTexturedLines[index].unk_2F = 255;
if (gTexturedLines[index].unk_24 == target) { if (gTexturedLines[index].unk_24 == target) {
D_ctx_80177BD8[index] = 3; gPlanetPathStatus[index] = 3;
} }
break; break;
@ -6402,7 +6402,7 @@ void Map_801AC9A0(s32 index) {
break; break;
} }
if ((D_ctx_80177BD8[index] == 1) || (D_ctx_80177BD8[index] == 11) || (D_ctx_80177BD8[index] == 4)) { if ((gPlanetPathStatus[index] == 1) || (gPlanetPathStatus[index] == 11) || (gPlanetPathStatus[index] == 4)) {
gTexturedLines[index].unk_2C = 32; gTexturedLines[index].unk_2C = 32;
gTexturedLines[index].unk_2D = 32; gTexturedLines[index].unk_2D = 32;
gTexturedLines[index].unk_2E = 32; gTexturedLines[index].unk_2E = 32;

View File

@ -558,7 +558,7 @@ void Option_Init(void) {
case OPTION_WAIT: case OPTION_WAIT:
if (gNextGameStateTimer == 0) { if (gNextGameStateTimer == 0) {
gOptionMenuStatus = OPTION_SETUP; gOptionMenuStatus = OPTION_SETUP;
Audio_SetAudioSpec(0, 23); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_23);
} }
break; break;
@ -806,7 +806,7 @@ void Option_TrainingUpdate(void) {
D_ctx_80177CB0 = 0.0f; D_ctx_80177CB0 = 0.0f;
D_ctx_8017782C = 1; D_ctx_8017782C = 1;
gControllerLock = 3; gControllerLock = 3;
Audio_SetAudioSpec(0, 28); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_28);
} else { } else {
gFillScreenAlpha += 32; gFillScreenAlpha += 32;
if (gFillScreenAlpha > 255) { if (gFillScreenAlpha > 255) {

View File

@ -205,11 +205,11 @@ void Title_801875E0(void) {
Title_80188010(); Title_80188010();
if ((gMainController == -1) || (D_menu_801B827C != 0)) { if ((gMainController == -1) || (D_menu_801B827C != 0)) {
Audio_SetAudioSpec(0, 0x17); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_23);
D_menu_801B82C4 = 0; D_menu_801B82C4 = 0;
D_menu_801B827C = 0; D_menu_801B827C = 0;
} else { } else {
Audio_SetAudioSpec(0, 0x16); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_22);
D_menu_801B82C4 = 1; D_menu_801B82C4 = 1;
} }
gControllerLock = 30; gControllerLock = 30;
@ -379,7 +379,7 @@ void Title_80187B00(void) {
gRadioState = 0; gRadioState = 0;
D_menu_801B82C0 = 0; D_menu_801B82C0 = 0;
gDrawMode = DRAW_NONE; gDrawMode = DRAW_NONE;
Audio_SetAudioSpec(0, 0x16); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_22);
D_menu_801B82C4 = 1; D_menu_801B82C4 = 1;
} }
@ -2102,7 +2102,7 @@ void Title_8018C644(void) {
D_menu_801B82C0 = 0; D_menu_801B82C0 = 0;
gDrawMode = DRAW_NONE; gDrawMode = DRAW_NONE;
D_menu_801B82C4 = 0; D_menu_801B82C4 = 0;
Audio_SetAudioSpec(0, 23); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_23);
break; break;
} }
@ -3216,7 +3216,7 @@ void Title_80190EA4(void) {
if (D_menu_801B8284 < 120) { if (D_menu_801B8284 < 120) {
D_menu_801B8284 += 18; D_menu_801B8284 += 18;
} else { } else {
Audio_SetAudioSpec(0, 0x17); AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_23);
D_ctx_80178410 = 0; D_ctx_80178410 = 0;
gRadioState = 0; gRadioState = 0;
D_menu_801B82C0 = 0; D_menu_801B82C0 = 0;