mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-27 00:45:10 -04:00
Merge branch 'main' into 26-02-25-more-endian-fixes
This commit is contained in:
@@ -58,7 +58,7 @@ bool JAIStream::prepare_prepareStream_() {
|
||||
|
||||
streamAramAddr_ = streamAramMgr->newStreamAram(&local_28);
|
||||
if (streamAramAddr_ != NULL) {
|
||||
inner_.aramStream_.init((u32)streamAramAddr_, local_28, &JAIStream_JASAramStreamCallback_, this);
|
||||
inner_.aramStream_.init((uintptr_t)streamAramAddr_, local_28, &JAIStream_JASAramStreamCallback_, this);
|
||||
field_0x290 = 1;
|
||||
prepareCount_ = 0;
|
||||
} else {
|
||||
|
||||
@@ -59,7 +59,7 @@ void JAIStreamMgr::freeDeadStream_() {
|
||||
mStreamList.remove(i);
|
||||
void* aramAddr = stream->JAIStreamMgr_getAramAddr_();
|
||||
if (aramAddr != NULL) {
|
||||
bool result = mStreamAramMgr->deleteStreamAram((u32)aramAddr);
|
||||
bool result = mStreamAramMgr->deleteStreamAram((uintptr_t)aramAddr);
|
||||
JUT_ASSERT(105, result);
|
||||
}
|
||||
|
||||
|
||||
@@ -245,7 +245,7 @@ void JASDriver::finishDSPFrame() {
|
||||
JASAudioThread::setDSPSyncCount(getSubFrames());
|
||||
JASProbe::start(7, "DSP-MAIN");
|
||||
u32 r27 = getFrameSamples();
|
||||
JASDsp::syncFrame(getSubFrames(), u32(sDspDacBuffer[sDspDacWriteBuffer]), u32(sDspDacBuffer[sDspDacWriteBuffer] + r27));
|
||||
JASDsp::syncFrame(getSubFrames(), uintptr_t(sDspDacBuffer[sDspDacWriteBuffer]), uintptr_t(sDspDacBuffer[sDspDacWriteBuffer] + r27));
|
||||
sDspStatus = 1;
|
||||
updateDSP();
|
||||
if (sDspDacCallback) {
|
||||
|
||||
@@ -583,7 +583,7 @@ void JASAramStream::updateChannel(u32 i_callbackType, JASChannel* i_channel,
|
||||
s32 JASAramStream::channelProc() {
|
||||
OSMessage msg;
|
||||
while (OSReceiveMessage(&field_0x020, &msg, OS_MESSAGE_NOBLOCK)) {
|
||||
switch ((u32)msg) {
|
||||
switch ((uintptr_t)msg) {
|
||||
case 4:
|
||||
field_0x0ac = true;
|
||||
break;
|
||||
@@ -598,12 +598,12 @@ s32 JASAramStream::channelProc() {
|
||||
}
|
||||
|
||||
while (OSReceiveMessage(&field_0x000, &msg, OS_MESSAGE_NOBLOCK)) {
|
||||
switch ((u32)msg & 0xff) {
|
||||
switch ((uintptr_t)msg & 0xff) {
|
||||
case 0:
|
||||
channelStart();
|
||||
break;
|
||||
case 1:
|
||||
channelStop(JSUHiHalf((u32)msg));
|
||||
channelStop(JSUHiHalf((uintptr_t)msg));
|
||||
break;
|
||||
case 2:
|
||||
field_0x0ae |= 1;
|
||||
|
||||
@@ -12,8 +12,8 @@ void JASCalc::imixcopy(const s16* s1, const s16* s2, s16* dst, u32 n) {
|
||||
}
|
||||
|
||||
void JASCalc::bcopyfast(const void* src, void* dest, u32 size) {
|
||||
JUT_ASSERT(226, (reinterpret_cast<u32>(src) & 0x03) == 0);
|
||||
JUT_ASSERT(227, (reinterpret_cast<u32>(dest) & 0x03) == 0);
|
||||
JUT_ASSERT(226, (reinterpret_cast<uintptr_t>(src) & 0x03) == 0);
|
||||
JUT_ASSERT(227, (reinterpret_cast<uintptr_t>(dest) & 0x03) == 0);
|
||||
JUT_ASSERT(228, (size & 0x0f) == 0);
|
||||
|
||||
u32 copy1, copy2, copy3, copy4;
|
||||
@@ -40,8 +40,8 @@ void JASCalc::bcopy(const void* src, void* dest, u32 size) {
|
||||
u8* bsrc = (u8*)src;
|
||||
u8* bdest = (u8*)dest;
|
||||
|
||||
u8 endbitsSrc = (reinterpret_cast<u32>(bsrc) & 0x03);
|
||||
u8 enbitsDst = (reinterpret_cast<u32>(bdest) & 0x03);
|
||||
u8 endbitsSrc = (reinterpret_cast<uintptr_t>(bsrc) & 0x03);
|
||||
u8 enbitsDst = (reinterpret_cast<uintptr_t>(bdest) & 0x03);
|
||||
if ((endbitsSrc) == (enbitsDst) && (size & 0x0f) == 0) {
|
||||
bcopyfast(src, dest, size);
|
||||
}
|
||||
@@ -77,7 +77,7 @@ void JASCalc::bcopy(const void* src, void* dest, u32 size) {
|
||||
}
|
||||
|
||||
void JASCalc::bzerofast(void* dest, u32 size) {
|
||||
JUT_ASSERT(336, (reinterpret_cast<u32>(dest) & 0x03) == 0);
|
||||
JUT_ASSERT(336, (reinterpret_cast<uintptr_t>(dest) & 0x03) == 0);
|
||||
JUT_ASSERT(337, (size & 0x0f) == 0);
|
||||
|
||||
u32* udest = (u32*)dest;
|
||||
@@ -93,12 +93,12 @@ void JASCalc::bzerofast(void* dest, u32 size) {
|
||||
void JASCalc::bzero(void* dest, u32 size) {
|
||||
u32* udest;
|
||||
u8* bdest = (u8*)dest;
|
||||
if ((size & 0x1f) == 0 && (reinterpret_cast<u32>(dest) & 0x1f) == 0) {
|
||||
if ((size & 0x1f) == 0 && (reinterpret_cast<uintptr_t>(dest) & 0x1f) == 0) {
|
||||
DCZeroRange(dest, size);
|
||||
return;
|
||||
}
|
||||
|
||||
u8 alignedbitsDst = reinterpret_cast<u32>(bdest) & 0x3;
|
||||
u8 alignedbitsDst = reinterpret_cast<uintptr_t>(bdest) & 0x3;
|
||||
|
||||
if ((size & 0xf) == 0 && alignedbitsDst == 0) {
|
||||
bzerofast(dest, size);
|
||||
|
||||
@@ -435,7 +435,8 @@ void JASDsp::initBuffer() {
|
||||
for (u8 i = 0; i < 4; i++) {
|
||||
setFXLine(i, NULL, NULL);
|
||||
}
|
||||
DsetupTable(0x40, u32(CH_BUF), u32(&DSPRES_FILTER), u32(&DSPADPCM_FILTER), u32(FX_BUF));
|
||||
DsetupTable(0x40, uintptr_t(CH_BUF), uintptr_t(&DSPRES_FILTER), uintptr_t(&DSPADPCM_FILTER), uintptr_t(FX_BUF));
|
||||
|
||||
flushBuffer();
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include <dolphin/ar.h>
|
||||
|
||||
#if !TARGET_PC
|
||||
JASHeap::JASHeap(JASDisposer* disposer) : mTree(this) {
|
||||
mDisposer = disposer;
|
||||
mBase = NULL;
|
||||
@@ -15,13 +16,14 @@ JASHeap::JASHeap(JASDisposer* disposer) : mTree(this) {
|
||||
field_0x40 = 0;
|
||||
OSInitMutex(&mMutex);
|
||||
}
|
||||
#endif
|
||||
|
||||
void JASHeap::initRootHeap(void* param_0, u32 param_1) {
|
||||
JUT_ASSERT(97, ! isAllocated());
|
||||
JASMutexLock lock(&mMutex);
|
||||
mBase = (u8*)OSRoundUp32B(param_0);
|
||||
mBase = (u8*)OSRoundUp32B((uintptr_t)param_0);
|
||||
field_0x40 = NULL;
|
||||
mSize = param_1 - (u32(mBase) - u32(param_0));
|
||||
mSize = param_1 - (uintptr_t(mBase) - uintptr_t(param_0));
|
||||
}
|
||||
|
||||
bool JASHeap::alloc(JASHeap* mother, u32 param_1) {
|
||||
@@ -51,7 +53,8 @@ bool JASHeap::alloc(JASHeap* mother, u32 param_1) {
|
||||
if (r29 >= mother->mBase + local_2c) {
|
||||
break;
|
||||
}
|
||||
u32 local_3c = u32(it->mBase) - u32(r29);
|
||||
u32 local_3c = uintptr_t(it->mBase) - uintptr_t(r29);
|
||||
|
||||
if (local_3c >= param_1 && local_3c < r27) {
|
||||
local_30 = *it;
|
||||
local_34 = r29;
|
||||
|
||||
@@ -868,7 +868,7 @@ s32 JASSeqParser::cmdPrintf(JASTrack* param_0, u32* param_1) {
|
||||
stack_10[i] = (u8)seqCtrl->readByte();
|
||||
switch (stack_c[i]) {
|
||||
case 2:
|
||||
stack_10[i] = (u32)seqCtrl->getAddr(stack_10[i]);
|
||||
stack_10[i] = (uintptr_t)seqCtrl->getAddr(stack_10[i]);
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -315,7 +315,7 @@ u32 JKRAramArchive::fetchResource_subroutine(u32 entryNum, u32 length, JKRHeap*
|
||||
case COMPRESSION_YAZ0:
|
||||
{
|
||||
u8 headerBuf[0x40];
|
||||
u8* alignHeader = (u8*)ALIGN_NEXT((s32)&headerBuf[0], sizeof(SArcHeader));
|
||||
u8* alignHeader = (u8*)ALIGN_NEXT((intptr_t)&headerBuf[0], sizeof(SArcHeader));
|
||||
JKRAramToMainRam(entryNum, alignHeader, sizeof(SArcHeader), EXPAND_SWITCH_UNKNOWN0, 0, NULL, -1, NULL);
|
||||
u32 decompressedLen = ALIGN_NEXT(JKRDecompExpandSize(alignHeader), sizeof(SArcHeader));
|
||||
buffer = (u8*)(JKRAllocFromHeap(pHeap, decompressedLen, sizeof(SArcHeader)));
|
||||
@@ -352,7 +352,7 @@ u32 JKRAramArchive::getExpandedResSize(const void* ptr) const {
|
||||
}
|
||||
|
||||
u8 tmpBuf[0x40];
|
||||
u8* buf = (u8*)ALIGN_PREV((s32)&tmpBuf[0x1F], 0x20);
|
||||
u8* buf = (u8*)ALIGN_PREV((intptr_t)&tmpBuf[0x1F], 0x20);
|
||||
JKRAramToMainRam(entry->data_offset + mBlock->getAddress(), buf, 0x20, EXPAND_SWITCH_UNKNOWN0,
|
||||
0, NULL, -1, NULL);
|
||||
u32 expandSize2 = JKRDecompExpandSize(buf);
|
||||
|
||||
@@ -38,7 +38,7 @@ JKRArchive* JKRArchive::mount(const char* path, EMountMode mountMode, JKRHeap* h
|
||||
|
||||
JKRArchive* JKRArchive::mount(void* ptr, JKRHeap* heap,
|
||||
EMountDirection mountDirection) {
|
||||
JKRArchive* archive = check_mount_already((s32)ptr, heap);
|
||||
JKRArchive* archive = check_mount_already((intptr_t)ptr, heap);
|
||||
if (archive) {
|
||||
return archive;
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ void* JKRDecomp::run() {
|
||||
}
|
||||
|
||||
if (command->mCallback) {
|
||||
(*command->mCallback)((u32)command);
|
||||
(*command->mCallback)((uintptr_t)command);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -182,7 +182,7 @@ JKRADCommand* JKRDvdAramRipper::callCommand_Async(JKRADCommand* command) {
|
||||
if (!command->mCallback) {
|
||||
(*((JSUList<JKRADCommand>*)&sDvdAramAsyncList)).append(&command->mLink);
|
||||
} else {
|
||||
command->mCallback((u32)command);
|
||||
command->mCallback((uintptr_t)command);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -523,11 +523,19 @@ void* operator new(size_t size, int alignment) {
|
||||
#else
|
||||
void* operator new(size_t size, int alignment) {
|
||||
if (sCurrentHeap == nullptr)
|
||||
#if TARGET_PC
|
||||
return aligned_alloc(alignment, size);
|
||||
#else
|
||||
return _aligned_malloc(size, alignment);
|
||||
#endif
|
||||
void* mem = JKRHeap::alloc(size, alignment, nullptr);
|
||||
if (mem == nullptr) {
|
||||
OSReport("[NEW] JKRHeap FULL! Fallback to aligned_malloc size %u\n", (unsigned)size);
|
||||
#if TARGET_PC
|
||||
return aligned_alloc(alignment, size);
|
||||
#else
|
||||
return _aligned_malloc(size, alignment);
|
||||
#endif
|
||||
}
|
||||
return mem;
|
||||
}
|
||||
@@ -560,10 +568,18 @@ void* operator new[](size_t size, int alignment) {
|
||||
#else
|
||||
void* operator new[](size_t size, int alignment) {
|
||||
if (sCurrentHeap == nullptr)
|
||||
#if TARGET_PC
|
||||
return aligned_alloc(alignment, size);
|
||||
#else
|
||||
return _aligned_malloc(size, alignment);
|
||||
#endif
|
||||
void* mem = JKRHeap::alloc(size, alignment, nullptr);
|
||||
if (mem == nullptr)
|
||||
#if TARGET_PC
|
||||
return aligned_alloc(alignment, size);
|
||||
#else
|
||||
return _aligned_malloc(size, alignment);
|
||||
#endif
|
||||
return mem;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -25,7 +25,7 @@ JKRMemArchive::JKRMemArchive(s32 entryNum, JKRArchive::EMountDirection mountDire
|
||||
}
|
||||
|
||||
JKRMemArchive::JKRMemArchive(void* buffer, u32 bufferSize, JKRMemBreakFlag param_3)
|
||||
: JKRArchive((s32)buffer, MOUNT_MEM) {
|
||||
: JKRArchive((intptr_t)buffer, MOUNT_MEM) {
|
||||
mIsMounted = false;
|
||||
if (!open(buffer, bufferSize, param_3)) {
|
||||
return;
|
||||
|
||||
@@ -317,8 +317,7 @@ void JStudio_JStage::TAdaptor_actor::TVVOutput_ANIMATION_FRAME_::operator()(
|
||||
f32 param_1, JStudio::TAdaptor* adaptor) const {
|
||||
JStage::TActor* actor = static_cast<TAdaptor_actor*>(adaptor)->get_pJSG_();
|
||||
// not sure what this bit is
|
||||
u32 idx = *(u32*)(((u32)adaptor - 1) + field_0x8);
|
||||
|
||||
u32 idx = *(u32*)(((uintptr_t)adaptor - 1) + field_0x8);
|
||||
u8 idx_lowBytes = idx;
|
||||
u8 idx_highBytes = idx >> 8;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ u32 JSUMemoryInputStream::readData(void* pData, s32 length) {
|
||||
}
|
||||
|
||||
if (length > 0) {
|
||||
memcpy(pData, (void*)((s32)mBuffer + mPosition), length);
|
||||
memcpy(pData, (void*)((intptr_t)mBuffer + mPosition), length);
|
||||
mPosition += length;
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ s32 JSUMemoryOutputStream::writeData(const void* pData, s32 length) {
|
||||
}
|
||||
|
||||
if (length > 0) {
|
||||
memcpy((void*)((s32)mBuffer + mPosition), pData, length);
|
||||
memcpy((void*)((intptr_t)mBuffer + mPosition), pData, length);
|
||||
mPosition += length;
|
||||
}
|
||||
|
||||
|
||||
@@ -211,7 +211,7 @@ bool JUTCacheFont::allocArea(void* cacheBuffer, u32 param_1, JKRHeap* heap) {
|
||||
}
|
||||
|
||||
if (cacheBuffer != NULL) {
|
||||
JUT_ASSERT(352, ( (u32)cacheBuffer & 0x1f ) == 0);
|
||||
JUT_ASSERT(352, ( (uintptr_t)cacheBuffer & 0x1f ) == 0);
|
||||
mCacheBuffer = cacheBuffer;
|
||||
field_0xb0 = 0;
|
||||
} else {
|
||||
@@ -356,8 +356,7 @@ void JUTCacheFont::getGlyphFromAram(JUTCacheFont::TGlyphCacheInfo* param_0,
|
||||
*param_3 = iVar2;
|
||||
*r30 -= iVar2 * iVar3;
|
||||
u8* result =
|
||||
JKRAramToMainRam((u32)param_0->mPrev + pGylphCacheInfo->field_0x10 * iVar2, pCachePage->mImage,
|
||||
pGylphCacheInfo->field_0x10, EXPAND_SWITCH_UNKNOWN0, 0, NULL, 0xffffffff, NULL);
|
||||
JKRAramToMainRam((uintptr_t) param_0->mPrev + pGylphCacheInfo->field_0x10 * iVar2, pCachePage->mImage, pGylphCacheInfo->field_0x10, EXPAND_SWITCH_UNKNOWN0, 0, NULL, 0xffffffff, NULL);
|
||||
JUT_ASSERT(624, result);
|
||||
GXInitTexObj(&pCachePage->mTexObj, pCachePage->mImage, pGylphCacheInfo->mWidth, pGylphCacheInfo->mHeight,
|
||||
(GXTexFmt)pGylphCacheInfo->mTexFormat, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
|
||||
@@ -30,7 +30,7 @@ JUTConsole* JUTConsole::create(unsigned int param_0, void* buffer, u32 bufferSiz
|
||||
JUTConsoleManager* pManager = JUTConsoleManager::getManager();
|
||||
JUT_ASSERT(59, pManager != NULL);
|
||||
|
||||
JUT_ASSERT(62, ( (u32)buffer & 0x3 ) == 0);
|
||||
JUT_ASSERT(62, ( (uintptr_t)buffer & 0x3 ) == 0);
|
||||
u32 maxLines = getLineFromObjectSize(bufferSize, param_0);
|
||||
|
||||
JUTConsole* console = new (buffer) JUTConsole(param_0, maxLines, false);
|
||||
|
||||
@@ -765,7 +765,7 @@ void JUTException::createFB() {
|
||||
u32 size = (u16(ALIGN_NEXT(u16(renderMode->fbWidth), 16)) * renderMode->xfbHeight) * 2;
|
||||
|
||||
void* begin = (void*)ALIGN_PREV((uintptr_t)end - size, 32);
|
||||
void* object = (void*)ALIGN_PREV((s32)begin - sizeof(JUTExternalFB), 32);
|
||||
void* object = (void*)ALIGN_PREV((intptr_t)begin - sizeof(JUTExternalFB), 32);
|
||||
new (object) JUTExternalFB(renderMode, GX_GM_1_7, begin, size);
|
||||
|
||||
mDirectPrint->changeFrameBuffer(begin, renderMode->fbWidth, renderMode->efbHeight);
|
||||
|
||||
Reference in New Issue
Block a user