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
+18 -18
View File
@@ -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;