fix audio pointers allowing rom shifts again

This commit is contained in:
CoderStig
2022-03-03 18:51:25 -07:00
parent 2cc06e8a46
commit c1114ebb6b
15 changed files with 117 additions and 142 deletions
+7 -7
View File
@@ -284,7 +284,7 @@ GLOBAL_ASM("asm/non_matchings/audio/load/func_800BAD0C.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_800B8FFC(? *, s32, u32); // extern
extern ? D_803AFBE8;
extern ? D_803BFBE8;
extern ? D_803B6758;
extern u32 D_803B6E58;
extern u32 D_803B6E5C;
@@ -341,7 +341,7 @@ void func_800BB030(s32 arg0, u32 arg2) {
phi_s0_3 = 0;
if ((D_803B70B0 * 3 * D_803B7088) > 0) {
loop_1:
temp_v0 = func_800B8FFC(&D_803AFBE8, phi_a1, phi_a2);
temp_v0 = func_800B8FFC(&D_803BFBE8, phi_a1, phi_a2);
temp_a2 = D_803B6E58;
temp_v1 = &D_803B6758 + (temp_a2 * 0x10);
temp_v1->unk0 = temp_v0;
@@ -397,7 +397,7 @@ loop_1:
if (D_803B70B0 > 0) {
phi_a1_2 = 0x180;
loop_13:
temp_v0_3 = func_800B8FFC(&D_803AFBE8, phi_a1_2, D_803B6E58);
temp_v0_3 = func_800B8FFC(&D_803BFBE8, phi_a1_2, D_803B6E58);
temp_a2_3 = D_803B6E58;
temp_s0_3 = phi_s0_3 + 1;
temp_v1_2 = &D_803B6758 + (temp_a2_3 * 0x10);
@@ -460,7 +460,7 @@ GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB030.s")
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_800B8FFC(? *, s32, void *); // extern
? func_800BAA80(s32, s32, s32, void *); // extern
extern ? D_803AFBE8;
extern ? D_803BFBE8;
void func_800BB304(void *arg0) {
s32 sp1C;
@@ -479,7 +479,7 @@ void func_800BB304(void *arg0) {
if (temp_a3->unk1 == 1) {
temp_a1 = temp_a3->unk10;
arg0 = temp_a3;
temp_v0 = func_800B8FFC(&D_803AFBE8, temp_a1, temp_a3);
temp_v0 = func_800B8FFC(&D_803BFBE8, temp_a1, temp_a3);
temp_a3_2 = arg0;
temp_a1_2 = temp_v0;
if (temp_v0 == 0) {
@@ -576,7 +576,7 @@ GLOBAL_ASM("asm/non_matchings/audio/load/func_800BB43C.s")
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_800B8FFC(? *, s32, s32); // extern
? func_800BAA80(s32, s32, s32, s32); // extern
extern ? D_803AFBE8;
extern ? D_803BFBE8;
void func_800BB484(void **arg0, s32 arg1, s32 arg2) {
void *sp2C;
@@ -604,7 +604,7 @@ void func_800BB484(void **arg0, s32 arg1, s32 arg2) {
temp_a3_2 = temp_a3->unk4 + arg2;
sp28 = temp_a3_2;
sp2C = temp_a3;
temp_v0_2 = func_800B8FFC(&D_803AFBE8, temp_a3->unk10, temp_a3_2);
temp_v0_2 = func_800B8FFC(&D_803BFBE8, temp_a3->unk10, temp_a3_2);
if (temp_v0_2 == 0) {
temp_a3->unk4 = temp_a3_2;
temp_a3->unk1 = 1;
+9 -4
View File
@@ -50,6 +50,11 @@ u64 *final_resample(u64 *cmd, struct NoteSynthesisState *synthesisState, s32 cou
u64 *process_envelope(u64 *cmd, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *synthesisState, s32 nSamples, u16 inBuf, s32 headsetPanSettings, u32 flags);
u64 *note_apply_headset_pan_effects(u64 *cmd, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *note, s32 bufLen, s32 flags, s32 leftRight);
u64 gGfxSPTaskOutputBuffer[0x3F00];
u32 gGfxSPTaskOutputBufferSize;
u32 padding3[2];
struct SynthesisReverb gSynthesisReverbs[4];
u8 sAudioSynthesisPad[0x10];
s16 gVolume;
@@ -60,10 +65,10 @@ struct NoteSubEu *gNoteSubsEu;
extern struct Note *D_803B7088;
extern s32 D_803B70B0;
f32 gLeftVolRampings[3][1024];
f32 gRightVolRampings[3][1024];
f32 *gCurrentLeftVolRamping; // Points to any of the three left buffers above
f32 *gCurrentRightVolRamping; // Points to any of the three right buffers above
f32 gLeftVolRampings;
//f32 gRightVolRampings[3][1024];
//f32 *gCurrentLeftVolRamping; // Points to any of the three left buffers above
//f32 *gCurrentRightVolRamping; // Points to any of the three right buffers above
u8 audioString1[] = "pitch %x: delaybytes %d : olddelay %d\n";
u8 audioString2[] = "cont %x: delaybytes %d : olddelay %d\n";
+4 -4
View File
@@ -50,10 +50,10 @@ struct SynthesisReverb {
extern struct SynthesisReverb gSynthesisReverbs[4];
extern s8 gNumSynthesisReverbs;
extern struct NoteSubEu *gNoteSubsEu;
extern f32 gLeftVolRampings[3][1024];
extern f32 gRightVolRampings[3][1024];
extern f32 *gCurrentLeftVolRamping; // Points to any of the three left buffers above
extern f32 *gCurrentRightVolRamping; // Points to any of the three right buffers above
extern f32 gLeftVolRampings;
//extern f32 gRightVolRampings[3][1024];
//extern f32 *gCurrentLeftVolRamping; // Points to any of the three left buffers above
//extern f32 *gCurrentRightVolRamping; // Points to any of the three right buffers above
u64 *synthesis_execute(u64 *cmdBuf, s32 *writtenCmds, s16 *aiBuf, s32 bufLen);
+2
View File
@@ -115,6 +115,8 @@ extern void func_80005AE8();
extern u16 D_8015F894;
//u32 testbss[0x200];
u16 D_802BA030;
u16 D_802BA032;
+3 -1
View File
@@ -2,8 +2,10 @@
#include "config.h"
u8 D_802BA290[224];
u8 frameBufferPadding[22544];
u8 D_802BA290[22768];
u8 D_802BFB80[77824];
u8 D_802D2B80[32768]; // Luigi raceway course path ghost
-1
View File
@@ -31,7 +31,6 @@ struct MainPoolBlock {
extern uintptr_t gSegmentTable[16];
extern s32 D_801502A0;
s32 D_802BA270;
s32 D_802BA274;