mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-11 13:08:33 -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:
+28
-28
@@ -210,7 +210,7 @@ int mDoExt_bckAnm::init(J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_ra
|
||||
JUT_ASSERT(614, (i_modify || isCurrentSolidHeap()) && i_bck != NULL);
|
||||
mAnmTransform = i_bck;
|
||||
if (!i_modify) {
|
||||
mAnm = new J3DMtxCalcAnimation<J3DMtxCalcAnimationAdaptorDefault<J3DMtxCalcCalcTransformMaya>, J3DMtxCalcJ3DSysInitMaya>(mAnmTransform);
|
||||
mAnm = JKR_NEW J3DMtxCalcAnimation<J3DMtxCalcAnimationAdaptorDefault<J3DMtxCalcCalcTransformMaya>, J3DMtxCalcJ3DSysInitMaya>(mAnmTransform);
|
||||
if (!mAnm) {
|
||||
return 0;
|
||||
}
|
||||
@@ -422,8 +422,8 @@ static void dummy2() {
|
||||
J3DTevSwapModeTable tevSwapModeTable;
|
||||
J3DIndTexOrder indTexOrder;
|
||||
|
||||
J3DIndTexMtx* indTexMtx = new J3DIndTexMtx();
|
||||
J3DIndTexCoordScale* indTexCoordScale = new J3DIndTexCoordScale();
|
||||
J3DIndTexMtx* indTexMtx = JKR_NEW J3DIndTexMtx();
|
||||
J3DIndTexCoordScale* indTexCoordScale = JKR_NEW J3DIndTexCoordScale();
|
||||
J3DColorBlock* colorBlock = NULL;
|
||||
colorBlock->setColorChanNum((u8)NULL);
|
||||
colorBlock->setMatColor(0, gxColor);
|
||||
@@ -503,7 +503,7 @@ static void dummy2() {
|
||||
int mDoExt_invisibleModel::create(J3DModel* i_model, u8 param_1) {
|
||||
J3DModelData* model_data = i_model->getModelData();
|
||||
|
||||
mpPackets = new mDoExt_invJntPacket[model_data->getJointNum()];
|
||||
mpPackets = JKR_NEW mDoExt_invJntPacket[model_data->getJointNum()];
|
||||
if (mpPackets == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -1311,18 +1311,18 @@ int mDoExt_McaMorf::create(J3DModelData* modelData, mDoExt_McaMorfCallBack1_c* c
|
||||
}
|
||||
}
|
||||
if (param_8) {
|
||||
mpSound = new mDoExt_zelAnime();
|
||||
mpSound = JKR_NEW mDoExt_zelAnime();
|
||||
if (!mpSound) {
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
setAnm(anmTransform, param_4, 0.0f, param_5, param_6, param_7, param_9);
|
||||
mPrevMorf = -1.0f;
|
||||
mpTransformInfo = new J3DTransformInfo[modelData->getJointNum()];
|
||||
mpTransformInfo = JKR_NEW J3DTransformInfo[modelData->getJointNum()];
|
||||
if (!mpTransformInfo) {
|
||||
goto cleanup;
|
||||
}
|
||||
mpQuat = new Quaternion[modelData->getJointNum()];
|
||||
mpQuat = JKR_NEW Quaternion[modelData->getJointNum()];
|
||||
if (mpQuat) {
|
||||
J3DTransformInfo* info = mpTransformInfo;
|
||||
Quaternion* quat = mpQuat;
|
||||
@@ -1569,9 +1569,9 @@ int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_
|
||||
setAnm(param_3, param_4, 0.0f, param_5, param_6, param_7);
|
||||
mPrevMorf = -1.0f;
|
||||
|
||||
mpTransformInfo = new J3DTransformInfo[i_modelData->getJointNum()];
|
||||
mpTransformInfo = JKR_NEW J3DTransformInfo[i_modelData->getJointNum()];
|
||||
if (mpTransformInfo != NULL) {
|
||||
mpQuat = new Quaternion[i_modelData->getJointNum()];
|
||||
mpQuat = JKR_NEW Quaternion[i_modelData->getJointNum()];
|
||||
|
||||
if (mpQuat != NULL) {
|
||||
J3DTransformInfo* transInfo_p = mpTransformInfo;
|
||||
@@ -1853,13 +1853,13 @@ mDoExt_McaMorf2::~mDoExt_McaMorf2() {
|
||||
setAnm(param_3, param_4, 0.0f, param_5, 0.0f, param_6, param_7, param_8);
|
||||
mPrevMorf = -1.0f;
|
||||
|
||||
mpTransformInfo = new J3DTransformInfo[param_0->getJointNum()];
|
||||
mpTransformInfo = JKR_NEW J3DTransformInfo[param_0->getJointNum()];
|
||||
if (mpTransformInfo == NULL) {
|
||||
ERROR_EXIT();
|
||||
return 0;
|
||||
}
|
||||
|
||||
mpQuat = new Quaternion[param_0->getJointNum()];
|
||||
mpQuat = JKR_NEW Quaternion[param_0->getJointNum()];
|
||||
if (mpQuat == NULL) {
|
||||
ERROR_EXIT();
|
||||
return 0;
|
||||
@@ -2248,13 +2248,13 @@ void mDoExt_invJntPacket::draw() {
|
||||
}
|
||||
|
||||
int mDoExt_3Dline_c::init(u16 param_0, int param_1, BOOL param_2) {
|
||||
field_0x0 = new cXyz[param_0];
|
||||
field_0x0 = JKR_NEW cXyz[param_0];
|
||||
if (field_0x0 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (param_1 != 0) {
|
||||
field_0x4 = new f32[param_0];
|
||||
field_0x4 = JKR_NEW f32[param_0];
|
||||
if (field_0x4 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -2264,33 +2264,33 @@ int mDoExt_3Dline_c::init(u16 param_0, int param_1, BOOL param_2) {
|
||||
|
||||
int sp20 = param_0 * 2;
|
||||
|
||||
field_0x8 = new cXyz[sp20];
|
||||
field_0x8 = JKR_NEW cXyz[sp20];
|
||||
if (field_0x8 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
field_0xc = new cXyz[sp20];
|
||||
field_0xc = JKR_NEW cXyz[sp20];
|
||||
if (field_0xc == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
field_0x10 = new mDoExt_3Dline_field_0x10_c[sp20];
|
||||
field_0x10 = JKR_NEW mDoExt_3Dline_field_0x10_c[sp20];
|
||||
if (field_0x10 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
field_0x14 = new mDoExt_3Dline_field_0x10_c[sp20];
|
||||
field_0x14 = JKR_NEW mDoExt_3Dline_field_0x10_c[sp20];
|
||||
if (field_0x14 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (param_2) {
|
||||
field_0x18 = new mDoExt_3Dline_field_0x18_c[sp20];
|
||||
field_0x18 = JKR_NEW mDoExt_3Dline_field_0x18_c[sp20];
|
||||
if (field_0x18 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
field_0x1c = new mDoExt_3Dline_field_0x18_c[sp20];
|
||||
field_0x1c = JKR_NEW mDoExt_3Dline_field_0x18_c[sp20];
|
||||
if (field_0x1c == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -2313,7 +2313,7 @@ int mDoExt_3DlineMat0_c::init(u16 param_0, u16 param_1, int param_2) {
|
||||
field_0x10 = param_0;
|
||||
field_0x12 = param_1;
|
||||
|
||||
field_0x18 = new mDoExt_3Dline_c[param_0];
|
||||
field_0x18 = JKR_NEW mDoExt_3Dline_c[param_0];
|
||||
if (field_0x18 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -2619,7 +2619,7 @@ void mDoExt_3DlineMat0_c::update(int param_0, GXColor& param_2, dKy_tevstr_c* pa
|
||||
int mDoExt_3DlineMat1_c::init(u16 param_0, u16 param_1, ResTIMG* param_2, int param_3) {
|
||||
mNumLines = param_0;
|
||||
field_0x32 = param_1;
|
||||
mpLines = new mDoExt_3Dline_c[param_0];
|
||||
mpLines = JKR_NEW mDoExt_3Dline_c[param_0];
|
||||
if (mpLines == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -3561,7 +3561,7 @@ static void mDoExt_initFontCommon(JUTFont** mDoExt_font_p, ResFONT** mDoExt_resf
|
||||
JUT_ASSERT_MSG(7144, *mDoExt_resfont != NULL, "mDoExt_resfont != 0");
|
||||
if (param_5 == 0) {
|
||||
u32 cacheSize = JUTCacheFont::calcCacheSize(param_7, param_6);
|
||||
JUTCacheFont* cacheFont = new (param_2, 0) JUTCacheFont(*mDoExt_resfont, cacheSize, param_2);
|
||||
JUTCacheFont* cacheFont = JKR_NEW_ARGS (param_2, 0) JUTCacheFont(*mDoExt_resfont, cacheSize, param_2);
|
||||
if (cacheFont->isValid()) {
|
||||
// "Allocated %d bytes for font cache buffer size"
|
||||
OS_REPORT("\nキャッシュフォントバッファサイズとして %d バイト確保しました\n", cacheSize);
|
||||
@@ -3577,7 +3577,7 @@ static void mDoExt_initFontCommon(JUTFont** mDoExt_font_p, ResFONT** mDoExt_resf
|
||||
JKRRemoveResource(*mDoExt_resfont, NULL);
|
||||
*mDoExt_resfont = NULL;
|
||||
} else {
|
||||
*mDoExt_font = new JUTResFont(*mDoExt_resfont, param_2);
|
||||
*mDoExt_font = JKR_NEW JUTResFont(*mDoExt_resfont, param_2);
|
||||
// "Allocated %d bytes for the font buffer size"
|
||||
OS_REPORT("\nフォントバッファサイズとして %d バイト確保しました\n",
|
||||
JKRGetMemBlockSize(param_2, *mDoExt_font));
|
||||
@@ -3587,7 +3587,7 @@ static void mDoExt_initFontCommon(JUTFont** mDoExt_font_p, ResFONT** mDoExt_resf
|
||||
if (*mDoExt_font != NULL && !(*mDoExt_font)->isValid()) {
|
||||
// "Failed to create cache font class"
|
||||
OSReport_FatalError("\nキャッシュフォントクラス作成に失敗しました\n");
|
||||
delete *mDoExt_font;
|
||||
JKR_DELETE(*mDoExt_font);
|
||||
*mDoExt_font = NULL;
|
||||
}
|
||||
JUT_ASSERT_MSG(7183, *mDoExt_font != NULL, "mDoExt_font != 0");
|
||||
@@ -3625,7 +3625,7 @@ void mDoExt_removeMesgFont() {
|
||||
mDoExt_font0_getCount--;
|
||||
JUT_ASSERT(7241, mDoExt_font0_getCount > 0);
|
||||
if (mDoExt_font0_getCount == 0) {
|
||||
delete mDoExt_font0;
|
||||
JKR_DELETE(mDoExt_font0);
|
||||
mDoExt_font0 = NULL;
|
||||
if (mDoExt_resfont0 != NULL) {
|
||||
#if REGION_JPN
|
||||
@@ -3691,7 +3691,7 @@ void mDoExt_removeSubFont() {
|
||||
mDoExt_font2_getCount--;
|
||||
JUT_ASSERT(7357, mDoExt_font2_getCount > 0);
|
||||
if (mDoExt_font2_getCount == 0) {
|
||||
delete mDoExt_font2;
|
||||
JKR_DELETE(mDoExt_font2);
|
||||
mDoExt_font2 = NULL;
|
||||
if (mDoExt_resfont2 != NULL) {
|
||||
JKRFree(mDoExt_resfont2);
|
||||
@@ -3703,7 +3703,7 @@ void mDoExt_removeSubFont() {
|
||||
|
||||
J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag, u32 i_differedDlistFlag) {
|
||||
if (i_modelData != NULL) {
|
||||
J3DModel* model = new J3DModel();
|
||||
J3DModel* model = JKR_NEW J3DModel();
|
||||
|
||||
if (model != NULL) {
|
||||
#if DEBUG
|
||||
@@ -3798,7 +3798,7 @@ void DummyCheckHeap::setHeap(JKRHeap* heap) {
|
||||
|
||||
int DummyCheckHeap_init() {
|
||||
JUT_ASSERT(7634, dch == NULL);
|
||||
dch = new((JKRHeap*)mDoExt_getZeldaHeap(), 0) DummyCheckHeap();
|
||||
dch = JKR_NEW_ARGS((JKRHeap*)mDoExt_getZeldaHeap(), 0) DummyCheckHeap();
|
||||
if (dch == NULL) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user