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
+28 -28
View File
@@ -63,23 +63,23 @@ dMenuMapCommon_c::dMenuMapCommon_c() {
dMenuMapCommon_c::~dMenuMapCommon_c() {
for (int i = 0; i < ICON_MAX_e; i++) {
if (mPictures[i] != NULL) {
delete mPictures[i];
JKR_DELETE(mPictures[i]);
mPictures[i] = NULL;
}
}
if (mLightDropPic != NULL) {
delete mLightDropPic;
JKR_DELETE(mLightDropPic);
mLightDropPic = NULL;
}
if (mpDrawCursor != NULL) {
delete mpDrawCursor;
JKR_DELETE(mpDrawCursor);
mpDrawCursor = NULL;
}
if (mpPortalIcon != NULL) {
delete mpPortalIcon;
JKR_DELETE(mpPortalIcon);
mpPortalIcon = NULL;
}
}
@@ -89,7 +89,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_boss_s_ci8_16_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_BOSS_e] = new J2DPicture(mp_image);
mPictures[ICON_BOSS_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_boss_ci8_32_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_BOSS_e]->append(mp_image, 0.0f);
@@ -98,7 +98,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_boss_s_ci8_16_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_BOSS_GANON_e] = new J2DPicture(mp_image);
mPictures[ICON_BOSS_GANON_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_boss_ci8_32_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_BOSS_GANON_e]->append(mp_image, 0.0f);
@@ -107,7 +107,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_map_icon_enter_ci8_24_02.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_DUNGEON_ENTER_e] = new J2DPicture(mp_image);
mPictures[ICON_DUNGEON_ENTER_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_map_icon_enter_ci8_02.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_DUNGEON_ENTER_e]->append(mp_image, 0.0f);
@@ -116,7 +116,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_enter_s_ci8_24_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_LINK_ENTER_e] = new J2DPicture(mp_image);
mPictures[ICON_LINK_ENTER_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_enter_ci8_32_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_LINK_ENTER_e]->append(mp_image, 0.0f);
@@ -125,7 +125,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_map_icon_warp_24_ci8_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_LV8_WARP_e] = new J2DPicture(mp_image);
mPictures[ICON_LV8_WARP_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_map_icon_warp_32_ci8_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_LV8_WARP_e]->append(mp_image, 0.0f);
@@ -134,7 +134,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_box_s_ci8_24_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_TREASURE_CHEST_e] = new J2DPicture(mp_image);
mPictures[ICON_TREASURE_CHEST_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_box_ci8_32_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_TREASURE_CHEST_e]->append(mp_image, 0.0f);
@@ -143,7 +143,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_gray_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_KEY_e] = new J2DPicture(mp_image);
mPictures[ICON_KEY_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_key_ci8_32_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_KEY_e]->append(mp_image, 0.0f);
@@ -152,7 +152,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_YETO_e] = new J2DPicture(mp_image);
mPictures[ICON_YETO_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "st_yuki_M.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_YETO_e]->append(mp_image, 0.0f);
@@ -161,7 +161,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_YETA_e] = new J2DPicture(mp_image);
mPictures[ICON_YETA_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "st_yuki_W.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_YETA_e]->append(mp_image, 0.0f);
@@ -170,7 +170,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_yellow_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_GOLD_WOLF_e] = new J2DPicture(mp_image);
mPictures[ICON_GOLD_WOLF_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "st_gold_wolf.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_GOLD_WOLF_e]->append(mp_image, 0.0f);
@@ -179,7 +179,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_MONKEY_e] = new J2DPicture(mp_image);
mPictures[ICON_MONKEY_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_monkey_ci8_32_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_MONKEY_e]->append(mp_image, 0.0f);
@@ -188,7 +188,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_blue_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_OOCCOO_e] = new J2DPicture(mp_image);
mPictures[ICON_OOCCOO_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "ni_obacyan.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_OOCCOO_e]->append(mp_image, 0.0f);
@@ -197,7 +197,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_blue_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_OOCCOO_JR_e] = new J2DPicture(mp_image);
mPictures[ICON_OOCCOO_JR_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "ni_obacyan.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_OOCCOO_JR_e]->append(mp_image, 0.0f);
@@ -206,7 +206,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[8] = new J2DPicture(mp_image);
mPictures[8] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_zelda_map_icon_copy_stone_statue_snup_try_00_04.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[8]->append(mp_image, 0.0f);
@@ -215,7 +215,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_link_s_ci8_24_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_LINK_e] = new J2DPicture(mp_image);
mPictures[ICON_LINK_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_link_ci8_32_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_LINK_e]->append(mp_image, 0.0f);
@@ -224,7 +224,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_penant_s_ci8_24_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_DUNGEON_WARP_e] = new J2DPicture(mp_image);
mPictures[ICON_DUNGEON_WARP_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_penant_ci8_32_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_DUNGEON_WARP_e]->append(mp_image, 0.0f);
@@ -233,7 +233,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_black_32.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_LIGHT_DROP_e] = new J2DPicture(mp_image);
mPictures[ICON_LIGHT_DROP_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_black_32.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_LIGHT_DROP_e]->append(mp_image, 0.0f);
@@ -243,7 +243,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_hikari_no_shizuku_try_10_00_24x24.bti");
JUT_ASSERT(0, mp_image != NULL);
mLightDropPic = new J2DPicture(mp_image);
mLightDropPic = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_hikari_no_shizuku_try_10_00_24x24.bti");
JUT_ASSERT(0, mp_image != NULL);
mLightDropPic->append(mp_image, 0.0f);
@@ -253,7 +253,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_LIGHT_BALL_e] = new J2DPicture(mp_image);
mPictures[ICON_LIGHT_BALL_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_zelda_map_icon_hikari_ball_03.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_LIGHT_BALL_e]->append(mp_image, 0.0f);
@@ -262,7 +262,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_CANNON_BALL_e] = new J2DPicture(mp_image);
mPictures[ICON_CANNON_BALL_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_map_icon_iron_ball_ci8_32_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_CANNON_BALL_e]->append(mp_image, 0.0f);
@@ -271,7 +271,7 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "tt_map_icon_s_size_circle_ci4_00.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_COACH_e] = new J2DPicture(mp_image);
mPictures[ICON_COACH_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_map_icon_basha_ci8.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_COACH_e]->append(mp_image, 0.0f);
@@ -280,18 +280,18 @@ void dMenuMapCommon_c::initiate(JKRArchive* i_archive) {
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_nijumaru_40x40_ind_01.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_DESTINATION_e] = new J2DPicture(mp_image);
mPictures[ICON_DESTINATION_e] = JKR_NEW J2DPicture(mp_image);
mp_image = (ResTIMG*)i_archive->getResource('TIMG', "im_nijumaru_40x40_ind_01.bti");
JUT_ASSERT(0, mp_image != NULL);
mPictures[ICON_DESTINATION_e]->append(mp_image, 0.0f);
mPictures[ICON_DESTINATION_e]->setBasePosition(J2DBasePosition_4);
mPictures[ICON_DESTINATION_e]->setInfluencedAlpha(false, false);
mpDrawCursor = new dSelect_cursor_c(4, 1.0f, NULL);
mpDrawCursor = JKR_NEW dSelect_cursor_c(4, 1.0f, NULL);
JUT_ASSERT(0, mpDrawCursor != NULL);
if (i_archive == dComIfGp_getFmapResArchive()) {
mpPortalIcon = new dSelect_cursor_c(5, 1.0f, i_archive);
mpPortalIcon = JKR_NEW dSelect_cursor_c(5, 1.0f, i_archive);
JUT_ASSERT(0, mpPortalIcon != NULL);
}
}