mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-19 14:30:29 -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:
+18
-18
@@ -295,16 +295,16 @@ dMenu_Fmap_c::~dMenu_Fmap_c() {
|
||||
removeAreaData();
|
||||
|
||||
if (mpDraw2DBack != NULL) {
|
||||
delete mpDraw2DBack;
|
||||
JKR_DELETE(mpDraw2DBack);
|
||||
mpDraw2DBack = NULL;
|
||||
}
|
||||
if (mpDraw2DTop != NULL) {
|
||||
delete mpDraw2DTop;
|
||||
JKR_DELETE(mpDraw2DTop);
|
||||
mpDraw2DTop = NULL;
|
||||
}
|
||||
if (mpMenuFmapMap != NULL) {
|
||||
mpMenuFmapMap->_delete();
|
||||
delete mpMenuFmapMap;
|
||||
JKR_DELETE(mpMenuFmapMap);
|
||||
mpMenuFmapMap = NULL;
|
||||
}
|
||||
|
||||
@@ -337,12 +337,12 @@ dMenu_Fmap_c::~dMenu_Fmap_c() {
|
||||
|
||||
void dMenu_Fmap_c::_create() {
|
||||
mpHeap->getTotalFreeSize();
|
||||
mpDraw2DBack = new dMenu_Fmap2DBack_c();
|
||||
mpDraw2DBack = JKR_NEW dMenu_Fmap2DBack_c();
|
||||
JUT_ASSERT(594, mpDraw2DBack != NULL);
|
||||
mpDraw2DBack->setRegionCursor(dComIfGp_getNowLevel() - 1);
|
||||
mpDraw2DTop = new dMenu_Fmap2DTop_c(mpHeap, mpStick);
|
||||
mpDraw2DTop = JKR_NEW dMenu_Fmap2DTop_c(mpHeap, mpStick);
|
||||
JUT_ASSERT(599, mpDraw2DTop != NULL);
|
||||
mpMenuFmapMap = new dMenu_FmapMap_c();
|
||||
mpMenuFmapMap = JKR_NEW dMenu_FmapMap_c();
|
||||
JUT_ASSERT(603, mpMenuFmapMap != NULL);
|
||||
mpMenuFmapMap->_create(dMeter2Info_get2DWidth(), dMeter2Info_get2DHeight(),
|
||||
dMeter2Info_get2DWidth(), dMeter2Info_get2DHeight(), mpFmapMapRes);
|
||||
@@ -1998,7 +1998,7 @@ bool dMenu_Fmap_c::readWorldData(u8 i_regionNo) {
|
||||
}
|
||||
|
||||
if (head != -1 && mpWorldData == NULL) {
|
||||
mpWorldData = new dMenu_Fmap_world_data_c(mpRegionData[head]);
|
||||
mpWorldData = JKR_NEW dMenu_Fmap_world_data_c(mpRegionData[head]);
|
||||
mpDraw2DBack->setWorldPosMinMax(mpWorldData->getWorldMinX(), mpWorldData->getWorldMinZ(),
|
||||
mpWorldData->getWorldMaxX(), mpWorldData->getWorldMaxZ());
|
||||
}
|
||||
@@ -2098,7 +2098,7 @@ bool dMenu_Fmap_c::readAreaData(u8 i_regionNo, bool i_isSelectedRegion) {
|
||||
}
|
||||
|
||||
if (bVar2) {
|
||||
dMenu_Fmap_stage_data_c* stage_data = new dMenu_Fmap_stage_data_c();
|
||||
dMenu_Fmap_stage_data_c* stage_data = JKR_NEW dMenu_Fmap_stage_data_c();
|
||||
if (mpStageData[i_regionNo - 1] == NULL) {
|
||||
mpStageData[i_regionNo - 1] = stage_data;
|
||||
} else {
|
||||
@@ -2139,7 +2139,7 @@ bool dMenu_Fmap_c::readAreaData(u8 i_regionNo, bool i_isSelectedRegion) {
|
||||
mSpotNum++;
|
||||
}
|
||||
|
||||
dMenuMapCommon_c::RoomData_c* room_data = new dMenuMapCommon_c::RoomData_c();
|
||||
dMenuMapCommon_c::RoomData_c* room_data = JKR_NEW dMenuMapCommon_c::RoomData_c();
|
||||
if (mpRoomData[i_regionNo - 1] == NULL) {
|
||||
mpRoomData[i_regionNo - 1] = room_data;
|
||||
} else {
|
||||
@@ -2159,7 +2159,7 @@ bool dMenu_Fmap_c::readAreaData(u8 i_regionNo, bool i_isSelectedRegion) {
|
||||
}
|
||||
|
||||
if (mpRegionData[i_regionNo - 1] == NULL) {
|
||||
mpRegionData[i_regionNo - 1] = new dMenu_Fmap_region_data_c(i_regionNo,
|
||||
mpRegionData[i_regionNo - 1] = JKR_NEW dMenu_Fmap_region_data_c(i_regionNo,
|
||||
mpStageData[i_regionNo - 1],
|
||||
mRegionOffsetX[i_regionNo - 1],
|
||||
mRegionOffsetZ[i_regionNo - 1]);
|
||||
@@ -2200,9 +2200,9 @@ bool dMenu_Fmap_c::readRoomData(char const* i_stageName, dMenu_Fmap_stage_data_c
|
||||
sprintf(room_path, "%s/room%d.dzs", i_stageName, room_nos[i]);
|
||||
|
||||
if (readRoomDzsData(&dzs_data, 0x1500, room_path)) {
|
||||
dMenu_Fmap_data_c* map_data = new dMenu_Fmap_data_c();
|
||||
dMenu_Fmap_data_c* map_data = JKR_NEW dMenu_Fmap_data_c();
|
||||
dMenu_Fmap_room_data_c* room_data
|
||||
= new dMenu_Fmap_room_data_c(room_nos[i], i_stageData, map_data);
|
||||
= JKR_NEW dMenu_Fmap_room_data_c(room_nos[i], i_stageData, map_data);
|
||||
if (prev_room_data == NULL) {
|
||||
i_stageData->setFmapRoomDataTop(room_data);
|
||||
} else {
|
||||
@@ -2361,7 +2361,7 @@ bool dMenu_Fmap_c::removeAreaData() {
|
||||
|
||||
if (mpWorldData != NULL) {
|
||||
if (mpWorldData != NULL) {
|
||||
delete mpWorldData;
|
||||
JKR_DELETE(mpWorldData);
|
||||
}
|
||||
mpWorldData = NULL;
|
||||
}
|
||||
@@ -2369,7 +2369,7 @@ bool dMenu_Fmap_c::removeAreaData() {
|
||||
for (int i = 0; i < 8; i++) {
|
||||
if (mpRegionData[i] != NULL) {
|
||||
if (mpRegionData[i] != NULL) {
|
||||
delete mpRegionData[i];
|
||||
JKR_DELETE(mpRegionData[i]);
|
||||
}
|
||||
mpRegionData[i] = NULL;
|
||||
}
|
||||
@@ -2381,7 +2381,7 @@ bool dMenu_Fmap_c::removeAreaData() {
|
||||
dMenu_Fmap_stage_data_c* next_data = stage_data->getNextData();
|
||||
removeRoomData(stage_data);
|
||||
if (stage_data != NULL) {
|
||||
delete stage_data;
|
||||
JKR_DELETE(stage_data);
|
||||
}
|
||||
stage_data = next_data;
|
||||
}
|
||||
@@ -2393,7 +2393,7 @@ bool dMenu_Fmap_c::removeAreaData() {
|
||||
if (data != NULL) {
|
||||
mpHeap->free(data);
|
||||
}
|
||||
delete room_data;
|
||||
JKR_DELETE(room_data);
|
||||
room_data = next_data;
|
||||
}
|
||||
}
|
||||
@@ -2425,9 +2425,9 @@ bool dMenu_Fmap_c::removeRoomData(dMenu_Fmap_stage_data_c* i_stageData) {
|
||||
mpHeap->free(dzs_data);
|
||||
}
|
||||
if (fmap_data != NULL) {
|
||||
delete fmap_data;
|
||||
JKR_DELETE(fmap_data);
|
||||
}
|
||||
delete room_data;
|
||||
JKR_DELETE(room_data);
|
||||
room_data = next_data;
|
||||
}
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user