// // Generated By: dol2asm // Translation Unit: JKRFileCache // #include "JSystem/JKernel/JKRFileCache.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // struct JSUPtrLink { /* 802DBDFC */ JSUPtrLink(void*); /* 802DBE14 */ ~JSUPtrLink(); }; struct JSUPtrList { /* 802DBEAC */ ~JSUPtrList(); /* 802DBF14 */ void initiate(); /* 802DBF4C */ void append(JSUPtrLink*); /* 802DBFF0 */ void prepend(JSUPtrLink*); /* 802DC15C */ void remove(JSUPtrLink*); }; struct JKRHeap { /* 802CE4D4 */ void alloc(u32, int); /* 802CE474 */ void alloc(u32, int, JKRHeap*); /* 802CE500 */ void free(void*, JKRHeap*); /* 802CE548 */ void free(void*); /* 802CE83C */ void findFromRoot(void*); static u8 sSystemHeap[4]; }; struct JKRFileLoader { /* 802D40F0 */ JKRFileLoader(); /* 802D4148 */ ~JKRFileLoader(); /* 802D41D4 */ void unmount(); static u8 sVolumeList[12]; static u8 sCurrentVolume[4 + 4 /* padding */]; }; struct JKRFileCache { struct CCacheBlock { /* 802D566C */ CCacheBlock(u32, u32, void const*); }; /* 802D49B4 */ void mount(char const*, JKRHeap*, char const*); /* 802D4AB4 */ JKRFileCache(char const*, char const*); /* 802D4C70 */ ~JKRFileCache(); /* 802D4D44 */ void becomeCurrent(char const*); /* 802D4DD8 */ void getResource(char const*); /* 802D4EDC */ void getResource(u32, char const*); /* 802D503C */ void readResource(void*, u32, u32, char const*); /* 802D4F64 */ void readResource(void*, u32, char const*); /* 802D50D4 */ void removeResourceAll(); /* 802D5164 */ void removeResource(void*); /* 802D51F8 */ void detachResource(void*); /* 802D526C */ void getResSize(void const*) const; /* 802D52A0 */ void countFile(char const*) const; /* 802D531C */ void getFirstFile(char const*) const; /* 802D53B8 */ void findCacheBlock(void const*) const; /* 802D53E4 */ void findCacheBlock(u32) const; /* 802D5410 */ void findFile(char*, char const*) const; /* 802D551C */ void getDvdPathName(char const*) const; /* 802D5624 */ void convStrLower(char*) const; /* 802D56C8 */ void getFsResource(char const*); /* 802D56F4 */ void getNameResource(u32, char const*); /* 802D5720 */ void readFsResource(void*, u32, char const*); /* 802D574C */ void readNameResource(void*, u32, u32, char const*); }; struct JKRFile { /* 802D9518 */ void read(void*, s32, s32); }; struct JKRDvdFinder { /* 802D4770 */ JKRDvdFinder(char const*); }; struct JKRDvdFile { /* 802D95F8 */ JKRDvdFile(char const*); /* 802D9748 */ ~JKRDvdFile(); }; // // Forward References: // extern "C" void mount__12JKRFileCacheFPCcP7JKRHeapPCc(); extern "C" void __ct__12JKRFileCacheFPCcPCc(); extern "C" void __dt__12JKRFileCacheFv(); extern "C" void becomeCurrent__12JKRFileCacheFPCc(); extern "C" void getResource__12JKRFileCacheFPCc(); extern "C" void getResource__12JKRFileCacheFUlPCc(); extern "C" void readResource__12JKRFileCacheFPvUlPCc(); extern "C" void readResource__12JKRFileCacheFPvUlUlPCc(); extern "C" void removeResourceAll__12JKRFileCacheFv(); extern "C" void removeResource__12JKRFileCacheFPv(); extern "C" void detachResource__12JKRFileCacheFPv(); extern "C" void getResSize__12JKRFileCacheCFPCv(); extern "C" void countFile__12JKRFileCacheCFPCc(); extern "C" void getFirstFile__12JKRFileCacheCFPCc(); extern "C" void findCacheBlock__12JKRFileCacheCFPCv(); extern "C" void findCacheBlock__12JKRFileCacheCFUl(); extern "C" void findFile__12JKRFileCacheCFPcPCc(); extern "C" void getDvdPathName__12JKRFileCacheCFPCc(); extern "C" void convStrLower__12JKRFileCacheCFPc(); extern "C" void __ct__Q212JKRFileCache11CCacheBlockFUlUlPCv(); extern "C" void getFsResource__12JKRFileCacheFPCc(); extern "C" void getNameResource__12JKRFileCacheFUlPCc(); extern "C" void readFsResource__12JKRFileCacheFPvUlPCc(); extern "C" void readNameResource__12JKRFileCacheFPvUlUlPCc(); extern "C" extern char const* const JKRFileCache__stringBase0; // // External References: // SECTION_INIT void memcpy(); extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); extern "C" void alloc__7JKRHeapFUli(); extern "C" void free__7JKRHeapFPvP7JKRHeap(); extern "C" void free__7JKRHeapFPv(); extern "C" void findFromRoot__7JKRHeapFPv(); extern "C" void* __nw__FUlP7JKRHeapi(); extern "C" void __dl__FPv(); extern "C" void __ct__13JKRFileLoaderFv(); extern "C" void __dt__13JKRFileLoaderFv(); extern "C" void unmount__13JKRFileLoaderFv(); extern "C" void __ct__12JKRDvdFinderFPCc(); extern "C" void read__7JKRFileFPvll(); extern "C" void __ct__10JKRDvdFileFPCc(); extern "C" void __dt__10JKRDvdFileFv(); 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 prepend__10JSUPtrListFP10JSUPtrLink(); extern "C" void remove__10JSUPtrListFP10JSUPtrLink(); extern "C" void DVDChangeDir(); extern "C" void DVDOpenDir(); extern "C" void DVDReadDir(); extern "C" bool DVDCloseDir(); 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" void tolower(); extern "C" void strrchr(); extern "C" void strcmp(); extern "C" void strcat(); extern "C" void strcpy(); extern "C" void strlen(); extern "C" u8 sVolumeList__13JKRFileLoader[12]; extern "C" u8 sSystemHeap__7JKRHeap[4]; extern "C" u8 sCurrentVolume__13JKRFileLoader[4 + 4 /* padding */]; // // Declarations: // /* 802D49B4-802D4AB4 2CF2F4 0100+00 0/0 2/2 0/0 .text mount__12JKRFileCacheFPCcP7JKRHeapPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::mount(char const* param_0, JKRHeap* param_1, char const* param_2) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/mount__12JKRFileCacheFPCcP7JKRHeapPCc.s" } #pragma pop /* ############################################################################################## */ /* 803CC238-803CC288 029358 004C+04 2/2 0/0 0/0 .data __vt__12JKRFileCache */ SECTION_DATA extern void* __vt__12JKRFileCache[19 + 1 /* padding */] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__12JKRFileCacheFv, (void*)unmount__13JKRFileLoaderFv, (void*)becomeCurrent__12JKRFileCacheFPCc, (void*)getResource__12JKRFileCacheFPCc, (void*)getResource__12JKRFileCacheFUlPCc, (void*)readResource__12JKRFileCacheFPvUlPCc, (void*)readResource__12JKRFileCacheFPvUlUlPCc, (void*)removeResourceAll__12JKRFileCacheFv, (void*)removeResource__12JKRFileCacheFPv, (void*)detachResource__12JKRFileCacheFPv, (void*)getResSize__12JKRFileCacheCFPCv, (void*)countFile__12JKRFileCacheCFPCc, (void*)getFirstFile__12JKRFileCacheCFPCc, (void*)getFsResource__12JKRFileCacheFPCc, (void*)getNameResource__12JKRFileCacheFUlPCc, (void*)readFsResource__12JKRFileCacheFPvUlPCc, (void*)readNameResource__12JKRFileCacheFPvUlUlPCc, /* padding */ NULL, }; /* 802D4AB4-802D4C70 2CF3F4 01BC+00 1/1 0/0 0/0 .text __ct__12JKRFileCacheFPCcPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JKRFileCache::JKRFileCache(char const* param_0, char const* param_1) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/__ct__12JKRFileCacheFPCcPCc.s" } #pragma pop /* 802D4C70-802D4D44 2CF5B0 00D4+00 1/0 0/0 0/0 .text __dt__12JKRFileCacheFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JKRFileCache::~JKRFileCache() { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/__dt__12JKRFileCacheFv.s" } #pragma pop /* 802D4D44-802D4DD8 2CF684 0094+00 1/0 0/0 0/0 .text becomeCurrent__12JKRFileCacheFPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::becomeCurrent(char const* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/becomeCurrent__12JKRFileCacheFPCc.s" } #pragma pop /* 802D4DD8-802D4EDC 2CF718 0104+00 1/0 0/0 0/0 .text getResource__12JKRFileCacheFPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::getResource(char const* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/getResource__12JKRFileCacheFPCc.s" } #pragma pop /* 802D4EDC-802D4F64 2CF81C 0088+00 1/0 0/0 0/0 .text getResource__12JKRFileCacheFUlPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::getResource(u32 param_0, char const* param_1) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/getResource__12JKRFileCacheFUlPCc.s" } #pragma pop /* 802D4F64-802D503C 2CF8A4 00D8+00 1/0 0/0 0/0 .text readResource__12JKRFileCacheFPvUlPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::readResource(void* param_0, u32 param_1, char const* param_2) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/readResource__12JKRFileCacheFPvUlPCc.s" } #pragma pop /* 802D503C-802D50D4 2CF97C 0098+00 1/0 0/0 0/0 .text readResource__12JKRFileCacheFPvUlUlPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::readResource(void* param_0, u32 param_1, u32 param_2, char const* param_3) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/readResource__12JKRFileCacheFPvUlUlPCc.s" } #pragma pop /* 802D50D4-802D5164 2CFA14 0090+00 1/0 0/0 0/0 .text removeResourceAll__12JKRFileCacheFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::removeResourceAll() { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/removeResourceAll__12JKRFileCacheFv.s" } #pragma pop /* 802D5164-802D51F8 2CFAA4 0094+00 1/0 0/0 0/0 .text removeResource__12JKRFileCacheFPv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::removeResource(void* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/removeResource__12JKRFileCacheFPv.s" } #pragma pop /* 802D51F8-802D526C 2CFB38 0074+00 1/0 0/0 0/0 .text detachResource__12JKRFileCacheFPv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::detachResource(void* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/detachResource__12JKRFileCacheFPv.s" } #pragma pop /* 802D526C-802D52A0 2CFBAC 0034+00 1/0 0/0 0/0 .text getResSize__12JKRFileCacheCFPCv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::getResSize(void const* param_0) const { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/getResSize__12JKRFileCacheCFPCv.s" } #pragma pop /* 802D52A0-802D531C 2CFBE0 007C+00 1/0 0/0 0/0 .text countFile__12JKRFileCacheCFPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::countFile(char const* param_0) const { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/countFile__12JKRFileCacheCFPCc.s" } #pragma pop /* 802D531C-802D53B8 2CFC5C 009C+00 1/0 0/0 0/0 .text getFirstFile__12JKRFileCacheCFPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::getFirstFile(char const* param_0) const { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/getFirstFile__12JKRFileCacheCFPCc.s" } #pragma pop /* 802D53B8-802D53E4 2CFCF8 002C+00 3/3 0/0 0/0 .text findCacheBlock__12JKRFileCacheCFPCv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::findCacheBlock(void const* param_0) const { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/findCacheBlock__12JKRFileCacheCFPCv.s" } #pragma pop /* 802D53E4-802D5410 2CFD24 002C+00 2/2 0/0 0/0 .text findCacheBlock__12JKRFileCacheCFUl */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::findCacheBlock(u32 param_0) const { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/findCacheBlock__12JKRFileCacheCFUl.s" } #pragma pop /* 802D5410-802D551C 2CFD50 010C+00 2/2 0/0 0/0 .text findFile__12JKRFileCacheCFPcPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::findFile(char* param_0, char const* param_1) const { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/findFile__12JKRFileCacheCFPcPCc.s" } #pragma pop /* 802D551C-802D5624 2CFE5C 0108+00 5/5 0/0 0/0 .text getDvdPathName__12JKRFileCacheCFPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::getDvdPathName(char const* param_0) const { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/getDvdPathName__12JKRFileCacheCFPCc.s" } #pragma pop /* 802D5624-802D566C 2CFF64 0048+00 2/2 0/0 0/0 .text convStrLower__12JKRFileCacheCFPc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::convStrLower(char* param_0) const { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/convStrLower__12JKRFileCacheCFPc.s" } #pragma pop /* 802D566C-802D56C8 2CFFAC 005C+00 1/1 0/0 0/0 .text __ct__Q212JKRFileCache11CCacheBlockFUlUlPCv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JKRFileCache::CCacheBlock::CCacheBlock(u32 param_0, u32 param_1, void const* param_2) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/__ct__Q212JKRFileCache11CCacheBlockFUlUlPCv.s" } #pragma pop /* 802D56C8-802D56F4 2D0008 002C+00 1/0 0/0 0/0 .text getFsResource__12JKRFileCacheFPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::getFsResource(char const* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/getFsResource__12JKRFileCacheFPCc.s" } #pragma pop /* 802D56F4-802D5720 2D0034 002C+00 1/0 0/0 0/0 .text getNameResource__12JKRFileCacheFUlPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::getNameResource(u32 param_0, char const* param_1) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/getNameResource__12JKRFileCacheFUlPCc.s" } #pragma pop /* 802D5720-802D574C 2D0060 002C+00 1/0 0/0 0/0 .text readFsResource__12JKRFileCacheFPvUlPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::readFsResource(void* param_0, u32 param_1, char const* param_2) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/readFsResource__12JKRFileCacheFPvUlPCc.s" } #pragma pop /* 802D574C-802D5778 2D008C 002C+00 1/0 0/0 0/0 .text readNameResource__12JKRFileCacheFPvUlUlPCc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JKRFileCache::readNameResource(void* param_0, u32 param_1, u32 param_2, char const* param_3) { nofralloc #include "asm/JSystem/JKernel/JKRFileCache/readNameResource__12JKRFileCacheFPvUlUlPCc.s" } #pragma pop /* 8039D158-8039D160 0297B8 0006+02 3/3 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on #pragma section ".dead" SECTION_DEAD static char const* const stringBase_8039D158 = "/"; SECTION_DEAD static char const* const stringBase_8039D15A = "dvd"; /* @stringBase0 padding */ SECTION_DEAD static char const* const pad_8039D15E = "\0"; #pragma pop