diff --git a/asm/bss_800029B0.s b/asm/bss_800029B0.s index a791934fa..e122f3b3c 100644 --- a/asm/bss_800029B0.s +++ b/asm/bss_800029B0.s @@ -154,7 +154,7 @@ glabel gHeapEndPtr # 0x8015F72C glabel D_8015F730 .word 0x00000000 -glabel D_8015F734 +glabel FreeMemoryResetAnchor .word 0x00000000 glabel D_8015F738 diff --git a/src/code_800029B0.c b/src/code_800029B0.c index 5d9f1dc0d..8578db235 100644 --- a/src/code_800029B0.c +++ b/src/code_800029B0.c @@ -38,7 +38,7 @@ extern s8 gCupSelection; extern s32 gScreenModeSelection; extern u32 D_8015F730; -extern s32 D_8015F734; +extern s32 FreeMemoryResetAnchor; extern u32 gNextFreeMemoryAddress; extern s32 D_80150120; @@ -110,7 +110,7 @@ void setup_race(void) { if (gCurrentCourseId != gCurrentlyLoadedCourseId) { D_80150120 = 0; gCurrentlyLoadedCourseId = gCurrentCourseId; - gNextFreeMemoryAddress = D_8015F734; + gNextFreeMemoryAddress = FreeMemoryResetAnchor; load_course(gCurrentCourseId); func_80295D88(); D_8015F730 = gNextFreeMemoryAddress; diff --git a/src/code_80091750.c b/src/code_80091750.c index ca53e8fe1..12ad87720 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -225,10 +225,10 @@ void func_80091B78(void) { } } if (gMenuSelection == LOGO_INTRO_MENU) { - gNextFreeMemoryAddress = D_8015F734; + gNextFreeMemoryAddress = FreeMemoryResetAnchor; set_segment_base_addr(6, decompress_segments((u8 *) &_data_825800SegmentRomStart, (u8 *) &_course_mario_raceway_dl_mio0SegmentRomStart)); } - gNextFreeMemoryAddress = D_8015F734; + gNextFreeMemoryAddress = FreeMemoryResetAnchor; // Hypothetically, this should be a ptr... But only hypothetically. D_8018D9B0 = (intptr_t) get_next_available_memory_addr(0x000900B0); D_8018D9B4 = (uintptr_t *) get_next_available_memory_addr(0x0000CE00); diff --git a/src/code_80280000.c b/src/code_80280000.c index 1badd4b72..c9d3960ad 100644 --- a/src/code_80280000.c +++ b/src/code_80280000.c @@ -129,7 +129,7 @@ void load_credits(void) { D_800DC5EC->screenStartY = 120; gScreenModeSelection = SCREEN_MODE_1P; gActiveScreenMode = SCREEN_MODE_1P; - gNextFreeMemoryAddress = D_8015F734; + gNextFreeMemoryAddress = FreeMemoryResetAnchor; load_course(gCurrentCourseId); D_8015F730 = gNextFreeMemoryAddress; set_segment_base_addr(0xB, (void *) decompress_segments((u8 *)&_data_821D10SegmentRomStart, (u8 *)&_data_825800SegmentRomStart)); diff --git a/src/code_80281780.c b/src/code_80281780.c index 980905042..6277dbb91 100644 --- a/src/code_80281780.c +++ b/src/code_80281780.c @@ -101,7 +101,7 @@ void load_ceremony_cutscene(void) { D_800DC5EC->screenStartX = 160; D_800DC5EC->screenStartY = 120; gScreenModeSelection = SCREEN_MODE_1P; - gNextFreeMemoryAddress = (s32) D_8015F734; + gNextFreeMemoryAddress = (s32) FreeMemoryResetAnchor; gActiveScreenMode = SCREEN_MODE_1P; gModeSelection = GRAND_PRIX; load_course(gCurrentCourseId); diff --git a/src/code_80281780.h b/src/code_80281780.h index e0f1002f0..572a966f2 100644 --- a/src/code_80281780.h +++ b/src/code_80281780.h @@ -31,7 +31,7 @@ extern s32 D_80287554; extern f32 D_801647A4; extern f32 D_80150130[]; -extern s32 D_8015F734; +extern s32 FreeMemoryResetAnchor; extern s32 D_8015F730; diff --git a/src/main.c b/src/main.c index 06e243f63..2d0d82237 100644 --- a/src/main.c +++ b/src/main.c @@ -521,7 +521,7 @@ void setup_game_memory(void) { set_segment_base_addr(0xD, (void *) sp38); gNextFreeMemoryAddress += sp40; - D_8015F734 = gNextFreeMemoryAddress; + FreeMemoryResetAnchor = gNextFreeMemoryAddress; } /** diff --git a/src/main.h b/src/main.h index ea6178eee..e26ec7f9e 100644 --- a/src/main.h +++ b/src/main.h @@ -107,7 +107,7 @@ extern u64 gGfxSPTaskOutputBuffer[]; extern u32 gGfxSPTaskOutputBufferSize; extern u32 gNextFreeMemoryAddress; -extern s32 D_8015F734; +extern s32 FreeMemoryResetAnchor; extern u8 _data_segment2SegmentRomStart[]; extern u8 _data_segment2SegmentRomEnd[]; extern u8 _common_texturesSegmentRomStart[]; diff --git a/src/podium_ceremony_actors.c b/src/podium_ceremony_actors.c index 26c411f07..c7e077a9f 100644 --- a/src/podium_ceremony_actors.c +++ b/src/podium_ceremony_actors.c @@ -287,8 +287,8 @@ void unused_80280FA8(UNUSED CeremonyActor *actor) { void balloons_and_fireworks_init(void) { sActorTimer = 0; - sPodiumActorList = (CeremonyActor *) get_next_available_memory_addr(0x3B60); - bzero(sPodiumActorList, 0x3B60); + sPodiumActorList = (CeremonyActor *) get_next_available_memory_addr(sizeof(CeremonyActor) * 200); + bzero(sPodiumActorList, (sizeof(CeremonyActor) * 200)); new_actor(&initDummy); }