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
+34 -34
View File
@@ -47,14 +47,14 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool i_isUs
mKeyWaitTimer = 0;
field_0x67 = param_3;
mpString_c = new dMsgString_c();
mpString_c = JKR_NEW dMsgString_c();
JUT_ASSERT(79, mpString_c != NULL);
mpOutFont = new COutFont_c(0);
mpOutFont = JKR_NEW COutFont_c(0);
JUT_ASSERT(83, mpOutFont != NULL);
mpOutFont->createPane();
mpScreen = new J2DScreen();
mpScreen = JKR_NEW J2DScreen();
JUT_ASSERT(88, mpScreen != NULL);
#if PLATFORM_GCN
@@ -67,7 +67,7 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool i_isUs
JUT_ASSERT(98, fg != false);
dPaneClass_showNullPane(mpScreen);
mpTxScreen = new J2DScreen();
mpTxScreen = JKR_NEW J2DScreen();
JUT_ASSERT(102, mpTxScreen != NULL);
field_0x48 = 608.0f;
@@ -81,8 +81,8 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool i_isUs
JUT_ASSERT(119, fg != false);
dPaneClass_showNullPane(mpTxScreen);
mpTm_c[0] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3line'), 0, NULL);
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3_s', 0, NULL);
mpTm_c[0] = JKR_NEW CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3line'), 0, NULL);
mpTm_c[1] = JKR_NEW CPaneMgr(mpTxScreen, 't3_s', 0, NULL);
JUT_ASSERT(127, mpTm_c[1] != NULL);
mpTmr_c[0] = NULL;
@@ -110,18 +110,18 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool i_isUs
field_0x50 = 0.0f;
if (dComIfGs_getOptRuby() == 0) {
mpTm_c[0] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3flin'), 0, NULL);
mpTm_c[1] = new CPaneMgr(mpTxScreen, MULTI_CHAR('t3f_s'), 0, NULL);
mpTm_c[0] = JKR_NEW CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3flin'), 0, NULL);
mpTm_c[1] = JKR_NEW CPaneMgr(mpTxScreen, MULTI_CHAR('t3f_s'), 0, NULL);
field_0x10[0] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3f'), 0, NULL);
field_0x10[1] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3f_s'), 0, NULL);
field_0x10[0] = JKR_NEW CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3f'), 0, NULL);
field_0x10[1] = JKR_NEW CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3f_s'), 0, NULL);
mpTxScreen->search(MULTI_CHAR('n_3line'))->hide();
mpTxScreen->search(MULTI_CHAR('n_3fline'))->show();
mpTxScreen->search(MULTI_CHAR('n_e4line'))->hide();
} else {
mpTm_c[0] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3line'), 0, NULL);
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't3_s', 0, NULL);
mpTm_c[0] = JKR_NEW CPaneMgr(mpTxScreen, MULTI_CHAR('mg_3line'), 0, NULL);
mpTm_c[1] = JKR_NEW CPaneMgr(mpTxScreen, 't3_s', 0, NULL);
mpTmr_c[0] = NULL;
mpTmr_c[1] = NULL;
@@ -133,8 +133,8 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool i_isUs
#else
field_0x50 = -10.0f;
mpTm_c[0] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_e4lin'), 0, NULL);
mpTm_c[1] = new CPaneMgr(mpTxScreen, 't4_s', 0, NULL);
mpTm_c[0] = JKR_NEW CPaneMgr(mpTxScreen, MULTI_CHAR('mg_e4lin'), 0, NULL);
mpTm_c[1] = JKR_NEW CPaneMgr(mpTxScreen, 't4_s', 0, NULL);
JUT_ASSERT(165, mpTm_c[1] != NULL);
mpTmr_c[0] = NULL;
@@ -177,18 +177,18 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool i_isUs
g_MsgObject_HIO_c.mTextPosX + mpScreen->search(MULTI_CHAR('mg_null'))->getBounds().i.x,
g_MsgObject_HIO_c.mTextPosY + mpScreen->search(MULTI_CHAR('mg_null'))->getBounds().i.y);
mpArw_c = new CPaneMgr(mpScreen, MULTI_CHAR('set_ya_n'), 0, NULL);
mpMg_c[0] = new CPaneMgr(mpScreen, MULTI_CHAR('mg_null'), 0, NULL);
mpMg_c[1] = new CPaneMgr(mpTxScreen, MULTI_CHAR('mg_null'), 0, NULL);
mpRoot_c[0] = new CPaneMgr(mpScreen, 'ROOT', 2, NULL);
mpArw_c = JKR_NEW CPaneMgr(mpScreen, MULTI_CHAR('set_ya_n'), 0, NULL);
mpMg_c[0] = JKR_NEW CPaneMgr(mpScreen, MULTI_CHAR('mg_null'), 0, NULL);
mpMg_c[1] = JKR_NEW CPaneMgr(mpTxScreen, MULTI_CHAR('mg_null'), 0, NULL);
mpRoot_c[0] = JKR_NEW CPaneMgr(mpScreen, 'ROOT', 2, NULL);
JUT_ASSERT(250, mpRoot_c[0] != NULL);
mpRoot_c[1] = new CPaneMgr(mpTxScreen, 'ROOT', 2, NULL);
mpRoot_c[1] = JKR_NEW CPaneMgr(mpTxScreen, 'ROOT', 2, NULL);
JUT_ASSERT(253, mpRoot_c[1] != NULL);
if (i_isUseBackTex == true) {
ResTIMG* texResource = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "tt_block8x8.bti");
mpBackTex = new J2DPicture(texResource);
mpBackTex = JKR_NEW J2DPicture(texResource);
JUT_ASSERT(259, mpBackTex != NULL);
mpBackTex->setBlackWhite(JUtility::TColor(0, 0, 0, 0),
JUtility::TColor(0, 0, 0, 0xff));
@@ -197,11 +197,11 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool i_isUs
mpBackTex = NULL;
}
mpArrow_c = new dMsgScrnArrow_c();
mpArrow_c = JKR_NEW dMsgScrnArrow_c();
JUT_ASSERT(269, mpArrow_c != NULL);
if (i_stick != NULL) {
mpSelect_c = new dMsgScrn3Select_c();
mpSelect_c = JKR_NEW dMsgScrn3Select_c();
JUT_ASSERT(274, mpSelect_c != NULL);
} else {
mpSelect_c = NULL;
@@ -215,49 +215,49 @@ dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* i_stick, u8 param_1, bool i_isUs
}
dMsgScrnExplain_c::~dMsgScrnExplain_c() {
delete mpString_c;
JKR_DELETE(mpString_c);
mpString_c = NULL;
delete mpOutFont;
JKR_DELETE(mpOutFont);
mpOutFont = NULL;
delete mpScreen;
JKR_DELETE(mpScreen);
mpScreen = NULL;
delete mpTxScreen;
JKR_DELETE(mpTxScreen);
mpTxScreen = NULL;
delete mpArw_c;
JKR_DELETE(mpArw_c);
mpArw_c = NULL;
for (int i = 0; i < 2; i++) {
delete mpTm_c[i];
JKR_DELETE(mpTm_c[i]);
mpTm_c[i] = NULL;
if (mpTmr_c[i] != NULL) {
delete mpTmr_c[i];
JKR_DELETE(mpTmr_c[i]);
mpTmr_c[i] = NULL;
}
delete mpMg_c[i];
JKR_DELETE(mpMg_c[i]);
mpMg_c[i] = NULL;
delete mpRoot_c[i];
JKR_DELETE(mpRoot_c[i]);
mpRoot_c[i] = NULL;
}
if (mpBackTex != NULL) {
delete mpBackTex;
JKR_DELETE(mpBackTex);
mpBackTex = NULL;
}
if (mpArrow_c != NULL) {
delete mpArrow_c;
JKR_DELETE(mpArrow_c);
mpArrow_c = NULL;
}
if (mpSelect_c) {
delete mpSelect_c;
JKR_DELETE(mpSelect_c);
mpSelect_c = NULL;
}