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 f59295c127
commit 0ee3b2b197
634 changed files with 3451 additions and 3350 deletions
+4 -4
View File
@@ -55,7 +55,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
int daObjDAN_c::CreateHeap() {
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("I_Dan", 11);
mpMorf = new mDoExt_McaMorfSO(model_data, NULL, NULL,
mpMorf = JKR_NEW mDoExt_McaMorfSO(model_data, NULL, NULL,
static_cast<J3DAnmTransform*>(dComIfG_getObjectRes("I_Dan", 8)),
J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1,
&mCreatureSound, 0, 0x11000284);
@@ -64,7 +64,7 @@ int daObjDAN_c::CreateHeap() {
}
J3DModel* model = mpMorf->getModel();
mpBrkAnm = new mDoExt_brkAnm();
mpBrkAnm = JKR_NEW mDoExt_brkAnm();
if (mpBrkAnm == NULL) {
return 0;
}
@@ -82,7 +82,7 @@ int daObjDAN_c::CreateHeap() {
}
}
mpBtkAnm = new mDoExt_btkAnm();
mpBtkAnm = JKR_NEW mDoExt_btkAnm();
if (mpBtkAnm == NULL) {
return 0;
}
@@ -94,7 +94,7 @@ int daObjDAN_c::CreateHeap() {
return 0;
}
} else {
mpBtkAnm = new mDoExt_btkAnm();
mpBtkAnm = JKR_NEW mDoExt_btkAnm();
J3DAnmTextureSRTKey* tex_anm =
static_cast<J3DAnmTextureSRTKey*>(dComIfG_getObjectRes("I_Dan", 19));
if (!mpBtkAnm->init(model->getModelData(), tex_anm, TRUE,