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
@@ -3659,7 +3659,7 @@ static int useHeapInit2(fopAc_ac_c* i_actor) {
if (i_this->mpModel[0] == NULL) {
return 0;
}
i_this->mpBtpAnm = new mDoExt_btpAnm();
i_this->mpBtpAnm = JKR_NEW mDoExt_btpAnm();
if (i_this->mpBtpAnm == 0) {
return 0;
}
@@ -3723,7 +3723,7 @@ static int useHeapImg_fisht(fopAc_ac_c* i_actor) {
} else {
i_this->mAnmTransform = 0;
}
i_this->mpMorf = new mDoExt_McaMorf(
i_this->mpMorf = JKR_NEW mDoExt_McaMorf(
(J3DModelData*)dComIfG_getObjectRes(i_this->mResName, fish_bmd[i_this->mGedouKind]),
NULL, NULL, i_this->mAnmTransform, 0, 1.0f, 0, -1, 1, NULL,
0x80000, 0x11000084);
@@ -3742,7 +3742,7 @@ static int useHeapImg_fisht(fopAc_ac_c* i_actor) {
}
if (i_this->mKind2 == 4) {
i_this->mpBrkAnm = new mDoExt_brkAnm();
i_this->mpBrkAnm = JKR_NEW mDoExt_brkAnm();
if (i_this->mpBrkAnm == NULL) {
return 0;
}