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
@@ -2975,7 +2975,7 @@ int daCow_c::CreateHeap() {
JUT_ASSERT(3826, NULL != modelData);
int r24 = 0x11020084;
mpMorf =
new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, r24);
JKR_NEW mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, r24);
if (!mpMorf || !mpMorf->getModel()) {
return cPhs_INIT_e;
@@ -2990,7 +2990,7 @@ int daCow_c::CreateHeap() {
}
setBck(daCow_c::Animation_WaitA, J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f);
mpBtp = new mDoExt_btpAnm();
mpBtp = JKR_NEW mDoExt_btpAnm();
if (mpBtp == NULL) {
return cPhs_ERROR_e;