summaryrefslogtreecommitdiff
path: root/src/JSystem
diff options
context:
space:
mode:
authorLuke Street <luke@street.dev>2026-02-28 21:19:17 -0700
committerGitHub <noreply@github.com>2026-02-28 20:19:17 -0800
commit6a48380461bc9baabe1706ba57ca0cedfa2d0c51 (patch)
tree593e054cfcb0250e63917c58b445a7e1f025a023 /src/JSystem
parentb5d3b8c059c10711370437f7db7539cd90f1cb29 (diff)
More GCC compatibility/warning fixes (#3118)
* Wrap >4-char literals in a MULTI_CHAR macro Modern compilers do not support CW's non-standard behavior with >4 char literals. We can, however, use a constexpr function to compute the u64 values directly. This leaves <=4 char literals unchanged. * Replace non-pointer usages of NULL with 0 * Define NULL to nullptr on C++11 and above * Fix more -Wpointer-arith and -Woverflow warnings * Replace u32/s32 with uintptr_t/intptr_t where appropriate * JSUOutputStream: Overload all standard int types
Diffstat (limited to 'src/JSystem')
-rw-r--r--src/JSystem/J2DGraph/J2DMaterialFactory.cpp4
-rw-r--r--src/JSystem/J2DGraph/J2DPictureEx.cpp2
-rw-r--r--src/JSystem/J3DGraphBase/J3DShape.cpp2
-rw-r--r--src/JSystem/JAudio2/JASAramStream.cpp2
-rw-r--r--src/JSystem/JAudio2/JASDSPInterface.cpp2
-rw-r--r--src/JSystem/JAudio2/JASHeapCtrl.cpp4
-rw-r--r--src/JSystem/JAudio2/JASResArcLoader.cpp2
-rw-r--r--src/JSystem/JAudio2/JASSimpleWaveBank.cpp2
-rw-r--r--src/JSystem/JAudio2/JAUSectionHeap.cpp2
-rw-r--r--src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp6
-rw-r--r--src/JSystem/JKernel/JKRAram.cpp2
-rw-r--r--src/JSystem/JKernel/JKRAramArchive.cpp4
-rw-r--r--src/JSystem/JKernel/JKRDvdFile.cpp2
-rw-r--r--src/JSystem/JKernel/JKRFileCache.cpp2
-rw-r--r--src/JSystem/JKernel/JKRHeap.cpp2
-rw-r--r--src/JSystem/JKernel/JKRThread.cpp2
-rw-r--r--src/JSystem/JParticle/JPAEmitter.cpp2
-rw-r--r--src/JSystem/JUtility/JUTGraphFifo.cpp2
-rw-r--r--src/JSystem/JUtility/JUTVideo.cpp2
19 files changed, 24 insertions, 24 deletions
diff --git a/src/JSystem/J2DGraph/J2DMaterialFactory.cpp b/src/JSystem/J2DGraph/J2DMaterialFactory.cpp
index 52349f8304..156a092615 100644
--- a/src/JSystem/J2DGraph/J2DMaterialFactory.cpp
+++ b/src/JSystem/J2DGraph/J2DMaterialFactory.cpp
@@ -244,7 +244,7 @@ u16 J2DMaterialFactory::newTexNo(int param_0, int param_1) const {
if (iVar2->field_0x38[param_1] != 0xffff) {
return field_0x28[iVar2->field_0x38[param_1]];
}
- return 0x1FFFF;
+ return 0xFFFF;
}
u16 J2DMaterialFactory::newFontNo(int param_0) const {
@@ -252,7 +252,7 @@ u16 J2DMaterialFactory::newFontNo(int param_0) const {
if (iVar2->field_0x48 != 0xffff) {
return field_0x2c[iVar2->field_0x48];
}
- return 0x1FFFF;
+ return 0xFFFF;
}
J2DTevOrder J2DMaterialFactory::newTevOrder(int param_0, int param_1) const {
diff --git a/src/JSystem/J2DGraph/J2DPictureEx.cpp b/src/JSystem/J2DGraph/J2DPictureEx.cpp
index 27cc68cc94..bf2ea7168a 100644
--- a/src/JSystem/J2DGraph/J2DPictureEx.cpp
+++ b/src/JSystem/J2DGraph/J2DPictureEx.cpp
@@ -917,7 +917,7 @@ JUTTexture* J2DPictureEx::getTexture(u8 param_0) const {
u8 J2DPictureEx::getTextureCount() const {
if (mMaterial == NULL) {
- return NULL;
+ return 0;
}
return mMaterial->getTexGenBlock()->getTexGenNum();
diff --git a/src/JSystem/J3DGraphBase/J3DShape.cpp b/src/JSystem/J3DGraphBase/J3DShape.cpp
index 91dd5b8ea0..1cf379df4e 100644
--- a/src/JSystem/J3DGraphBase/J3DShape.cpp
+++ b/src/JSystem/J3DGraphBase/J3DShape.cpp
@@ -226,7 +226,7 @@ void J3DShape::makeVtxArrayCmd() {
if (array[i] != 0)
GDSetArray((GXAttr)(i + GX_VA_POS), array[i], stride[i]);
else
- GDSetArrayRaw((GXAttr)(i + GX_VA_POS), NULL, stride[i]);
+ GDSetArrayRaw((GXAttr)(i + GX_VA_POS), 0, stride[i]);
}
}
diff --git a/src/JSystem/JAudio2/JASAramStream.cpp b/src/JSystem/JAudio2/JASAramStream.cpp
index 34a2c811c7..ea0fb5776f 100644
--- a/src/JSystem/JAudio2/JASAramStream.cpp
+++ b/src/JSystem/JAudio2/JASAramStream.cpp
@@ -143,7 +143,7 @@ bool JASAramStream::start() {
}
bool JASAramStream::stop(u16 param_0) {
- if (!OSSendMessage(&field_0x000, (OSMessage)(param_0 << 0x10 | 1), OS_MESSAGE_NOBLOCK)) {
+ if (!OSSendMessage(&field_0x000, (OSMessage)(uintptr_t)(param_0 << 0x10 | 1), OS_MESSAGE_NOBLOCK)) {
JUT_WARN(290, "%s", "OSSendMessage Failed");
return false;
}
diff --git a/src/JSystem/JAudio2/JASDSPInterface.cpp b/src/JSystem/JAudio2/JASDSPInterface.cpp
index 79cf9bb249..f4e85d1bd5 100644
--- a/src/JSystem/JAudio2/JASDSPInterface.cpp
+++ b/src/JSystem/JAudio2/JASDSPInterface.cpp
@@ -471,7 +471,7 @@ int JASDsp::setFXLine(u8 param_0, s16* buffer, JASDsp::FxlineConfig_* param_2) {
return 1;
}
-BOOL JASDsp::changeFXLineParam(u8 param_0, u8 param_1, u32 param_2) {
+BOOL JASDsp::changeFXLineParam(u8 param_0, u8 param_1, uintptr_t param_2) {
JUT_ASSERT(450, dspMutex);
FxBuf* buf = &FX_BUF[param_0];
switch (param_1) {
diff --git a/src/JSystem/JAudio2/JASHeapCtrl.cpp b/src/JSystem/JAudio2/JASHeapCtrl.cpp
index ee280261f4..44abd98ba4 100644
--- a/src/JSystem/JAudio2/JASHeapCtrl.cpp
+++ b/src/JSystem/JAudio2/JASHeapCtrl.cpp
@@ -284,7 +284,7 @@ void JASGenericMemPool::free(void* ptr, u32 param_1) {
freeMemCount++;
}
-u32 JASKernel::sAramBase;
+uintptr_t JASKernel::sAramBase;
JKRHeap* JASKernel::sSystemHeap;
@@ -309,7 +309,7 @@ JASMemChunkPool<1024, JASThreadingModel::ObjectLevelLockable>* JASKernel::getCom
JASHeap JASKernel::audioAramHeap;
-void JASKernel::setupAramHeap(u32 param_0, u32 param_1) {
+void JASKernel::setupAramHeap(uintptr_t param_0, u32 param_1) {
#if !PLATFORM_GCN
OSReport("setupAramHeap %x, %x, %x\n", param_0, ARGetBaseAddress(), param_1);
param_0 = ARGetBaseAddress();
diff --git a/src/JSystem/JAudio2/JASResArcLoader.cpp b/src/JSystem/JAudio2/JASResArcLoader.cpp
index 7fb2aff736..a55c73469c 100644
--- a/src/JSystem/JAudio2/JASResArcLoader.cpp
+++ b/src/JSystem/JAudio2/JASResArcLoader.cpp
@@ -55,7 +55,7 @@ static void JASResArcLoader::loadResourceCallback(void* args) {
}
-int JASResArcLoader::loadResourceAsync(JKRArchive* archive, u16 id, u8* buffer, u32 size, LoadCallback callback, u32 cbArg)
+int JASResArcLoader::loadResourceAsync(JKRArchive* archive, u16 id, u8* buffer, u32 size, LoadCallback callback, uintptr_t cbArg)
{
TLoadResInfo args(archive, id, buffer, size);
args.mCallback = callback;
diff --git a/src/JSystem/JAudio2/JASSimpleWaveBank.cpp b/src/JSystem/JAudio2/JASSimpleWaveBank.cpp
index 9bc0bbf31d..c599a0e857 100644
--- a/src/JSystem/JAudio2/JASSimpleWaveBank.cpp
+++ b/src/JSystem/JAudio2/JASSimpleWaveBank.cpp
@@ -42,7 +42,7 @@ JASWaveArc* JASSimpleWaveBank::getWaveArc(u32 no) {
int JASSimpleWaveBank::TWaveHandle::getWavePtr() const {
void* base = mHeap->getBase();
if (base == NULL) {
- return NULL;
+ return 0;
}
return (intptr_t)base + mWaveInfo.field_0x08;
}
diff --git a/src/JSystem/JAudio2/JAUSectionHeap.cpp b/src/JSystem/JAudio2/JAUSectionHeap.cpp
index 8a9bbf8277..eb1f211070 100644
--- a/src/JSystem/JAudio2/JAUSectionHeap.cpp
+++ b/src/JSystem/JAudio2/JAUSectionHeap.cpp
@@ -40,7 +40,7 @@ namespace {
field_0x4 = stack_14.getNumFiles();
field_0x8 = new s32[field_0x4];
if (!field_0x8) {
- field_0x4 = NULL;
+ field_0x4 = 0;
return;
}
for (u32 i = 0; i < field_0x4; i++) {
diff --git a/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp b/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
index f973cb4779..596dfb2742 100644
--- a/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
+++ b/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
@@ -111,10 +111,10 @@ bool JAUDynamicSeqDataBlocks::appendDynamicSeqDataBlock(JAUSeqDataBlock* seqData
return 1;
}
-static void JAUDynamicSeqDataBlocks_receiveLoaded_(u32 param_0, u32 param_1) {
+static void JAUDynamicSeqDataBlocks_receiveLoaded_(u32 param_0, uintptr_t param_1) {
JSULink<JAUSeqDataBlock>* link = (JSULink<JAUSeqDataBlock>*)param_1;
JAUSeqDataBlock* seqDataBlock = link->getObject();
- if (param_0 != NULL) {
+ if (param_0 != 0) {
seqDataBlock->field_0x1c = 2;
} else {
seqDataBlock->field_0x1c = 0;
@@ -153,7 +153,7 @@ bool JAUDynamicSeqDataBlocks::loadDynamicSeq(JAISoundID param_0, bool param_1,
JASResArcLoader::loadResourceAsync(
seqDataArchive_, resourceId,
link->getObject()->region.addr, link->getObject()->region.size,
- JAUDynamicSeqDataBlocks_receiveLoaded_, (u32)link);
+ JAUDynamicSeqDataBlocks_receiveLoaded_, (uintptr_t)link);
}
return true;
}
diff --git a/src/JSystem/JKernel/JKRAram.cpp b/src/JSystem/JKernel/JKRAram.cpp
index d6bcec7f6b..64f14da1a7 100644
--- a/src/JSystem/JKernel/JKRAram.cpp
+++ b/src/JSystem/JKernel/JKRAram.cpp
@@ -69,7 +69,7 @@ JKRAram::JKRAram(u32 audio_buffer_size, u32 audio_graph_size, s32 priority)
if (mAramMemorySize) {
mAramMemoryPtr = ARAlloc(mAramMemorySize);
} else {
- mAramMemoryPtr = NULL;
+ mAramMemoryPtr = 0;
}
OS_REPORT("ARAM audio area %08x: %08x\n", mAudioMemoryPtr, mAudioMemorySize);
diff --git a/src/JSystem/JKernel/JKRAramArchive.cpp b/src/JSystem/JKernel/JKRAramArchive.cpp
index 235fb07515..41a88bac90 100644
--- a/src/JSystem/JKernel/JKRAramArchive.cpp
+++ b/src/JSystem/JKernel/JKRAramArchive.cpp
@@ -205,7 +205,7 @@ void* JKRAramArchive::fetchResource(SDIFileEntry* pEntry, u32* pOutSize) {
&outBuf);
*pOutSize = size;
- if (size == NULL) {
+ if (size == 0) {
return NULL;
}
@@ -240,7 +240,7 @@ void* JKRAramArchive::fetchResource(void* buffer, u32 bufferSize, SDIFileEntry*
} else {
if (compression == COMPRESSION_YAZ0) {
u32 expandSize = this->getExpandSize(pEntry);
- if (expandSize != NULL) {
+ if (expandSize != 0) {
size = expandSize;
}
}
diff --git a/src/JSystem/JKernel/JKRDvdFile.cpp b/src/JSystem/JKernel/JKRDvdFile.cpp
index 07bd9505a5..c56141f900 100644
--- a/src/JSystem/JKernel/JKRDvdFile.cpp
+++ b/src/JSystem/JKernel/JKRDvdFile.cpp
@@ -125,7 +125,7 @@ s32 JKRDvdFile::sync(void) {
void JKRDvdFile::doneProcess(s32 id, DVDFileInfo* fileInfo) {
// fileInfo->field_0x3c looks like some kind of user pointer?
JKRDvdFile* dvdFile = *(JKRDvdFile**)((u8*)fileInfo + 0x3c);
- OSSendMessage(&dvdFile->mMessageQueue2, (OSMessage)id, OS_MESSAGE_NOBLOCK);
+ OSSendMessage(&dvdFile->mMessageQueue2, (OSMessage)(intptr_t)id, OS_MESSAGE_NOBLOCK);
}
s32 JKRDvdFile::getFileSize(void) const {
diff --git a/src/JSystem/JKernel/JKRFileCache.cpp b/src/JSystem/JKernel/JKRFileCache.cpp
index d0162d95e5..4579a9ee88 100644
--- a/src/JSystem/JKernel/JKRFileCache.cpp
+++ b/src/JSystem/JKernel/JKRFileCache.cpp
@@ -192,7 +192,7 @@ u32 JKRFileCache::readResource(void* dst, u32 dstLength, u32, const char* path)
if (findFile(finalPath, path)) {
return readResource(dst, dstLength, filePath);
}
- return NULL;
+ return 0;
}
void JKRFileCache::removeResourceAll(void) {
diff --git a/src/JSystem/JKernel/JKRHeap.cpp b/src/JSystem/JKernel/JKRHeap.cpp
index 8655a80ae3..eb4d7083c6 100644
--- a/src/JSystem/JKernel/JKRHeap.cpp
+++ b/src/JSystem/JKernel/JKRHeap.cpp
@@ -349,7 +349,7 @@ JKRHeap* JKRHeap::findAllHeap(void* ptr) const {
return NULL;
}
-void JKRHeap::dispose_subroutine(u32 begin, u32 end) {
+void JKRHeap::dispose_subroutine(uintptr_t begin, uintptr_t end) {
JSUListIterator<JKRDisposer> next_iterator((JSULink<JKRDisposer>*)NULL);
JSUListIterator<JKRDisposer> it = mDisposerList.getFirst();
while (it != mDisposerList.getEnd()) {
diff --git a/src/JSystem/JKernel/JKRThread.cpp b/src/JSystem/JKernel/JKRThread.cpp
index 918f1012fc..cb5055012a 100644
--- a/src/JSystem/JKernel/JKRThread.cpp
+++ b/src/JSystem/JKernel/JKRThread.cpp
@@ -73,7 +73,7 @@ void JKRThread::setCommon_mesgQueue(JKRHeap* heap, int message_count) {
sThreadList.append(&mThreadListLink);
mCurrentHeap = NULL;
- mCurrentHeapError = NULL;
+ mCurrentHeapError = 0;
}
void JKRThread::setCommon_heapSpecified(JKRHeap* heap, u32 stack_size, int param_3) {
diff --git a/src/JSystem/JParticle/JPAEmitter.cpp b/src/JSystem/JParticle/JPAEmitter.cpp
index fb03d52640..5e7ccbc6dd 100644
--- a/src/JSystem/JParticle/JPAEmitter.cpp
+++ b/src/JSystem/JParticle/JPAEmitter.cpp
@@ -39,7 +39,7 @@ void JPABaseEmitter::init(JPAEmitterManager* param_0, JPAResource* param_1) {
mGlobalPrmClr.r = mGlobalPrmClr.g = mGlobalPrmClr.b = mGlobalPrmClr.a = mGlobalEnvClr.r = mGlobalEnvClr.g = mGlobalEnvClr.b = mGlobalEnvClr.a = 0xff;
param_1->getBsp()->getPrmClr(&mPrmClr);
param_1->getBsp()->getEnvClr(&mEnvClr);
- mpUserWork = NULL;
+ mpUserWork = 0;
mScaleOut = 1.0f;
mEmitCount = 0.0f;
initStatus(0x30);
diff --git a/src/JSystem/JUtility/JUTGraphFifo.cpp b/src/JSystem/JUtility/JUTGraphFifo.cpp
index 6792e10f8c..7950757e7c 100644
--- a/src/JSystem/JUtility/JUTGraphFifo.cpp
+++ b/src/JSystem/JUtility/JUTGraphFifo.cpp
@@ -18,7 +18,7 @@ JUTGraphFifo::JUTGraphFifo(u32 size) {
GXInitFifoPtrs(mFifo, mBase, mBase);
} else {
mBase = JKRAllocFromSysHeap(mSize + 0xA0, 32);
- mBase = (void*)ROUND((intptr_t)mBase, 0x20);
+ mBase = (void*)ALIGN_NEXT((uintptr_t)mBase, 0x20);
mFifo = GXInit(mBase, mSize);
data_804514B8 = true;
sCurrentFifo = this;
diff --git a/src/JSystem/JUtility/JUTVideo.cpp b/src/JSystem/JUtility/JUTVideo.cpp
index 823402eff4..77d9be31b1 100644
--- a/src/JSystem/JUtility/JUTVideo.cpp
+++ b/src/JSystem/JUtility/JUTVideo.cpp
@@ -178,7 +178,7 @@ void JUTVideo::postRetraceProc(u32 retrace_count) {
sManager->mPostCallback(retrace_count);
}
- OSSendMessage(&sManager->mMessageQueue, (OSMessage)VIGetRetraceCount(), OS_MESSAGE_NOBLOCK);
+ OSSendMessage(&sManager->mMessageQueue, (OSMessage)(uintptr_t)VIGetRetraceCount(), OS_MESSAGE_NOBLOCK);
}
void JUTVideo::setRenderMode(GXRenderModeObj const* pObj) {