Isolate JKRHeap operator overloads

Fixes #25

This isolates the JKRHeap operator new/delete overloads. Every single new/delete site in the code has been replaced with a macro.

Sadly for new[] and delete[] we have to keep global operators. The global new[] just allocates into malloc() however, and delete[] goes into free() if it's not in a JKRHeap. So that's fine.
This commit is contained in:
PJB3005
2026-02-27 23:11:59 +01:00
parent 2204ad0813
commit 038ef4216f
634 changed files with 3451 additions and 3350 deletions
+44 -44
View File
@@ -1026,7 +1026,7 @@ void dMw_c::insect_close_proc() {
void dMw_c::dMw_capture_create() {
if (!dComIfGp_isPauseFlag() && mpCapture == NULL) {
mpCapture = new dDlst_MENU_CAPTURE_c();
mpCapture = JKR_NEW dDlst_MENU_CAPTURE_c();
JUT_ASSERT(1996, mpCapture != NULL);
mpCapture->setCaptureFlag();
}
@@ -1035,7 +1035,7 @@ void dMw_c::dMw_capture_create() {
void dMw_c::dMw_capture_delete() {
if (dComIfGp_isPauseFlag()) {
if (mpCapture != NULL) {
delete mpCapture;
JKR_DELETE(mpCapture);
mpCapture = NULL;
}
dComIfGp_offPauseFlag();
@@ -1047,12 +1047,12 @@ void dMw_c::dMw_ring_create(u8 i_origin) {
markMemSize();
dComIfGp_setHeapLockFlag(1);
mpMenuRing = new dMenu_Ring_c(mpHeap, mpStick, mpCStick, i_origin);
mpMenuRing = JKR_NEW dMenu_Ring_c(mpHeap, mpStick, mpCStick, i_origin);
JUT_ASSERT(2038, mpMenuRing != NULL);
mpMenuRing->_create();
if (mpCapture == NULL) {
mpCapture = new dDlst_MENU_CAPTURE_c();
mpCapture = JKR_NEW dDlst_MENU_CAPTURE_c();
JUT_ASSERT(2043, mpCapture != NULL);
}
@@ -1062,12 +1062,12 @@ void dMw_c::dMw_ring_create(u8 i_origin) {
bool dMw_c::dMw_ring_delete() {
if (mpMenuRing != NULL) {
mpMenuRing->_delete();
delete mpMenuRing;
JKR_DELETE(mpMenuRing);
mpMenuRing = NULL;
}
if (mpCapture != NULL) {
delete mpCapture;
JKR_DELETE(mpCapture);
mpCapture = NULL;
}
@@ -1078,7 +1078,7 @@ bool dMw_c::dMw_ring_delete() {
void dMw_c::dMw_collect_create() {
markMemSize();
mpMenuCollect = new dMenu_Collect_c(mpHeap, mpStick, mpCStick);
mpMenuCollect = JKR_NEW dMenu_Collect_c(mpHeap, mpStick, mpCStick);
JUT_ASSERT(2093, mpMenuCollect != NULL);
mpMenuCollect->_create();
@@ -1092,7 +1092,7 @@ void dMw_c::dMw_collect_create() {
bool dMw_c::dMw_collect_delete(bool) {
if (mpMenuCollect != NULL) {
mpMenuCollect->_delete();
delete mpMenuCollect;
JKR_DELETE(mpMenuCollect);
mpMenuCollect = NULL;
}
checkMemSize();
@@ -1118,12 +1118,12 @@ void dMw_c::dMw_fmap_create() {
tmp = 3;
}
mpMenuFmap = new dMenu_Fmap_c(mpHeap, mpStick, mpCStick, mFmapProcess, mFmapRegionCursor,
mpMenuFmap = JKR_NEW dMenu_Fmap_c(mpHeap, mpStick, mpCStick, mFmapProcess, mFmapRegionCursor,
mFmapStageCursor, mFmapStageTransX, mFmapStageTransZ, tmp);
JUT_ASSERT(2194, mpMenuFmap != NULL);
if (mpCapture == NULL) {
mpCapture = new dDlst_MENU_CAPTURE_c();
mpCapture = JKR_NEW dDlst_MENU_CAPTURE_c();
JUT_ASSERT(2200, mpCapture != NULL);
}
@@ -1144,12 +1144,12 @@ bool dMw_c::dMw_fmap_delete(bool param_0) {
mFmapStageTransZ = mpMenuFmap->getStageTransZ();
mpMenuFmap->_delete();
delete mpMenuFmap;
JKR_DELETE(mpMenuFmap);
mpMenuFmap = NULL;
}
if (mpCapture != NULL) {
delete mpCapture;
JKR_DELETE(mpCapture);
mpCapture = NULL;
}
@@ -1162,7 +1162,7 @@ void dMw_c::dMw_dmap_create() {
dComIfGp_setHeapLockFlag(3);
if (mpCapture == NULL) {
mpCapture = new dDlst_MENU_CAPTURE_c();
mpCapture = JKR_NEW dDlst_MENU_CAPTURE_c();
JUT_ASSERT(2294, mpCapture != NULL);
}
@@ -1179,7 +1179,7 @@ void dMw_c::dMw_dmap_create() {
tmp = 0;
}
mpMenuDmap = new dMenu_Dmap_c(mpHeap, mpStick, mpCStick, field_0x14C, tmp);
mpMenuDmap = JKR_NEW dMenu_Dmap_c(mpHeap, mpStick, mpCStick, field_0x14C, tmp);
JUT_ASSERT(2314, mpMenuDmap != NULL);
dMeter2Info_resetWarpStatus();
@@ -1193,12 +1193,12 @@ bool dMw_c::dMw_dmap_delete(bool param_0) {
field_0x14C = mpMenuDmap->getZoomState();
delete mpMenuDmap;
JKR_DELETE(mpMenuDmap);
mpMenuDmap = NULL;
}
if (mpCapture != NULL) {
delete mpCapture;
JKR_DELETE(mpCapture);
mpCapture = NULL;
}
@@ -1209,7 +1209,7 @@ bool dMw_c::dMw_dmap_delete(bool param_0) {
void dMw_c::dMw_save_create() {
markMemSize();
mpMenuSave = new dMenu_save_c();
mpMenuSave = JKR_NEW dMenu_save_c();
JUT_ASSERT(2365, mpMenuSave != NULL);
mpMenuSave->setUseType(1);
@@ -1217,7 +1217,7 @@ void dMw_c::dMw_save_create() {
mpMenuSave->initialize();
if (mpCapture == NULL) {
mpCapture = new dDlst_MENU_CAPTURE_c();
mpCapture = JKR_NEW dDlst_MENU_CAPTURE_c();
JUT_ASSERT(2373, mpCapture != NULL);
}
}
@@ -1225,12 +1225,12 @@ void dMw_c::dMw_save_create() {
bool dMw_c::dMw_save_delete() {
if (mpMenuSave != NULL) {
mpMenuSave->_delete();
delete mpMenuSave;
JKR_DELETE(mpMenuSave);
mpMenuSave = NULL;
}
if (mpCapture != NULL) {
delete mpCapture;
JKR_DELETE(mpCapture);
mpCapture = NULL;
}
@@ -1241,11 +1241,11 @@ bool dMw_c::dMw_save_delete() {
void dMw_c::dMw_option_create() {
markMemSize();
mpMenuOption = new dMenu_Option_c(dComIfGp_getCollectResArchive(), mpStick);
mpMenuOption = JKR_NEW dMenu_Option_c(dComIfGp_getCollectResArchive(), mpStick);
JUT_ASSERT(2415, mpMenuOption != NULL);
if (mpCapture == NULL) {
mpCapture = new dDlst_MENU_CAPTURE_c();
mpCapture = JKR_NEW dDlst_MENU_CAPTURE_c();
JUT_ASSERT(2420, mpCapture != NULL);
}
}
@@ -1256,12 +1256,12 @@ bool dMw_c::dMw_option_delete() {
return false;
}
mpMenuOption->_delete();
delete mpMenuOption;
JKR_DELETE(mpMenuOption);
mpMenuOption = NULL;
}
if (mpCapture != NULL) {
delete mpCapture;
JKR_DELETE(mpCapture);
mpCapture = NULL;
}
@@ -1272,11 +1272,11 @@ bool dMw_c::dMw_option_delete() {
void dMw_c::dMw_letter_create() {
markMemSize();
mpMenuLetter = new dMenu_Letter_c(mpHeap, mpStick, mpCStick);
mpMenuLetter = JKR_NEW dMenu_Letter_c(mpHeap, mpStick, mpCStick);
JUT_ASSERT(2463, mpMenuLetter != NULL);
if (mpCapture == NULL) {
mpCapture = new dDlst_MENU_CAPTURE_c();
mpCapture = JKR_NEW dDlst_MENU_CAPTURE_c();
JUT_ASSERT(2467, mpCapture != NULL);
}
}
@@ -1286,12 +1286,12 @@ bool dMw_c::dMw_letter_delete() {
if (!mpMenuLetter->isSync()) {
return false;
}
delete mpMenuLetter;
JKR_DELETE(mpMenuLetter);
mpMenuLetter = NULL;
}
if (mpCapture != NULL) {
delete mpCapture;
JKR_DELETE(mpCapture);
mpCapture = NULL;
}
@@ -1302,11 +1302,11 @@ bool dMw_c::dMw_letter_delete() {
void dMw_c::dMw_fishing_create() {
markMemSize();
mpMenuFishing = new dMenu_Fishing_c(mpHeap, mpStick, mpCStick);
mpMenuFishing = JKR_NEW dMenu_Fishing_c(mpHeap, mpStick, mpCStick);
JUT_ASSERT(2509, mpMenuFishing != NULL);
if (mpCapture == NULL) {
mpCapture = new dDlst_MENU_CAPTURE_c();
mpCapture = JKR_NEW dDlst_MENU_CAPTURE_c();
JUT_ASSERT(2513, mpCapture != NULL);
}
}
@@ -1316,12 +1316,12 @@ bool dMw_c::dMw_fishing_delete() {
if (!mpMenuFishing->isSync()) {
return false;
}
delete mpMenuFishing;
JKR_DELETE(mpMenuFishing);
mpMenuFishing = NULL;
}
if (mpCapture != NULL) {
delete mpCapture;
JKR_DELETE(mpCapture);
mpCapture = NULL;
}
@@ -1332,11 +1332,11 @@ bool dMw_c::dMw_fishing_delete() {
void dMw_c::dMw_skill_create() {
markMemSize();
mpMenuSkill = new dMenu_Skill_c(mpHeap, mpStick, mpCStick);
mpMenuSkill = JKR_NEW dMenu_Skill_c(mpHeap, mpStick, mpCStick);
JUT_ASSERT(2555, mpMenuSkill != NULL);
if (mpCapture == NULL) {
mpCapture = new dDlst_MENU_CAPTURE_c();
mpCapture = JKR_NEW dDlst_MENU_CAPTURE_c();
JUT_ASSERT(2559, mpCapture != NULL);
}
}
@@ -1346,12 +1346,12 @@ bool dMw_c::dMw_skill_delete() {
if (!mpMenuSkill->isSync()) {
return false;
}
delete mpMenuSkill;
JKR_DELETE(mpMenuSkill);
mpMenuSkill = NULL;
}
if (mpCapture != NULL) {
delete mpCapture;
JKR_DELETE(mpCapture);
mpCapture = NULL;
}
@@ -1362,11 +1362,11 @@ bool dMw_c::dMw_skill_delete() {
void dMw_c::dMw_insect_create(u8 param_0) {
markMemSize();
mpMenuInsect = new dMenu_Insect_c(mpHeap, mpStick, mpCStick, param_0);
mpMenuInsect = JKR_NEW dMenu_Insect_c(mpHeap, mpStick, mpCStick, param_0);
JUT_ASSERT(2601, mpMenuInsect != NULL);
if (mpCapture == NULL) {
mpCapture = new dDlst_MENU_CAPTURE_c();
mpCapture = JKR_NEW dDlst_MENU_CAPTURE_c();
JUT_ASSERT(2605, mpCapture != NULL);
}
}
@@ -1376,12 +1376,12 @@ bool dMw_c::dMw_insect_delete() {
if (!mpMenuInsect->isSync()) {
return false;
}
delete mpMenuInsect;
JKR_DELETE(mpMenuInsect);
mpMenuInsect = NULL;
}
if (mpCapture != NULL) {
delete mpCapture;
JKR_DELETE(mpCapture);
mpCapture = NULL;
}
@@ -1502,11 +1502,11 @@ void dMw_c::checkMemSize() {
int dMw_c::_create() {
mpHeap = dComIfGp_getExpHeap2D();
mpStick = new STControl(5, 2, 1, 1, 0.9f, 0.5f, 0, 0x800);
mpStick = JKR_NEW STControl(5, 2, 1, 1, 0.9f, 0.5f, 0, 0x800);
JUT_ASSERT(2967, mpStick != NULL);
mpStick->setFirstWaitTime(8);
mpCStick = new CSTControl(5, 2, 3, 2, 0.9f, 0.5f, 0, 0x2000);
mpCStick = JKR_NEW CSTControl(5, 2, 3, 2, 0.9f, 0.5f, 0, 0x2000);
JUT_ASSERT(2976, mpCStick != NULL);
mpCStick->setWaitParm(5, 2, 3, 2, 0.9f, 0.5f, 0, 0x2000);
@@ -1644,10 +1644,10 @@ int dMw_c::_draw() {
int dMw_c::_delete() {
JKRHeap* heap = mDoExt_getCurrentHeap();
delete mpStick;
JKR_DELETE(mpStick);
mpStick = NULL;
delete mpCStick;
JKR_DELETE(mpCStick);
mpCStick = NULL;
mDoExt_setCurrentHeap(mpHeap);