papermario/src/code_6000.c
2020-09-13 19:03:22 -04:00

73 lines
1.4 KiB
C

#include "common.h"
extern s32 D_80268000;
extern s32 D_802FB800;
extern s32 D_803DA800;
HeapNode* general_heap_create(void) {
return _heap_create(&D_802FB800, 0x54000);
}
s32 general_heap_malloc(s32 size) {
return _heap_malloc(&D_802FB800, size);
}
s32 general_heap_malloc_tail(s32 size) {
return _heap_malloc_tail(&D_802FB800, size);
}
s32 general_heap_free(s32 size) {
return _heap_free(&D_802FB800, size);
}
s32 battle_heap_create(void) {
if ((s32)_heap_create(&D_803DA800, 0x25800) == -1) {
return -1;
} else {
return 0;
}
}
s32 func_8002ACDC(void) {
return 0;
}
s32 heap_malloc(s32 size) {
if (GAME_STATUS->isBattle == 0) {
return general_heap_malloc(size);
} else {
return _heap_malloc(&D_803DA800, size);
}
}
s32 heap_free(s32 size) {
if (GAME_STATUS->isBattle != 0) {
return _heap_free(&D_803DA800, size);
} else {
return general_heap_free(size);
}
}
s32 collision_heap_create(void) {
if ((s32)_heap_create(&D_80268000, 0x18000) == -1) {
return -1;
}
return 0;
}
s32 collision_heap_malloc(s32 size) {
if (!GAME_STATUS->isBattle) {
return _heap_malloc(&D_80268000, size);
} else {
return _heap_malloc(&D_803DA800, size);
}
}
s32 collision_heap_free(void* data) {
if (GAME_STATUS->isBattle) {
return _heap_free(&D_803DA800, data);
} else {
return _heap_free(&D_80268000, data);
}
}