mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-06 02:58:18 -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:
@@ -55,7 +55,7 @@ void Z2AudioArcLoader::readBSTN(const void* addr, u32 param_1) {
|
||||
|
||||
u8* bstnDst = (u8*)addr;
|
||||
if (param_1 != 0) {
|
||||
bstnDst = new (gameHeap, 4) u8[param_1];
|
||||
bstnDst = JKR_NEW_ARGS (gameHeap, 4) u8[param_1];
|
||||
if (bstnDst != NULL) {
|
||||
memcpy(bstnDst, addr, param_1);
|
||||
}
|
||||
@@ -63,7 +63,7 @@ void Z2AudioArcLoader::readBSTN(const void* addr, u32 param_1) {
|
||||
JUT_ASSERT(122, bstnDst);
|
||||
}
|
||||
|
||||
JAUSoundNameTable* soundNameTable = new (gameHeap, 0) JAUSoundNameTable(true);
|
||||
JAUSoundNameTable* soundNameTable = JKR_NEW_ARGS (gameHeap, 0) JAUSoundNameTable(true);
|
||||
JUT_ASSERT(125, soundNameTable);
|
||||
|
||||
soundNameTable->init(bstnDst);
|
||||
|
||||
Reference in New Issue
Block a user