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
+21 -21
View File
@@ -42,28 +42,28 @@ void Z2DebugSys::initJAW() {
JAWPlayerChView* playerChView;
JKRSetCurrentHeap(heap);
u32 local_50 = heap->getFreeSize();
soundPlayer = new (heap, 0) Z2SoundPlayer("GC-Zelda2");
sysMemView = new (heap, 0) JAWSysMemView();
bankView = new (heap, 0) JAWBankView();
chView = new (heap, 0) JAWChView();
trackView = new (heap, 0) Z2TrackView(0, Z2TrackView::DISPMODE0);
reportView = new (heap, 0) JAWReportView();
soundPlayer = JKR_NEW_ARGS (heap, 0) Z2SoundPlayer("GC-Zelda2");
sysMemView = JKR_NEW_ARGS (heap, 0) JAWSysMemView();
bankView = JKR_NEW_ARGS (heap, 0) JAWBankView();
chView = JKR_NEW_ARGS (heap, 0) JAWChView();
trackView = JKR_NEW_ARGS (heap, 0) Z2TrackView(0, Z2TrackView::DISPMODE0);
reportView = JKR_NEW_ARGS (heap, 0) JAWReportView();
JASReportInit(heap, 500);
hioBankEdit = new (heap, 0) JAWHioBankEdit();
waveArcLoader = new (heap, 0) Z2WaveArcLoader();
volume = new (heap, 0) JAWVolume(90, 480);
playSeView = new (heap, 0) Z2PlaySeView();
audSettingView = new (heap, 0) Z2AudSettingView();
dspCheck = new (heap, 0) Z2DSPCheck();
hioBankEdit = JKR_NEW_ARGS (heap, 0) JAWHioBankEdit();
waveArcLoader = JKR_NEW_ARGS (heap, 0) Z2WaveArcLoader();
volume = JKR_NEW_ARGS (heap, 0) JAWVolume(90, 480);
playSeView = JKR_NEW_ARGS (heap, 0) Z2PlaySeView();
audSettingView = JKR_NEW_ARGS (heap, 0) Z2AudSettingView();
dspCheck = JKR_NEW_ARGS (heap, 0) Z2DSPCheck();
JAWExtSystem::registWindow(1, soundPlayer, 10, 22);
entrySeView = new (heap, 0) Z2EntrySeView();
entrySeView = JKR_NEW_ARGS (heap, 0) Z2EntrySeView();
JAWExtSystem::registWindow(2, entrySeView, 10, 22);
JAWExtSystem::registWindow(3, playSeView, 10, 22);
JAWExtSystem::registWindow(4, sysMemView, 10, 22);
JAWExtSystem::registWindow(5, bankView, 10, 22);
JAWExtSystem::registWindow(6, chView, 10, 22);
JAWExtSystem::registWindow(7, trackView, 10, 22);
playerChView = new (heap, 0) JAWPlayerChView();
playerChView = JKR_NEW_ARGS (heap, 0) JAWPlayerChView();
JAWExtSystem::registWindow(8, playerChView, 10, 22);
JAWExtSystem::registWindow(11, reportView, 330, 0);
JAWExtSystem::registWindow(12, hioBankEdit, 10, 0);
@@ -80,21 +80,21 @@ void Z2DebugSys::initSoundHioNode() {
JKRSetCurrentHeap(heap);
s32 freeSize = heap->getFreeSize();
JAHSingletonBase<JAHioMgr>::newInstance();
JAHioNode* soundRoot = new (heap, 0) JAHioNode("サウンド");
JAHioNode* soundRoot = JKR_NEW_ARGS (heap, 0) JAHioNode("サウンド");
JUT_ASSERT(239, soundRoot);
JAHSingletonBase<JAHioMgr>::getIns()->init_OnGame();
JAHSingletonBase<JAHioMgr>::getIns()->appendRootNode(&mDoHIO_root, soundRoot);
mDoHIO_createChild("サウンド", soundRoot);
JAHSoundPlayerNode* soundPlayerNode = new (heap, 0) JAHSoundPlayerNode();
JAHSoundPlayerNode* soundPlayerNode = JKR_NEW_ARGS (heap, 0) JAHSoundPlayerNode();
JUT_ASSERT(258, soundPlayerNode);
soundRoot->appendNode(soundPlayerNode, NULL);
Z2ParamNode* paramNode = new (heap, 0) Z2ParamNode();
Z2ParamNode* paramNode = JKR_NEW_ARGS (heap, 0) Z2ParamNode();
JUT_ASSERT(262, paramNode);
soundRoot->appendNode(paramNode, NULL);
Z2FxLineEditNode* fxNode = new (heap, 0) Z2FxLineEditNode(heap);
Z2FxLineEditNode* fxNode = JKR_NEW_ARGS (heap, 0) Z2FxLineEditNode(heap);
JUT_ASSERT(267, fxNode);
soundRoot->appendNode(fxNode, NULL);
Z2F1SwingTestNode* f1TestWin = new (heap, 0) Z2F1SwingTestNode();
Z2F1SwingTestNode* f1TestWin = JKR_NEW_ARGS (heap, 0) Z2F1SwingTestNode();
JUT_ASSERT(284, f1TestWin);
soundRoot->appendNode(f1TestWin, NULL);
JAWExtSystem::registWindow(10, f1TestWin, 10, 22);
@@ -111,9 +111,9 @@ JAISeqDataMgr* Z2DebugSys::initSeSeqDataMgr(const void* param_1) {
JKRExpHeap* heap = mDoExt_getGameHeap();
JKRSetCurrentHeap(heap);
s32 freeSize = heap->getFreeSize();
JAWHioReceiver* receiver = new (heap, 0) JAWHioReceiver();
JAWHioReceiver* receiver = JKR_NEW_ARGS (heap, 0) JAWHioReceiver();
JAWExtSystem::registWindow(0, receiver, 10, 22);
seqDataMgr = new (heap, 0) Z2HioSeSeqDataMgr(param_1, receiver);
seqDataMgr = JKR_NEW_ARGS (heap, 0) Z2HioSeSeqDataMgr(param_1, receiver);
JKRSetCurrentHeap(oldHeap);
return seqDataMgr;
}