Fix multiple classes being inappropriately zero-initialized via JKR_NEW* (#70)

This might also fix #71 and #72.
This commit is contained in:
Max Roncace
2026-03-13 02:50:06 -04:00
parent 2d430eb9a1
commit 9fff8d45a1
25 changed files with 73 additions and 73 deletions
+7 -7
View File
@@ -57,15 +57,15 @@ J2DTevBlock* J2DMaterial::createTevBlock(int block_type, bool noAlign) {
}
} else {
if (block_type <= 1) {
block = JKR_NEW_ARGS (-4) J2DTevBlock1();
block = JKR_NEW_ARGS (-4) J2DTevBlock1;
} else if (block_type == 2) {
block = JKR_NEW_ARGS (-4) J2DTevBlock2();
block = JKR_NEW_ARGS (-4) J2DTevBlock2;
} else if (block_type <= 4) {
block = JKR_NEW_ARGS (-4) J2DTevBlock4();
block = JKR_NEW_ARGS (-4) J2DTevBlock4;
} else if (block_type <= 8) {
block = JKR_NEW_ARGS (-4) J2DTevBlock8();
block = JKR_NEW_ARGS (-4) J2DTevBlock8;
} else {
block = JKR_NEW_ARGS (-4) J2DTevBlock16();
block = JKR_NEW_ARGS (-4) J2DTevBlock16;
}
}
ASSERTMSGLINE(101, block, "Error : allocate memory.");
@@ -84,9 +84,9 @@ J2DIndBlock* J2DMaterial::createIndBlock(int block_type, bool noAlign) {
}
} else {
if (block_type != 0) {
block = JKR_NEW_ARGS (-4) J2DIndBlockFull();
block = JKR_NEW_ARGS (-4) J2DIndBlockFull;
} else {
block = JKR_NEW_ARGS (-4) J2DIndBlockNull();
block = JKR_NEW_ARGS (-4) J2DIndBlockNull;
}
}
ASSERTMSGLINE(133, block, "Error : allocate memory.");
+9 -9
View File
@@ -56,7 +56,7 @@ JASBasicBank* JASBNKParser::Ver1::createBasicBank(void const* stream, JKRHeap* h
heap = JASDram;
}
JASBasicBank* bank = JKR_NEW_ARGS (heap, 0) JASBasicBank();
JASBasicBank* bank = JKR_NEW_ARGS (heap, 0) JASBasicBank;
if (bank == NULL) {
return NULL;
}
@@ -94,7 +94,7 @@ JASBasicBank* JASBNKParser::Ver1::createBasicBank(void const* stream, JKRHeap* h
BE(u32)* data = (BE(u32)*)((intptr_t)stream + list_chunk->mOffsets[i]);
switch (*data++) {
case 'Inst': {
JASBasicInst* instp = JKR_NEW_ARGS (heap, 0) JASBasicInst();
JASBasicInst* instp = JKR_NEW_ARGS (heap, 0) JASBasicInst;
JUT_ASSERT(187, instp != NULL);
u32 count = *data++;
for (int j = 0; j < count; j++) {
@@ -126,7 +126,7 @@ JASBasicBank* JASBNKParser::Ver1::createBasicBank(void const* stream, JKRHeap* h
}
case 'Perc': {
JASDrumSet* drump = JKR_NEW_ARGS (heap, 0) JASDrumSet();
JASDrumSet* drump = JKR_NEW_ARGS (heap, 0) JASDrumSet;
JUT_ASSERT(264, drump != NULL);
u32 pmap_count = data[1];
JUT_ASSERT(268, pmap_count <= 128);
@@ -135,7 +135,7 @@ JASBasicBank* JASBNKParser::Ver1::createBasicBank(void const* stream, JKRHeap* h
for (int j = 0; j < count; j++) {
u32 offset = *data++;
if (offset != 0) {
JASDrumSet::TPerc* percp = JKR_NEW_ARGS (heap, 0) JASDrumSet::TPerc();
JASDrumSet::TPerc* percp = JKR_NEW_ARGS (heap, 0) JASDrumSet::TPerc;
JUT_ASSERT(277, percp);
u32 type = data[0];
JUT_ASSERT(282, type == 'Pmap');
@@ -177,7 +177,7 @@ JASBasicBank* JASBNKParser::Ver0::createBasicBank(void const* stream, JKRHeap* h
}
THeader const* header = (THeader*)stream;
JASBasicBank* bank = JKR_NEW_ARGS (heap, 0) JASBasicBank();
JASBasicBank* bank = JKR_NEW_ARGS (heap, 0) JASBasicBank;
if (bank == NULL) {
return NULL;
}
@@ -187,7 +187,7 @@ JASBasicBank* JASBNKParser::Ver0::createBasicBank(void const* stream, JKRHeap* h
for (int i = 0; i < 0x80; i++) {
TInst* tinst = header->mOffsets.mInstOffset[i].ptr(header);
if (tinst != NULL) {
JASBasicInst* instp = JKR_NEW_ARGS (heap, 0) JASBasicInst();
JASBasicInst* instp = JKR_NEW_ARGS (heap, 0) JASBasicInst;
JUT_ASSERT(368, instp != NULL);
instp->setVolume(tinst->mVolume);
instp->setPitch(tinst->mPitch);
@@ -200,7 +200,7 @@ JASBasicBank* JASBNKParser::Ver0::createBasicBank(void const* stream, JKRHeap* h
if (osc != NULL) {
instp->setOsc(osc_idx, osc);
} else {
osc = JKR_NEW_ARGS (heap, 0) JASOscillator::Data();
osc = JKR_NEW_ARGS (heap, 0) JASOscillator::Data;
JUT_ASSERT(386, osc != NULL);
osc->mTarget = tosc->mTarget;
osc->_04 = tosc->field_0x4;
@@ -256,14 +256,14 @@ JASBasicBank* JASBNKParser::Ver0::createBasicBank(void const* stream, JKRHeap* h
for (int i = 0; i < 12; i++) {
TPerc* tperc = header->mOffsets.mPercOffset[i].ptr(header);
if (tperc != NULL) {
JASDrumSet* setp = JKR_NEW_ARGS (heap, 0) JASDrumSet();
JASDrumSet* setp = JKR_NEW_ARGS (heap, 0) JASDrumSet;
JUT_ASSERT(509, setp != NULL);
setp->newPercArray(0x80, heap);
for (int j = 0; j < 0x80; j++) {
TPmap* tpmap = tperc->mPmapOffset[j].ptr(header);
if (tpmap != NULL) {
JASDrumSet::TPerc* percp = JKR_NEW_ARGS (heap, 0) JASDrumSet::TPerc();
JASDrumSet::TPerc* percp = JKR_NEW_ARGS (heap, 0) JASDrumSet::TPerc;
JUT_ASSERT(519, percp);
percp->setVolume(tpmap->mVolume);
percp->setPitch(tpmap->mPitch);
+1 -1
View File
@@ -301,7 +301,7 @@ void JASKernel::setupRootHeap(JKRSolidHeap* heap, u32 size) {
sSystemHeap = JKRExpHeap::create(size, heap, false);
JKRHEAP_NAME(sSystemHeap, "JASKernel::sSystemHeap");
JUT_ASSERT(787, sSystemHeap);
sCommandHeap = JKR_NEW_ARGS (heap, 0) JASMemChunkPool<1024, JASThreadingModel::ObjectLevelLockable>();
sCommandHeap = JKR_NEW_ARGS (heap, 0) JASMemChunkPool<1024, JASThreadingModel::ObjectLevelLockable>;
JKRHEAP_NAME(sSystemHeap, "JASKernel::sCommandHeap");
JUT_ASSERT(790, sCommandHeap);
JASDram = heap;
+2 -2
View File
@@ -30,7 +30,7 @@ JASBasicWaveBank* JASWSParser::createBasicWaveBank(void const* stream, JKRHeap*
u32 free_size = heap->getFreeSize();
THeader* header = (THeader*)stream;
JASBasicWaveBank* wave_bank = JKR_NEW_ARGS (heap, 0) JASBasicWaveBank();
JASBasicWaveBank* wave_bank = JKR_NEW_ARGS (heap, 0) JASBasicWaveBank;
if (wave_bank == NULL) {
return NULL;
}
@@ -82,7 +82,7 @@ JASSimpleWaveBank* JASWSParser::createSimpleWaveBank(void const* stream, JKRHeap
return NULL;
}
JASSimpleWaveBank* wave_bank = JKR_NEW_ARGS (heap, 0) JASSimpleWaveBank();
JASSimpleWaveBank* wave_bank = JKR_NEW_ARGS (heap, 0) JASSimpleWaveBank;
if (wave_bank == NULL) {
return NULL;
}
+2 -2
View File
@@ -9,7 +9,7 @@
JKRAMCommand* JKRAramPiece::prepareCommand(int direction, uintptr_t src, uintptr_t dst, u32 length,
JKRAramBlock* block,
JKRAMCommand::AsyncCallback callback) {
JKRAMCommand* command = JKR_NEW_ARGS (JKRGetSystemHeap(), -4) JKRAMCommand();
JKRAMCommand* command = JKR_NEW_ARGS (JKRGetSystemHeap(), -4) JKRAMCommand;
command->mTransferDirection = direction;
command->mSrc = src;
command->mDst = dst;
@@ -40,7 +40,7 @@ JKRAMCommand* JKRAramPiece::orderAsync(int direction, uintptr_t source, uintptr_
}
#endif
JKRAramCommand* message = JKR_NEW_ARGS (JKRGetSystemHeap(), -4) JKRAramCommand();
JKRAramCommand* message = JKR_NEW_ARGS (JKRGetSystemHeap(), -4) JKRAramCommand;
JKRAMCommand* command =
JKRAramPiece::prepareCommand(direction, source, destination, length, block, callback);
message->setting(1, command);
+1 -1
View File
@@ -141,7 +141,7 @@ JKRHeap* JKRAramStream::transHeap;
JKRAramStreamCommand* JKRAramStream::write_StreamToAram_Async(JSUFileInputStream* stream, u32 addr,
u32 size, u32 offset,
u32* returnSize) {
JKRAramStreamCommand* command = JKR_NEW_ARGS (JKRGetSystemHeap(), -4) JKRAramStreamCommand();
JKRAramStreamCommand* command = JKR_NEW_ARGS (JKRGetSystemHeap(), -4) JKRAramStreamCommand;
command->mType = JKRAramStreamCommand::WRITE;
command->mAddress = addr;
command->mSize = size;
+1 -1
View File
@@ -62,7 +62,7 @@ void* JKRDecomp::run() {
JKRDecompCommand* JKRDecomp::prepareCommand(u8* srcBuffer, u8* dstBuffer, u32 srcLength,
u32 dstLength,
JKRDecompCommand::AsyncCallback callback) {
JKRDecompCommand* command = JKR_NEW_ARGS (JKRGetSystemHeap(), -4) JKRDecompCommand();
JKRDecompCommand* command = JKR_NEW_ARGS (JKRGetSystemHeap(), -4) JKRDecompCommand;
command->mSrcBuffer = srcBuffer;
command->mDstBuffer = dstBuffer;
command->mSrcLength = srcLength;
@@ -56,7 +56,7 @@ JKRADCommand* JKRDvdAramRipper::loadToAram_Async(JKRDvdFile* dvdFile, u32 addres
JKRExpandSwitch expandSwitch,
void (*callback)(u32), u32 param_4, u32 param_5,
u32* param_6) {
JKRADCommand* command = JKR_NEW_ARGS (JKRGetSystemHeap(), -4) JKRADCommand();
JKRADCommand* command = JKR_NEW_ARGS (JKRGetSystemHeap(), -4) JKRADCommand;
command->mDvdFile = dvdFile;
command->mAddress = address;
command->mBlock = NULL;
@@ -35,7 +35,7 @@ JPAEmitterManager::JPAEmitterManager(u32 i_ptclNum, u32 i_emtrNum, JKRHeap* pHea
pResMgrAry[i] = NULL;
}
pWd = JKR_NEW_ARGS (pHeap, 0) JPAEmitterWorkData();
pWd = JKR_NEW_ARGS (pHeap, 0) JPAEmitterWorkData;
JUT_ASSERT(67, pWd);
}
+9 -9
View File
@@ -224,31 +224,31 @@ void JPAFieldBlock::init(JKRHeap* heap) {
switch (getType()) {
case FIELD_GRAVITY:
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldGravity();
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldGravity;
break;
case FIELD_AIR:
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldAir();
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldAir;
break;
case FIELD_MAGNET:
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldMagnet();
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldMagnet;
break;
case FIELD_NEWTON:
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldNewton();
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldNewton;
break;
case FIELD_VORTEX:
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldVortex();
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldVortex;
break;
case FIELD_RANDOM:
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldRandom();
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldRandom;
break;
case FIELD_DRAG:
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldDrag();
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldDrag;
break;
case FIELD_CONVECTION:
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldConvection();
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldConvection;
break;
case FIELD_SPIN:
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldSpin();
pFld = JKR_NEW_ARGS (heap, 0) JPAFieldSpin;
break;
default:
pFld = NULL;
@@ -61,7 +61,7 @@ void JPAResourceLoader::load_jpc(u8 const* data, JPAResourceManager* p_res_mgr)
u32 offset = 0x10;
for (int i = 0; i < *(BE(u16)*)(data + 8); i++) {
JPAResourceHeader* header = (JPAResourceHeader*)(data + offset);
JPAResource* p_res = JKR_NEW_ARGS (heap, 0) JPAResource();
JPAResource* p_res = JKR_NEW_ARGS (heap, 0) JPAResource;
JUT_ASSERT(211, p_res != NULL);
p_res->fldNum = header->mFieldBlockNum;
p_res->ppFld = p_res->fldNum != 0 ?
+1 -1
View File
@@ -172,7 +172,7 @@ bool JUTCacheFont::internal_initiate(ResFONT const* p_fontRes, void* param_1, u3
}
bool JUTCacheFont::allocArea(void* cacheBuffer, u32 param_1, JKRHeap* heap) {
mInf1Ptr = (ResFONT::INF1*)JKR_NEW_ARGS (heap, 0) ResFONT();
mInf1Ptr = (ResFONT::INF1*)JKR_NEW_ARGS (heap, 0) ResFONT;
if (mInf1Ptr == NULL) {
return false;
}
+1 -1
View File
@@ -401,7 +401,7 @@ JUTConsoleManager* JUTConsoleManager::createManager(JKRHeap* pHeap) {
pHeap = JKRGetCurrentHeap();
}
sManager = JKR_NEW_ARGS (pHeap, 0) JUTConsoleManager();
sManager = JKR_NEW_ARGS (pHeap, 0) JUTConsoleManager;
return sManager;
}