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
+2 -2
View File
@@ -293,7 +293,7 @@ int daNpcTheB_c::CreateHeap() {
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 0x26);
JUT_ASSERT(383, NULL != mdlData_p);
mAnm_p = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 0x1B),
mAnm_p = JKR_NEW mDoExt_McaMorfSO(mdlData_p, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 0x1B),
2, 1.0f, 0, -1, &mSound, J3DMdlFlag_DifferedDLBuffer, 0x11020284);
if (mAnm_p != NULL && mAnm_p->getModel() == NULL) {
mAnm_p->stopZelAnime();
@@ -311,7 +311,7 @@ int daNpcTheB_c::CreateHeap() {
mdlData_p->getJointNodePointer(JNT_MOUTH)->setCallBack(ctrlJointCallBack);
mAnm_p->getModel()->setUserArea((uintptr_t)this);
mpMatAnm = new daNpcF_MatAnm_c();
mpMatAnm = JKR_NEW daNpcF_MatAnm_c();
if (mpMatAnm == NULL) {
return 0;
}