From c6f76e7240dde8bbcf40a88d6d88cf87cab616b4 Mon Sep 17 00:00:00 2001 From: Caroline Madsen <69010899+randomsalience@users.noreply.github.com> Date: Wed, 9 Apr 2025 16:45:30 -0400 Subject: Various JSystem work (#2383) * JKernel and JStudio cleanup * JMessage cleanup * JAudio cleanup * JASBNKParser work * functionvalue work * fvb work * J2D and J3D cleanup * steal from tww * J2DPictureEx mostly done * fix build --- src/JSystem/JKernel/JKRAramArchive.cpp | 92 -------------------------------- src/JSystem/JKernel/JKRDvdAramRipper.cpp | 73 +++---------------------- 2 files changed, 8 insertions(+), 157 deletions(-) (limited to 'src/JSystem/JKernel') diff --git a/src/JSystem/JKernel/JKRAramArchive.cpp b/src/JSystem/JKernel/JKRAramArchive.cpp index 00dde15cd9..c4600ec372 100644 --- a/src/JSystem/JKernel/JKRAramArchive.cpp +++ b/src/JSystem/JKernel/JKRAramArchive.cpp @@ -10,95 +10,9 @@ #include "JSystem/JKernel/JKRDvdFile.h" #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/JUtility/JUTException.h" -#include "dol2asm.h" #include "math.h" #include "string.h" -// -// Forward References: -// - -extern "C" void __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection(); -extern "C" void __dt__14JKRAramArchiveFv(); -extern "C" void open__14JKRAramArchiveFl(); -extern "C" void fetchResource__14JKRAramArchiveFPQ210JKRArchive12SDIFileEntryPUl(); -extern "C" void fetchResource__14JKRAramArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl(); -extern "C" void getAramAddress_Entry__14JKRAramArchiveFPQ210JKRArchive12SDIFileEntry(); -extern "C" void getAramAddress__14JKRAramArchiveFPCc(); -extern "C" void fetchResource_subroutine__14JKRAramArchiveFUlUlPUcUli(); -extern "C" void fetchResource_subroutine__14JKRAramArchiveFUlUlP7JKRHeapiPPUc(); -extern "C" void getExpandedResSize__14JKRAramArchiveCFPCv(); -extern "C" void __dt__7JKRFileFv(); -extern "C" extern char const* const JKRAramArchive__stringBase0; - -// -// External References: -// - -extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); -extern "C" void alloc__7JKRHeapFUli(); -extern "C" void free__7JKRHeapFPvP7JKRHeap(); -extern "C" void free__7JKRHeapFPv(); -extern "C" void copyMemory__7JKRHeapFPvPvUl(); -extern "C" void* __nw__FUlP7JKRHeapi(); -extern "C" void __dl__FPv(); -extern "C" void __dt__11JKRDisposerFv(); -extern "C" void aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl(); -extern "C" void alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode(); -extern "C" void unmount__13JKRFileLoaderFv(); -extern "C" void becomeCurrent__10JKRArchiveFPCc(); -extern "C" void getResource__10JKRArchiveFPCc(); -extern "C" void getResource__10JKRArchiveFUlPCc(); -extern "C" void readResource__10JKRArchiveFPvUlUlPCc(); -extern "C" void readResource__10JKRArchiveFPvUlPCc(); -extern "C" void removeResourceAll__10JKRArchiveFv(); -extern "C" void removeResource__10JKRArchiveFPv(); -extern "C" void detachResource__10JKRArchiveFPv(); -extern "C" void getResSize__10JKRArchiveCFPCv(); -extern "C" void countFile__10JKRArchiveCFPCc(); -extern "C" void getFirstFile__10JKRArchiveCFPCc(); -extern "C" void __ct__10JKRArchiveFlQ210JKRArchive10EMountMode(); -extern "C" void __dt__10JKRArchiveFv(); -extern "C" void findFsResource__10JKRArchiveCFPCcUl(); -extern "C" void findPtrResource__10JKRArchiveCFPCv(); -extern "C" void setExpandSize__10JKRArchiveFPQ210JKRArchive12SDIFileEntryUl(); -extern "C" void getExpandSize__10JKRArchiveCFPQ210JKRArchive12SDIFileEntry(); -extern "C" void __ct__10JKRDvdFileFl(); -extern "C" void -loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl(); -extern "C" void loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl(); -extern "C" void prepend__10JSUPtrListFP10JSUPtrLink(); -extern "C" void remove__10JSUPtrListFP10JSUPtrLink(); -extern "C" void panic_f__12JUTExceptionFPCciPCce(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 sVolumeList__13JKRFileLoader[12]; -extern "C" u8 sSystemHeap__7JKRHeap[4]; -extern "C" u8 sAramObject__7JKRAram[4]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803CC328-803CC348 029448 0020+00 1/1 4/4 0/0 .data __vt__7JKRFile */ -SECTION_DATA extern void* __vt__7JKRFile[8] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__7JKRFileFv, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - /* 802D70C0-802D7168 2D1A00 00A8+00 0/0 1/1 0/0 .text * __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection */ JKRAramArchive::JKRAramArchive(s32 entryNumber, JKRArchive::EMountDirection mountDirection) @@ -424,9 +338,3 @@ u32 JKRAramArchive::getExpandedResSize(const void* ptr) const { ((JKRArchive*)this)->setExpandSize(entry, expandSize); return expandSize; } - -/* 802D7B90-802D7BF0 2D24D0 0060+00 1/0 0/0 0/0 .text __dt__7JKRFileFv */ -// JKRFile::~JKRFile() { -extern "C" void __dt__7JKRFileFv() { - // NONMATCHING -} \ No newline at end of file diff --git a/src/JSystem/JKernel/JKRDvdAramRipper.cpp b/src/JSystem/JKernel/JKRDvdAramRipper.cpp index f6cbd48da0..9d080e3620 100644 --- a/src/JSystem/JKernel/JKRDvdAramRipper.cpp +++ b/src/JSystem/JKernel/JKRDvdAramRipper.cpp @@ -17,59 +17,6 @@ static u8* firstSrcData(); static u8* nextSrcData(u8*); static u32 dmaBufferFlush(u32); -extern "C" void __dt__18JSUFileInputStreamFv(); -extern "C" static int JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl(); -extern "C" static int decompSZS_subroutine__FPUcUl(); -extern "C" static u8* firstSrcData__Fv(); -extern "C" static u8* nextSrcData__FPUc(); -extern "C" static int dmaBufferFlush__FUl(); -extern "C" void __sinit_JKRDvdAramRipper_cpp(); -extern "C" void func_802DB62C(void* _this); -extern "C" u8 sDvdAramAsyncList__16JKRDvdAramRipper[12]; -extern "C" u32 sSZSBufferSize__16JKRDvdAramRipper; - -// -// External References: -// - -extern "C" void alloc__7JKRHeapFUli(); -extern "C" void free__7JKRHeapFPvP7JKRHeap(); -extern "C" void* __nw__FUlP7JKRHeapi(); -extern "C" void __dl__FPv(); -extern "C" void alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode(); -extern "C" void orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock(); -extern "C" void write_StreamToAram_Async__13JKRAramStreamFP18JSUFileInputStreamUlUlUlPUl(); -extern "C" void sync__13JKRAramStreamFP20JKRAramStreamCommandi(); -extern "C" void checkCompressed__9JKRDecompFPUc(); -extern "C" void __ct__10JSUPtrLinkFPv(); -extern "C" void __dt__10JSUPtrLinkFv(); -extern "C" void __dt__10JSUPtrListFv(); -extern "C" void initiate__10JSUPtrListFv(); -extern "C" void append__10JSUPtrListFP10JSUPtrLink(); -extern "C" void remove__10JSUPtrListFP10JSUPtrLink(); -extern "C" void __dt__14JSUInputStreamFv(); -extern "C" void __ct__18JSUFileInputStreamFP7JKRFile(); -extern "C" void __register_global_object(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__20JSURandomInputStream[9]; -extern "C" extern void* __vt__18JSUFileInputStream[9 + 1 /* padding */]; -extern "C" u8 sSystemHeap__7JKRHeap[4]; -extern "C" u8 sAramObject__7JKRAram[4]; -extern "C" bool errorRetry__16JKRDvdAramRipper; - -// -// Declarations: -// - /* 802DA874-802DA918 2D51B4 00A4+00 0/0 3/3 0/0 .text * loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl */ JKRAramBlock* JKRDvdAramRipper::loadToAram(s32 entryNumber, u32 address, @@ -249,12 +196,6 @@ JKRADCommand* JKRDvdAramRipper::callCommand_Async(JKRADCommand* command) { return bVar1 == true ? command : NULL; } -/* 802DADD8-802DAE48 2D5718 0070+00 0/0 1/0 0/0 .text __dt__18JSUFileInputStreamFv */ -// JSUFileInputStream::~JSUFileInputStream() { -extern "C" void __dt__18JSUFileInputStreamFv() { - // NONMATCHING -} - /* 802DAE48-802DAF1C 2D5788 00D4+00 1/1 0/0 0/0 .text * syncAram__16JKRDvdAramRipperFP12JKRADCommandi */ bool JKRDvdAramRipper::syncAram(JKRADCommand* command, int param_1) { @@ -295,7 +236,6 @@ JKRADCommand::~JKRADCommand() { } } -/* ############################################################################################## */ /* 804343C0-804343D8 0610E0 0018+00 1/1 0/0 0/0 .bss decompMutex */ static OSMutex decompMutex; @@ -518,11 +458,14 @@ static u8* firstSrcData() { } /* 802DB49C-802DB580 2D5DDC 00E4+00 1/1 0/0 0/0 .text nextSrcData__FPUc */ -// NONMATCHING - regalloc static u8* nextSrcData(u8* src) { - u8* dest; u32 size = szpEnd - src; - dest = IS_NOT_ALIGNED(size, 0x20) ? szpBuf + 0x20 - (size & (0x20 - 1)) : szpBuf; + u8* dest; + if (IS_NOT_ALIGNED(size, 0x20)) { + dest = szpBuf + 0x20 - (size & (0x20 - 1)); + } else { + dest = szpBuf; + } memcpy(dest, src, size); u32 transSize = szpEnd - (dest + size); if (transSize > transLeft) { @@ -530,11 +473,11 @@ static u8* nextSrcData(u8* src) { } while (true) { - s32 result = DVDReadPrio(&srcFile->mFileInfo, dest + size, transSize, srcOffset, 2); + s32 result = DVDReadPrio(srcFile->getFileInfo(), dest + size, transSize, srcOffset, 2); if (result >= 0) { break; } - if (JKRDvdAramRipper::errorRetry == 0) { + if (!JKRDvdAramRipper::isErrorRetry()) { return NULL; } VIWaitForRetrace(); -- cgit v1.2.3