mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-12 03:17:39 -04:00
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:
@@ -55,7 +55,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
|
||||
|
||||
int daObjDAN_c::CreateHeap() {
|
||||
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("I_Dan", 11);
|
||||
mpMorf = new mDoExt_McaMorfSO(model_data, NULL, NULL,
|
||||
mpMorf = JKR_NEW mDoExt_McaMorfSO(model_data, NULL, NULL,
|
||||
static_cast<J3DAnmTransform*>(dComIfG_getObjectRes("I_Dan", 8)),
|
||||
J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1,
|
||||
&mCreatureSound, 0, 0x11000284);
|
||||
@@ -64,7 +64,7 @@ int daObjDAN_c::CreateHeap() {
|
||||
}
|
||||
J3DModel* model = mpMorf->getModel();
|
||||
|
||||
mpBrkAnm = new mDoExt_brkAnm();
|
||||
mpBrkAnm = JKR_NEW mDoExt_brkAnm();
|
||||
if (mpBrkAnm == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -82,7 +82,7 @@ int daObjDAN_c::CreateHeap() {
|
||||
}
|
||||
}
|
||||
|
||||
mpBtkAnm = new mDoExt_btkAnm();
|
||||
mpBtkAnm = JKR_NEW mDoExt_btkAnm();
|
||||
if (mpBtkAnm == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -94,7 +94,7 @@ int daObjDAN_c::CreateHeap() {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
mpBtkAnm = new mDoExt_btkAnm();
|
||||
mpBtkAnm = JKR_NEW mDoExt_btkAnm();
|
||||
J3DAnmTextureSRTKey* tex_anm =
|
||||
static_cast<J3DAnmTextureSRTKey*>(dComIfG_getObjectRes("I_Dan", 19));
|
||||
if (!mpBtkAnm->init(model->getModelData(), tex_anm, TRUE,
|
||||
|
||||
Reference in New Issue
Block a user