diff --git a/src/audio_spatial.c b/src/audio_spatial.c index 26802a84..af40cd7e 100644 --- a/src/audio_spatial.c +++ b/src/audio_spatial.c @@ -34,11 +34,15 @@ UNUSED const char D_800E4EDC[] = "Reverb line definition error (line=%d, vertex= /************ .bss ************/ -extern s8 gAudioLinesOff; -extern SoundData *D_80119C40; -extern unk80119C58 D_80119C58[]; -extern unk8011A6D8 D_8011A6D8[]; -extern SoundMask *gSoundMaskHeap; +SoundData *D_80119C40; +SoundMask **gSoundMaskHeapUsed; +SoundMask *gSoundMaskHeap; // 0x24 struct size - 0x5A0 total size - should be 40 elements +u8 gFreeMasks; +SoundMask **gSoundMaskHeapFree; +unk80119C58 D_80119C58[7]; +unk8011A6D8 D_8011A6D8[7]; // Reverb stuff +s8 gAudioLinesOff; +s32 D_8011AC1C; #define SOUND_MASK_HEAP_COUNT 40 @@ -52,7 +56,7 @@ void audioline_init(void) { gSoundMaskHeapFree = mempool_alloc_safe(sizeof(uintptr_t) * SOUND_MASK_HEAP_COUNT, COLOUR_TAG_CYAN); gSoundMaskHeapUsed = mempool_alloc_safe(sizeof(uintptr_t) * SOUND_MASK_HEAP_COUNT, COLOUR_TAG_CYAN); gUsedMasks = 0; - for (i = 0; i < 7; i++) { + for (i = 0; i < ARRAY_COUNT(D_80119C58); i++) { D_80119C58[i].unk178 = NULL; } for (i = 0; i < SOUND_MASK_HEAP_COUNT; i++) { @@ -79,8 +83,8 @@ void audioline_on(void) { } #ifdef NON_EQUIVALENT -extern f32 D_80119C60[672]; -extern f32 D_8011A6E0[7][48]; +// extern f32 D_80119C60[672]; +// extern f32 D_8011A6E0[7][48]; extern unk8011A6D8 **D_8011A6DC; extern unk80119C58 **D_80119C5C; // extern void sound_stop(u8 *arg0); @@ -104,7 +108,7 @@ void func_80008174(void) { } gUsedMasks = 0; - for (i = 0; i < ARRAY_COUNT(D_80119C60); i++) { + for (i = 0; i < ARRAY_COUNT(D_80119C58); i++) { D_80119C58[i].soundID = 0; if (D_80119C58[i].unk178 != 0) { if (D_80119C58[i].unk0.unk0_02 == 0) { @@ -117,19 +121,19 @@ void func_80008174(void) { D_80119C58[i].unk17C = -1; D_80119C5C[i]->unk0.unk0_01 = -100000.0f; - D_80119C60[i] = -100000.0f; + // D_80119C58[i] = -100000.0f; } - for (i = 0; i < ARRAY_COUNT(D_8011A6E0); i++) { - D_8011A6D8[i].unkB8 = -1; - D_8011A6D8[i].unk0.unk0_01 = 0.0f; - D_8011A6D8[i].unkBC = 0.0f; - D_8011A6DC[i]->unk0.unk0_01 = -100000.0f; - D_8011A6E0[i][0] = -100000.0f; - for (j = 0; j < ARRAY_COUNT(D_8011A6E0[0]); j++) { - D_8011A6E0[i][j] = -100000.0f; - } - } + // for (i = 0; i < ARRAY_COUNT(D_8011A6E0); i++) { + // D_8011A6D8[i].unkB8 = -1; + // D_8011A6D8[i].unk0.unk0_01 = 0.0f; + // D_8011A6D8[i].unkBC = 0.0f; + // D_8011A6DC[i]->unk0.unk0_01 = -100000.0f; + // D_8011A6E0[i][0] = -100000.0f; + // for (j = 0; j < ARRAY_COUNT(D_8011A6E0[0]); j++) { + // D_8011A6E0[i][j] = -100000.0f; + // } + // } gAudioLinesOff = 0; } @@ -355,6 +359,7 @@ s32 func_800099EC(u8 arg0) { ret = 1; temp_v0 = &D_80119C58[arg0]; var_a2 = (f32 *) &temp_v0->unk4; + if (temp_v0->unk17C <= 0) { return 0; } @@ -372,22 +377,25 @@ s32 func_800099EC(u8 arg0) { s32 func_80009AB4(u8 arg0) { s32 ret; + f32 *var_a2; + f32 temp_f0; s32 i; - unk8011A6D8 *levelHeader; - unk8011A6D8_04 *var_a2; // Probably a Vec3f + unk8011A6D8 *temp_v0; ret = 1; - levelHeader = &D_8011A6D8[arg0]; - var_a2 = (unk8011A6D8_04 *) &levelHeader->unk4; + temp_v0 = &D_8011A6D8[arg0]; + var_a2 = (f32 *) &temp_v0->unk4; - if (levelHeader->unkB8 <= 0) { + if (temp_v0->unkB8 <= 0) { return 0; } - for (i = 0; i < levelHeader->unkB8; i++, var_a2++) { - if ((var_a2->unk0 == -100000.0) || (var_a2->unk0 + 1 == -100000.0) || (var_a2->unk0 + 2 == -100000.0)) { + for (i = 0; i < temp_v0->unkB8; i++) { + temp_f0 = *var_a2; + if (temp_f0 == -100000.0 || temp_f0 + 1 == -100000.0 || temp_f0 + 2 == -100000.0) { ret = 0; } + var_a2 += 3; } return ret; @@ -414,7 +422,7 @@ void func_80009B7C(s32 *soundState, f32 x, f32 y, f32 z) { levelSegmentIndex = get_level_segment_index_from_position(x, y, z); volume = 0; var_s6 = 400; - for (i = 0; i < 7; i++) { + for (i = 0; i < ARRAY_COUNT(D_8011A6D8); i++) { if (D_8011A6D8[i].unk0.unk0_02 != 0) { if (func_80009AB4(i) != 0) { for (j = 0; j < D_8011A6D8[i].unkB8; j++) { @@ -452,7 +460,7 @@ extern unk8011A6D8 **D_8011A6DC; void func_8000A184(Gfx **arg0, Vertex **arg1, Triangle **arg2) { s32 i, j; - for (i = 0; i < 7; i++) { + for (i = 0; i < ARRAY_COUNT(D_80119C58); i++) { if (D_80119C58[i].soundID != 0) { for (j = 0; j < D_80119C58[i].unk17C; j++) { debug_render_line(arg0, arg1, arg2, (floatXYZVals *) &D_80119C5C[i], 0xFF, 0xFF, 0); @@ -460,7 +468,7 @@ void func_8000A184(Gfx **arg0, Vertex **arg1, Triangle **arg2) { } } - for (i = 0; i < 7; i++) { + for (i = 0; i < ARRAY_COUNT(D_8011A6D8); i++) { if (D_8011A6D8[i].unk0.unk0_02 != 0) { for (j = 0; j < D_8011A6D8[i].unkB8; j++) { debug_render_line(arg0, arg1, arg2, (floatXYZVals *) &D_8011A6DC[i], 0xFF, 0xFF, 0); diff --git a/src/audio_vehicle.c b/src/audio_vehicle.c index 47a5c589..533452ed 100644 --- a/src/audio_vehicle.c +++ b/src/audio_vehicle.c @@ -25,20 +25,6 @@ s32 D_800DC6D8 = 1; // Currently unknown, might be a different type. VehicleSoundData *D_80119C30[2]; VehicleSoundData *gRacerSound; Object_Racer *gSoundRacerObj; -SoundData *D_80119C40; // This should be in audio_spatial? -SoundMask **gSoundMaskHeapUsed; -SoundMask **gSoundMaskHeap; // 0x24 struct size - 0x5A0 total size - should be 40 elements -u8 gFreeMasks; -SoundMask **gSoundMaskHeapFree; -s32 D_80119C54; // Padding? -unk80119C58 **D_80119C58; // Struct of size in func_8000A184 = 0x180 = 384 bytes | Ambient Sounds -unk80119C58 **D_80119C5C; // Struct of size in func_8000A184 = 0x180 = 384 bytes Likely the same as above -f32 D_80119C60[670]; // array size of 672 looks to be required for func_80008174 -unk8011A6D8 *D_8011A6D8; // unk8011A6D8[] | Reverb stuff -unk8011A6D8 **D_8011A6DC; // Struct of size 0xC0 -f32 D_8011A6E0[334]; -s32 gAudioLinesOff; -s32 D_8011AC1C; /******************************/ diff --git a/src/audio_vehicle.h b/src/audio_vehicle.h index 30415d09..041574f7 100644 --- a/src/audio_vehicle.h +++ b/src/audio_vehicle.h @@ -121,14 +121,6 @@ typedef struct unkAudioAsset { /* 0x4A */ u8 unk4A; } unkAudioAsset; -extern u8 gVehicleSounds; -extern s32 D_800DC6D8; -extern s32 D_800DC6DC; -extern u16 gUsedMasks; -extern SoundMask **gSoundMaskHeapUsed; -extern SoundMask **gSoundMaskHeapFree; -extern u8 gFreeMasks; - void racer_sound_update(Object *obj, u32 buttonsPressed, u32 buttonsHeld, s32 updateRate); void racer_sound_free(Object *); diff --git a/src/audiosfx.c b/src/audiosfx.c index 28b0f4df..e250561c 100644 --- a/src/audiosfx.c +++ b/src/audiosfx.c @@ -189,15 +189,15 @@ u16 func_800042CC(u16 *lastAllocListIndex, u16 *lastFreeListIndex) { nextAllocList = queue->unk8; prevFreeList = queue->prev; - for (freeListNextIndex = 0; nextFreeList != 0; freeListNextIndex++) { + for (freeListNextIndex = 0; nextFreeList != NULL; freeListNextIndex++) { nextFreeList = nextFreeList->next; } - for (allocListNextIndex = 0; nextAllocList != 0; allocListNextIndex++) { + for (allocListNextIndex = 0; nextAllocList != NULL; allocListNextIndex++) { nextAllocList = nextAllocList->next; } - for (freeListLastIndex = 0; prevFreeList != 0; freeListLastIndex++) { + for (freeListLastIndex = 0; prevFreeList != NULL; freeListLastIndex++) { prevFreeList = prevFreeList->prev; } diff --git a/src/tracks.c b/src/tracks.c index 8427ffb4..1ba816b4 100644 --- a/src/tracks.c +++ b/src/tracks.c @@ -2146,13 +2146,13 @@ s32 get_wave_properties(f32 yPos, f32 *waterHeight, Vec3f *rotation) { #pragma GLOBAL_ASM("asm/nonmatchings/tracks/func_8002B0F4.s") -s32 func_8002B9BC(Object *obj, f32 *arg1, f32 *arg2, s32 arg3) { +s32 func_8002B9BC(Object *obj, f32 *arg1, Vec3f *arg2, s32 arg3) { LevelModelSegment *seg; if (arg2 != NULL) { - arg2[0] = 0.0f; - arg2[2] = 0.0f; - arg2[1] = 1.0f; + arg2->x = 0.0f; + arg2->z = 0.0f; + arg2->y = 1.0f; } if ((obj->segment.object.segmentID < 0) || (obj->segment.object.segmentID >= gCurrentLevelModel->numberOfSegments)) { diff --git a/src/tracks.h b/src/tracks.h index a60d0449..f46a9621 100644 --- a/src/tracks.h +++ b/src/tracks.h @@ -156,7 +156,7 @@ LevelModelSegment *get_segment(s32 segmentID); LevelModelSegmentBoundingBox *get_segment_bounding_box(s32 segmentID); void func_8002ACC8(s32 arg0); s32 func_8002ACD4(f32 *arg0, f32 *arg1, f32 *arg2); -s32 func_8002B9BC(Object *obj, f32 *arg1, f32 *arg2, s32 arg3); +s32 func_8002B9BC(Object *obj, f32 *arg1, Vec3f *arg2, s32 arg3); void func_8002C71C(LevelModelSegment *segment); LevelModel *get_current_level_model(void); void get_fog_settings(s32 playerID, s16 *near, s16 *far, u8 *r, u8 *g, u8 *b); diff --git a/src/waves.c b/src/waves.c index 9c6a61a6..b84b63f5 100644 --- a/src/waves.c +++ b/src/waves.c @@ -422,7 +422,7 @@ void func_800B8C04(s32 xPosition, s32 yPosition, s32 zPosition, s32 currentViewp s32 k; s32 var_t4; s32 tempXPosRatio; - s32 var_t2; + u32 var_t2; s32 var_v1; s32 xPosRatio; s32 zPosRatio; @@ -823,27 +823,27 @@ void func_800BA288(s32 arg0, s32 arg1) { f32 func_800BB2F4(s32 arg0, f32 arg1, f32 arg2, Vec3f *arg3) { f32 spA4; f32 spA0; - f32 var_f12; // sp9C - f32 var_f2; // sp98 + f32 var_f12; + f32 var_f2; f32 sp94; f32 sp90; - f32 var_f16; // sp8C - f32 arg3X; // sp8C - f32 arg3Z; // sp84 - f32 arg3Y; // sp80 + f32 var_f16; + f32 arg3X; + f32 arg3Z; + f32 arg3Y; s32 var_a0; f32 sp78; s32 var_v0; s32 sp70; s32 sp6C; - s32 var_t0; // sp68 - s32 var_a3; // sp64 + s32 var_t0; + s32 var_a3; s32 sp60; u8 *tempD_800E3178; s32 sp58; s32 pad; - if ((arg0 < 0) || (arg0 >= D_8012A0E0)) { + if (arg0 < 0 || arg0 >= D_8012A0E0) { arg0 = 0; } @@ -880,19 +880,19 @@ f32 func_800BB2F4(s32 arg0, f32 arg1, f32 arg2, Vec3f *arg3) { sp6C = arg2 / sp90; arg1 -= sp70 * sp94; arg2 -= sp6C * sp90; - + var_t0 = D_800E30D8[arg0].unk12 + sp70; while (var_t0 >= D_80129FC8.unk4) { var_t0 -= D_80129FC8.unk4; } - + var_a3 = D_800E30D8[arg0].unk10 + sp6C; while (var_a3 >= D_80129FC8.unk4) { var_a3 -= D_80129FC8.unk4; } - + var_v0 = 0; - if ((arg2 != sp90) && (arg1 < (((sp90 - arg2) / sp90) * sp94))) { + if (arg2 != sp90 && arg1 < (((sp90 - arg2) / sp90) * sp94)) { var_v0 = 1; } @@ -920,7 +920,8 @@ f32 func_800BB2F4(s32 arg0, f32 arg1, f32 arg2, Vec3f *arg3) { var_f12 *= D_80129FC8.unk44 + (var_v0 * var_f16); } - var_a0 = (var_t0 + 1) >= D_80129FC8.unk4 ? var_a3 * D_80129FC8.unk4 : (var_t0 ^ 0) + var_a3 * D_80129FC8.unk4 + 1; + var_a0 = + (var_t0 + 1) >= D_80129FC8.unk4 ? var_a3 * D_80129FC8.unk4 : (var_t0 + 0) + var_a3 * D_80129FC8.unk4 + 1; var_f2 = (D_800E3040[D_800E3044[var_a0].s[0]] + D_800E3040[D_800E3044[var_a0].s[1]]) * D_80129FC8.magnitude; if (D_800E3188 > 0) { var_f2 += func_800BEFC4(arg0, sp70 + 1, sp6C); @@ -943,7 +944,8 @@ f32 func_800BB2F4(s32 arg0, f32 arg1, f32 arg2, Vec3f *arg3) { arg3Z = sp90 * sp94; arg3Y = (spA0 - var_f12) * sp94; } else { - var_a0 = (var_t0 + 1) >= D_80129FC8.unk4 ? var_a3 * D_80129FC8.unk4 : (var_t0 ^ 0) + (var_a3 * D_80129FC8.unk4) + 1; + var_a0 = + (var_t0 + 1) >= D_80129FC8.unk4 ? var_a3 * D_80129FC8.unk4 : (var_t0 + 0) + (var_a3 * D_80129FC8.unk4) + 1; spA0 = (D_800E3040[D_800E3044[var_a0].s[0]] + D_800E3040[D_800E3044[var_a0].s[1]]) * D_80129FC8.magnitude; if (D_800E3188 > 0) { spA0 += func_800BEFC4(arg0, sp70 + 1, sp6C); @@ -963,14 +965,14 @@ f32 func_800BB2F4(s32 arg0, f32 arg1, f32 arg2, Vec3f *arg3) { var_a0 = sp58 + sp70 + ((sp6C + 1) * sp60); var_v0 = (tempD_800E3178 = D_800E3178)[var_a0]; if (var_v0 < 0x7F) { - var_f12 *= D_80129FC8.unk44 + (var_v0 * var_f16); + var_f12 *= D_80129FC8.unk44 + (var_v0 * var_f16); } var_a0 = (var_t0 + 1) >= D_80129FC8.unk4 ? 0 : (var_t0 + 1); if ((var_a3 + 1) < D_80129FC8.unk4) { - var_a0 += (var_a3 + 1) * D_80129FC8.unk4; + var_a0 += (var_a3 + 1) * D_80129FC8.unk4; } - + var_f2 = (D_800E3040[D_800E3044[var_a0].s[0]] + D_800E3040[D_800E3044[var_a0].s[1]]) * D_80129FC8.magnitude; if (D_800E3188 > 0) { var_f2 += func_800BEFC4(arg0, sp70 + 1, sp6C + 1); @@ -991,7 +993,7 @@ f32 func_800BB2F4(s32 arg0, f32 arg1, f32 arg2, Vec3f *arg3) { spA4 = sp94; arg3X = sp90 * (var_f12 - var_f2); arg3Z = sp90 * sp94; - arg3Y = sp94 * (spA0 - var_f2); + arg3Y = sp94 * (spA0 - var_f2); } var_f16 = sqrtf((arg3X * arg3X) + (arg3Z * arg3Z) + (arg3Y * arg3Y)); @@ -1002,7 +1004,7 @@ f32 func_800BB2F4(s32 arg0, f32 arg1, f32 arg2, Vec3f *arg3) { sp78 -= (((arg3X * arg1) + (arg3Y * arg2)) - ((spA4 * arg3X) + (spA0 * arg3Z))) / arg3Z; } - if (arg3) { + if (arg3 != NULL) { arg3->x = arg3X; arg3->y = arg3Z; arg3->z = arg3Y; @@ -1011,7 +1013,6 @@ f32 func_800BB2F4(s32 arg0, f32 arg1, f32 arg2, Vec3f *arg3) { return sp78; } - void func_800BBDDC(LevelModel *level, LevelHeader *header) { func_800BBE08(level, (unk800BBE08_arg1 *) header); func_800BBF78(level); diff --git a/ver/splat/dkr.jpn.v79.yaml b/ver/splat/dkr.jpn.v79.yaml index 362a8cde..854b6fdf 100644 --- a/ver/splat/dkr.jpn.v79.yaml +++ b/ver/splat/dkr.jpn.v79.yaml @@ -386,6 +386,7 @@ segments: - { type: .bss, vram: 0x80117A00, name: audiomgr } - { type: .bss, vram: 0x8011B640, name: audiosfx } - { type: .bss, vram: 0x8011B6A0, name: audio_vehicle } + - { type: .bss, vram: 0x8011B6B0, name: audio_spatial } - { type: .bss, vram: 0x8011C690, name: objects } - { type: .bss, vram: 0x8011CB10, name: tracks } - { type: .bss, vram: 0x8011EF30, name: lights } diff --git a/ver/splat/dkr.pal.v77.yaml b/ver/splat/dkr.pal.v77.yaml index 1af3a87f..c8961014 100644 --- a/ver/splat/dkr.pal.v77.yaml +++ b/ver/splat/dkr.pal.v77.yaml @@ -386,6 +386,7 @@ segments: - { type: .bss, vram: 0x80116020, name: audiomgr } - { type: .bss, vram: 0x80119C60, name: audiosfx } - { type: .bss, vram: 0x80119CC0, name: audio_vehicle } + - { type: .bss, vram: 0x80119CD0, name: audio_spatial } - { type: .bss, vram: 0x8011ACB0, name: objects } - { type: .bss, vram: 0x8011B130, name: tracks } - { type: .bss, vram: 0x8011D550, name: lights } diff --git a/ver/splat/dkr.pal.v80.yaml b/ver/splat/dkr.pal.v80.yaml index e65afe58..e2577302 100644 --- a/ver/splat/dkr.pal.v80.yaml +++ b/ver/splat/dkr.pal.v80.yaml @@ -386,6 +386,7 @@ segments: - { type: .bss, vram: 0x801165A0, name: audiomgr } - { type: .bss, vram: 0x8011A1E0, name: audiosfx } - { type: .bss, vram: 0x8011A240, name: audio_vehicle } + - { type: .bss, vram: 0x8011A250, name: audio_spatial } - { type: .bss, vram: 0x8011B230, name: objects } - { type: .bss, vram: 0x8011B6B0, name: tracks } - { type: .bss, vram: 0x8011DAD0, name: lights } diff --git a/ver/splat/dkr.us.v77.yaml b/ver/splat/dkr.us.v77.yaml index 2694dc1d..e006a99f 100644 --- a/ver/splat/dkr.us.v77.yaml +++ b/ver/splat/dkr.us.v77.yaml @@ -386,6 +386,7 @@ segments: - { type: .bss, vram: 0x80115F90, name: audiomgr } - { type: .bss, vram: 0x80119BD0, name: audiosfx } - { type: .bss, vram: 0x80119C30, name: audio_vehicle } + - { type: .bss, vram: 0x80119C40, name: audio_spatial } - { type: .bss, vram: 0x8011AC20, name: objects } - { type: .bss, vram: 0x8011B0A0, name: tracks } - { type: .bss, vram: 0x8011D4C0, name: lights } @@ -440,8 +441,21 @@ segments: - { type: .bss, vram: 0x8012D200, name: ../libultra/src/os/timerintr } - { type: .bss, vram: 0x8012D240, name: ../libultra/src/os/exceptasm } + # TODO: If we can split up the assets bin file to these two files, we can properly + # define the symbol for __ASSETS_LUT_END even if it changes with custom assets + # - name: assets_lut + # type: bin + # start: 0xECB60 + # follows_vram: main + + # - name: assets + # type: bin + # start: 0xECC30 + # follows_vram: main + - name: assets type: bin start: 0xECB60 follows_vram: main + - [0xAC9630] diff --git a/ver/splat/dkr.us.v80.yaml b/ver/splat/dkr.us.v80.yaml index 6af5df9b..f3080a2f 100644 --- a/ver/splat/dkr.us.v80.yaml +++ b/ver/splat/dkr.us.v80.yaml @@ -386,6 +386,7 @@ segments: - { type: .bss, vram: 0x80116510, name: audiomgr } - { type: .bss, vram: 0x8011A150, name: audiosfx } - { type: .bss, vram: 0x8011A1B0, name: audio_vehicle } + - { type: .bss, vram: 0x8011A1C0, name: audio_spatial } - { type: .bss, vram: 0x8011B1A0, name: objects } - { type: .bss, vram: 0x8011B620, name: tracks } - { type: .bss, vram: 0x8011DA40, name: lights } diff --git a/ver/symbols/symbol_addrs.jpn.v79.txt b/ver/symbols/symbol_addrs.jpn.v79.txt index 27fc2623..85299318 100644 --- a/ver/symbols/symbol_addrs.jpn.v79.txt +++ b/ver/symbols/symbol_addrs.jpn.v79.txt @@ -3561,13 +3561,8 @@ gSoundMaskHeapUsed = 0x8011B6B4; gSoundMaskHeap = 0x8011B6B8; gFreeMasks = 0x8011B6BC; gSoundMaskHeapFree = 0x8011B6C0; -D_80119C54 = 0x8011B6C4; -D_80119C58 = 0x8011B6C8; -D_80119C5C = 0x8011B6CC; -D_80119C60 = 0x8011B6D0; -D_8011A6D8 = 0x8011C148; -D_8011A6DC = 0x8011C14C; -D_8011A6E0 = 0x8011C150; +D_80119C58 = 0x8011B6C8; // size:0xA80 +D_8011A6D8 = 0x8011C148; // size:0x540 gAudioLinesOff = 0x8011C688; D_8011AC1C = 0x8011C68C; diff --git a/ver/symbols/symbol_addrs.pal.v77.txt b/ver/symbols/symbol_addrs.pal.v77.txt index fb2974c7..4851fb4c 100644 --- a/ver/symbols/symbol_addrs.pal.v77.txt +++ b/ver/symbols/symbol_addrs.pal.v77.txt @@ -3310,13 +3310,8 @@ gSoundMaskHeapUsed = 0x80119CD4; gSoundMaskHeap = 0x80119CD8; gFreeMasks = 0x80119CDC; gSoundMaskHeapFree = 0x80119CE0; -D_80119C54 = 0x80119CE4; -D_80119C58 = 0x80119CE8; -D_80119C5C = 0x80119CEC; -D_80119C60 = 0x80119CF0; -D_8011A6D8 = 0x8011A768; -D_8011A6DC = 0x8011A76C; -D_8011A6E0 = 0x8011A770; +D_80119C58 = 0x80119CE8; // size:0xA80 +D_8011A6D8 = 0x8011A768; // size:0x540 gAudioLinesOff = 0x8011ACA8; D_8011AC1C = 0x8011ACAC; D_8011AC20 = 0x8011ACB0; // size:0x100 diff --git a/ver/symbols/symbol_addrs.pal.v80.txt b/ver/symbols/symbol_addrs.pal.v80.txt index 8eecd6df..f029b537 100644 --- a/ver/symbols/symbol_addrs.pal.v80.txt +++ b/ver/symbols/symbol_addrs.pal.v80.txt @@ -3240,13 +3240,8 @@ gSoundMaskHeapUsed = 0x8011A254; gSoundMaskHeap = 0x8011A258; gFreeMasks = 0x8011A25C; gSoundMaskHeapFree = 0x8011A260; -D_80119C54 = 0x8011A264; -D_80119C58 = 0x8011A268; -D_80119C5C = 0x8011A26C; -D_80119C60 = 0x8011A270; -D_8011A6D8 = 0x8011ACE8; -D_8011A6DC = 0x8011ACEC; -D_8011A6E0 = 0x8011ACF0; +D_80119C58 = 0x8011A268; // size:0xA80 +D_8011A6D8 = 0x8011ACE8; // size:0x540 gAudioLinesOff = 0x8011B228; D_8011AC1C = 0x8011B22C; D_8011AC20 = 0x8011B230; // size:0x100 diff --git a/ver/symbols/symbol_addrs.us.v77.txt b/ver/symbols/symbol_addrs.us.v77.txt index 91d76ffd..a52d4b42 100644 --- a/ver/symbols/symbol_addrs.us.v77.txt +++ b/ver/symbols/symbol_addrs.us.v77.txt @@ -3678,18 +3678,15 @@ gSoundChannelVolume = 0x80119C28; D_80119C30 = 0x80119C30; gRacerSound = 0x80119C38; gSoundRacerObj = 0x80119C3C; + +// audio_spatial .bss D_80119C40 = 0x80119C40; gSoundMaskHeapUsed = 0x80119C44; gSoundMaskHeap = 0x80119C48; gFreeMasks = 0x80119C4C; gSoundMaskHeapFree = 0x80119C50; -D_80119C54 = 0x80119C54; -D_80119C58 = 0x80119C58; -D_80119C5C = 0x80119C5C; -D_80119C60 = 0x80119C60; -D_8011A6D8 = 0x8011A6D8; -D_8011A6DC = 0x8011A6DC; -D_8011A6E0 = 0x8011A6E0; +D_80119C58 = 0x80119C58; // size:0xA80 +D_8011A6D8 = 0x8011A6D8; // size:0x540 gAudioLinesOff = 0x8011AC18; D_8011AC1C = 0x8011AC1C; diff --git a/ver/symbols/symbol_addrs.us.v80.txt b/ver/symbols/symbol_addrs.us.v80.txt index f3b4056a..a865f382 100644 --- a/ver/symbols/symbol_addrs.us.v80.txt +++ b/ver/symbols/symbol_addrs.us.v80.txt @@ -3236,13 +3236,8 @@ gSoundMaskHeapUsed = 0x8011A1C4; gSoundMaskHeap = 0x8011A1C8; gFreeMasks = 0x8011A1CC; gSoundMaskHeapFree = 0x8011A1D0; -D_80119C54 = 0x8011A1D4; -D_80119C58 = 0x8011A1D8; -D_80119C5C = 0x8011A1DC; -D_80119C60 = 0x8011A1E0; -D_8011A6D8 = 0x8011AC58; -D_8011A6DC = 0x8011AC5C; -D_8011A6E0 = 0x8011AC60; +D_80119C58 = 0x8011A1D8; // size:0xA80 +D_8011A6D8 = 0x8011AC58; // size:0x540 gAudioLinesOff = 0x8011B198; D_8011AC1C = 0x8011B19C; D_8011AC20 = 0x8011B1A0; // size:0x100 diff --git a/ver/symbols/undefined_syms.txt b/ver/symbols/undefined_syms.txt index 86d701ee..8c42cec4 100644 --- a/ver/symbols/undefined_syms.txt +++ b/ver/symbols/undefined_syms.txt @@ -15,41 +15,22 @@ sins_2 = coss_2 + 0x4; D_B0000574 = 0xB0000574; D_B0000578 = 0xB0000578; -/* The symbols below are GFX commands where it uses OS_K0_TO_PHYSICAL */ - -/* US V1 */ -D_E1CA0 = dMenuHudDrawModes - 0x80000000; -D_E1CB0 = D_E1CA0 + 0x10; -D_E1CC0 = D_E1CB0 + 0x10; -/* PAL V1 */ -D_E1D30 = dMenuHudDrawModes - 0x80000000; -D_E1D40 = D_E1D30 + 0x10; -D_E1D50 = D_E1D40 + 0x10; -/* US V2 */ -D_E2220 = dMenuHudDrawModes - 0x80000000; -D_E2230 = D_E2220 + 0x10; -D_E2240 = D_E2230 + 0x10; -/* PAL V2 */ -D_E22B0 = dMenuHudDrawModes - 0x80000000; -D_E22C0 = D_E22B0 + 0x10; -D_E22D0 = D_E22C0 + 0x10; -/* JPN V1 */ -D_E3730 = dMenuHudDrawModes - 0x80000000; -D_E3740 = D_E3730 + 0x10; -D_E3750 = D_E3740 + 0x10; -D_E51B8 = dDialogueBoxDrawModes - 0x80000000; -D_E51C8 = D_E51B8 + 0x10; -D_E51D8 = D_E51C8 + 0x10; - /* Symbols related to the end of the ROM */ gMainMemoryPool = main_BSS_END; /* This variable is just supposed to be available at the end of BSS for allocating memory to */ __BSS_SECTION_START = main_BSS_START; /* Entrypoint addresses */ __BSS_SECTION_SIZE = main_BSS_SIZE; /* Entrypoint addresses */ -__ASSETS_LUT_START = main_ROM_END; /* Required to have this in place to define where assets live */ -__ASSETS_LUT_END = main_ROM_END + 0xD0; /* Not truly sure how to determine the end location, but it's always 0xD0 after the start */ +__ASSETS_LUT_START = assets_ROM_START; /* Required to have this in place to define where assets live */ +__ASSETS_LUT_END = assets_ROM_START + 0xD0; /* TODO: __ASSETS_LUT_END = assets_lut_ROM_END; */ __ROM_END = assets_ROM_END; /* Used for the ROM checksum calculation in cheatmenu_checksum */ -__RAM_TO_ROM = main_VRAM - 0x1000; /* Used in the calc_func_checksyms.py */ +__RAM_TO_ROM = main_VRAM - 0x1000; /* Used in the calc_func_checksums.py */ + +/********** + # TODO: If we can split up the assets bin file to these two files, we can properly + # define the symbol for __ASSETS_LUT_END even if it changes with custom assets +__ASSETS_LUT_START = assets_lut_ROM_START; +__ASSETS_LUT_END = assets_lut_ROM_END; +************/ /* Just libultra stuff below */