papermario/src/code_6000.c

63 lines
1.3 KiB
C
Raw Normal View History

2020-08-01 05:39:33 +02:00
#include "common.h"
extern s32 D_80268000;
extern s32 D_802FB800;
extern s32 D_803DA800;
2020-08-12 04:08:48 +02:00
// s32 _heap_free(s32 addr, s32 size);
2020-08-01 05:39:33 +02:00
s32 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 (_heap_create(&D_803DA800, 0x25800) == -1) {
2020-08-01 05:39:33 +02:00
return -1;
} else {
return 0;
}
}
2020-08-01 05:39:33 +02:00
s32 func_8002ACDC(void) {
return 0;
}
s32 heap_malloc(s32 size) {
if ((*gGameStatusPtr)->isBattle == 0) {
2020-08-01 05:39:33 +02:00
return general_heap_malloc(size);
} else {
return _heap_malloc(&D_803DA800, size);
}
}
s32 heap_free(s32 size) {
if ((*gGameStatusPtr)->isBattle != 0) {
2020-08-01 05:39:33 +02:00
return _heap_free(&D_803DA800, size);
} else {
return general_heap_free(size);
}
}
INCLUDE_ASM(code_6000, collision_heap_create);
INCLUDE_ASM(code_6000, collision_heap_malloc);
INCLUDE_ASM(code_6000, collision_heap_free);
/*s32 collision_heap_free(s32 size) {
s32 isBattle = (*gGameStatusPtr)->isBattle;
2020-08-12 04:08:48 +02:00
return _heap_free((isBattle == 0) ? (&D_80268000) : (&D_803DA800), size);
2020-08-12 04:08:48 +02:00
}*/