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
+3 -3
View File
@@ -1042,7 +1042,7 @@ static int daNpc_Tkj2_Delete(npc_tkj2_class* i_this) {
static int useHeapInit(fopAc_ac_c* a_this) {
npc_tkj2_class* i_this = (npc_tkj2_class*)a_this;
i_this->mpModelMorf = new mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes("Tkj2", BMDR_TKJ), NULL, NULL,
i_this->mpModelMorf = JKR_NEW mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes("Tkj2", BMDR_TKJ), NULL, NULL,
(J3DAnmTransform*)dComIfG_getObjectRes("Tkj2", BCK_TKJ_WAIT_A), 0, 1.0f, 0, -1, &i_this->mSound, 0x80000, 0x11020284);
if (i_this->mpModelMorf == NULL || i_this->mpModelMorf->getModel() == NULL) {
return 0;
@@ -1055,7 +1055,7 @@ static int useHeapInit(fopAc_ac_c* a_this) {
model->getModelData()->getJointNodePointer(i)->setCallBack(nodeCallBack);
}
i_this->mpBtkAnm = new mDoExt_btkAnm();
i_this->mpBtkAnm = JKR_NEW mDoExt_btkAnm();
if (i_this->mpBtkAnm == NULL) {
return 0;
}
@@ -1064,7 +1064,7 @@ static int useHeapInit(fopAc_ac_c* a_this) {
return 0;
}
i_this->mpBtpAnm = new mDoExt_btpAnm();
i_this->mpBtpAnm = JKR_NEW mDoExt_btpAnm();
if (i_this->mpBtpAnm == NULL) {
return 0;
}