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
@@ -404,7 +404,7 @@ int daNpc_Kkri_c::CreateHeap() {
}
u32 diff_flags = J3D_DIFF_FLAG(FALSE, FALSE, TRUE, 8, 2, FALSE, 2, 0, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE);
mpMorf[0] = new mDoExt_McaMorfSO((J3DModelData*)mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, J3DMdlFlag_DifferedDLBuffer, diff_flags);
mpMorf[0] = JKR_NEW mDoExt_McaMorfSO((J3DModelData*)mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, J3DMdlFlag_DifferedDLBuffer, diff_flags);
if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) {
return 0;
}
@@ -416,7 +416,7 @@ int daNpc_Kkri_c::CreateHeap() {
mdl_p->setUserArea((uintptr_t)this);
mpMatAnm[0] = new daNpcT_MatAnm_c();
mpMatAnm[0] = JKR_NEW daNpcT_MatAnm_c();
if (mpMatAnm[0] == NULL) {
return 0;
}