You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
Fixed memory leak between areas from automatic surface pool size (#452)
* fixed mem leak * Add comment to second pop
This commit is contained in:
@@ -360,6 +360,8 @@ static void level_cmd_clear_level(void) {
|
||||
clear_area_graph_nodes();
|
||||
clear_areas();
|
||||
main_pool_pop_state();
|
||||
// the game does a push on level load and a pop on level unload, we need to add another push to store state after the level has been loaded, so one more pop is needed
|
||||
main_pool_pop_state();
|
||||
unmap_tlbs();
|
||||
|
||||
sCurrentCmd = CMD_NEXT;
|
||||
@@ -386,6 +388,7 @@ static void level_cmd_free_level_pool(void) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
main_pool_push_state();
|
||||
|
||||
sCurrentCmd = CMD_NEXT;
|
||||
}
|
||||
|
||||
@@ -232,6 +232,8 @@ void load_area(s32 index) {
|
||||
if (gCurrentArea == NULL && gAreaData[index].graphNode != NULL) {
|
||||
gCurrentArea = &gAreaData[index];
|
||||
gCurrAreaIndex = gCurrentArea->index;
|
||||
main_pool_pop_state();
|
||||
main_pool_push_state();
|
||||
|
||||
if (gCurrentArea->terrainData != NULL) {
|
||||
load_area_terrain(index, gCurrentArea->terrainData, gCurrentArea->surfaceRooms,
|
||||
|
||||
Reference in New Issue
Block a user