Files
dusklight/libs/JSystem/JKernel/JKRMemArchive.cpp
T
2021-03-31 23:22:38 +02:00

710 lines
19 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: JKRMemArchive
//
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JKernel/JKRMemArchive.h"
//
// Types:
//
struct JUTException {
/* 802E21FC */ // False False
// char const* False
// char const False
// char False
// int False
// char const* False
// char const False
// char False
// ... False
void panic_f(char const*, int, char const*, ...);
};
struct JSUPtrLink {
};
struct JSUPtrList {
/* 802DBFF0 */ // False False
// JSUPtrLink* False
// JSUPtrLink False
void prepend(JSUPtrLink*);
/* 802DC15C */ // False False
// JSUPtrLink* False
// JSUPtrLink False
void remove(JSUPtrLink*);
};
struct JKRMemBreakFlag {
};
struct JKRArchive {
struct EMountDirection {
};
struct SDIFileEntry {
};
struct EMountMode {
};
/* 802D5A38 */ // False False
// char const* False
// char const False
// char False
void becomeCurrent(char const*);
/* 802D5C64 */ // False False
// u32 False
// char const* False
// char const False
// char False
void getResource(u32, char const*);
/* 802D5BE8 */ // False False
// char const* False
// char const False
// char False
void getResource(char const*);
/* 802D5D8C */ // False False
// void* False
// void False
// u32 False
// u32 False
// char const* False
// char const False
// char False
void readResource(void*, u32, u32, char const*);
/* 802D5E30 */ // False False
// void* False
// void False
// u32 False
// char const* False
// char const False
// char False
void readResource(void*, u32, char const*);
/* 802D609C */ // False False
// void* False
// void False
void detachResource(void*);
/* 802D60D8 */ // False False
// void const* False
// void const False
// void False
void getResSize(void const*) const;
/* 802D6150 */ // False False
// char const* False
// char const False
// char False
void countFile(char const*) const;
/* 802D61B0 */ // False False
// char const* False
// char const False
// char False
void getFirstFile(char const*) const;
/* 802D6294 */ // False False
// s32 False
// JKRArchive::EMountMode False
JKRArchive(s32, JKRArchive::EMountMode);
/* 802D6334 */ // False False
~JKRArchive();
/* 802D6734 */ // False False
// void const* False
// void const False
// void False
void findPtrResource(void const*) const;
/* 802D693C */ // False False
// JKRArchive::SDIFileEntry* False
// JKRArchive::SDIFileEntry False
// u32 False
void setExpandSize(JKRArchive::SDIFileEntry*, u32);
/* 802D6978 */ // False False
// JKRArchive::SDIFileEntry* False
// JKRArchive::SDIFileEntry False
void getExpandSize(JKRArchive::SDIFileEntry*) const;
};
struct JKRMemArchive {
/* 802D6A6C */ // False False
// void* False
// void False
// u32 False
// JKRMemBreakFlag False
JKRMemArchive(void*, u32, JKRMemBreakFlag);
/* 802D69B8 */ // False False
// s32 False
// JKRArchive::EMountDirection False
JKRMemArchive(s32, JKRArchive::EMountDirection);
/* 802D6B24 */ // True False
~JKRMemArchive();
/* 802D6BCC */ // True False
// s32 False
// JKRArchive::EMountDirection False
void open(s32, JKRArchive::EMountDirection);
/* 802D6D30 */ // True False
// void* False
// void False
// u32 False
// JKRMemBreakFlag False
void open(void*, u32, JKRMemBreakFlag);
/* 802D6E10 */ // True False
// void* False
// void False
// u32 False
// JKRArchive::SDIFileEntry* False
// JKRArchive::SDIFileEntry False
// u32* False
// u32 False
void fetchResource(void*, u32, JKRArchive::SDIFileEntry*, u32*);
/* 802D6DDC */ // True False
// JKRArchive::SDIFileEntry* False
// JKRArchive::SDIFileEntry False
// u32* False
// u32 False
void fetchResource(JKRArchive::SDIFileEntry*, u32*);
/* 802D6ED0 */ // True False
void removeResourceAll();
/* 802D6F20 */ // True False
// void* False
// void False
void removeResource(void*);
/* 802D6F5C */ // False False
// u8* False
// u8 False
// u32 False
// u8* False
// u8 False
// u32 False
// int False
void fetchResource_subroutine(u8*, u32, u8*, u32, int);
/* 802D7030 */ // True False
// void const* False
// void const False
// void False
void getExpandedResSize(void const*) const;
};
struct JKRHeap {
/* 802CE500 */ // False False
// void* False
// void False
// JKRHeap* False
// JKRHeap False
void free(void*, JKRHeap*);
/* 802CE83C */ // False False
// void* False
// void False
void findFromRoot(void*);
};
struct JKRFileLoader {
/* 802D41D4 */ // False False
void unmount();
};
struct JKRExpandSwitch {
};
struct JKRDvdRipper {
struct EAllocDirection {
};
/* 802D9C54 */ // False False
// s32 False
// u8* False
// u8 False
// JKRExpandSwitch False
// u32 False
// JKRHeap* False
// JKRHeap False
// JKRDvdRipper::EAllocDirection False
// u32 False
// int* False
// int False
// u32* False
// u32 False
void loadToMainRAM(s32, u8*, JKRExpandSwitch, u32, JKRHeap*, JKRDvdRipper::EAllocDirection, u32, int*, u32*);
};
struct JKRDecomp {
/* 802DB988 */ // False False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
void orderSync(u8*, u8*, u32, u32);
};
//
// Forward References:
//
// False False
// s32 False
// JKRArchive::EMountDirection False
extern "C" void __ct__13JKRMemArchiveFlQ210JKRArchive15EMountDirection();
// False False
// void* False
// void False
// u32 False
// JKRMemBreakFlag False
extern "C" void __ct__13JKRMemArchiveFPvUl15JKRMemBreakFlag();
// True False
extern "C" void __dt__13JKRMemArchiveFv();
// True False
// s32 False
// JKRArchive::EMountDirection False
extern "C" void open__13JKRMemArchiveFlQ210JKRArchive15EMountDirection();
// True False
// void* False
// void False
// u32 False
// JKRMemBreakFlag False
extern "C" void open__13JKRMemArchiveFPvUl15JKRMemBreakFlag();
// True False
// JKRArchive::SDIFileEntry* False
// JKRArchive::SDIFileEntry False
// u32* False
// u32 False
extern "C" void fetchResource__13JKRMemArchiveFPQ210JKRArchive12SDIFileEntryPUl();
// True False
// void* False
// void False
// u32 False
// JKRArchive::SDIFileEntry* False
// JKRArchive::SDIFileEntry False
// u32* False
// u32 False
extern "C" void fetchResource__13JKRMemArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl();
// True False
extern "C" void removeResourceAll__13JKRMemArchiveFv();
// True False
// void* False
// void False
extern "C" void removeResource__13JKRMemArchiveFPv();
// False False
// u8* False
// u8 False
// u32 False
// u8* False
// u8 False
// u32 False
// int False
extern "C" void fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli();
// True False
// void const* False
// void const False
// void False
extern "C" void getExpandedResSize__13JKRMemArchiveCFPCv();
extern "C" extern char const* const JKRMemArchive__stringBase0;
extern "C" extern void* __vt__13JKRMemArchive[20];
//
// External References:
//
// False False
// void False
// void* False
// void False
void operator delete(void*);
// False False
SECTION_INIT void memcpy();
// False False
// void* False
// void False
// JKRHeap* False
// JKRHeap False
extern "C" void free__7JKRHeapFPvP7JKRHeap();
// False False
// void* False
// void False
extern "C" void findFromRoot__7JKRHeapFPv();
// False False
// void False
// void* False
// void False
extern "C" void __dl__FPv();
// False False
extern "C" void unmount__13JKRFileLoaderFv();
// False False
// char const* False
// char const False
// char False
extern "C" void becomeCurrent__10JKRArchiveFPCc();
// False False
// char const* False
// char const False
// char False
extern "C" void getResource__10JKRArchiveFPCc();
// False False
// u32 False
// char const* False
// char const False
// char False
extern "C" void getResource__10JKRArchiveFUlPCc();
// False False
// void* False
// void False
// u32 False
// u32 False
// char const* False
// char const False
// char False
extern "C" void readResource__10JKRArchiveFPvUlUlPCc();
// False False
// void* False
// void False
// u32 False
// char const* False
// char const False
// char False
extern "C" void readResource__10JKRArchiveFPvUlPCc();
// False False
// void* False
// void False
extern "C" void detachResource__10JKRArchiveFPv();
// False False
// void const* False
// void const False
// void False
extern "C" void getResSize__10JKRArchiveCFPCv();
// False False
// char const* False
// char const False
// char False
extern "C" void countFile__10JKRArchiveCFPCc();
// False False
// char const* False
// char const False
// char False
extern "C" void getFirstFile__10JKRArchiveCFPCc();
// False False
// s32 False
// JKRArchive::EMountMode False
extern "C" void __ct__10JKRArchiveFlQ210JKRArchive10EMountMode();
// False False
extern "C" void __dt__10JKRArchiveFv();
// False False
// void const* False
// void const False
// void False
extern "C" void findPtrResource__10JKRArchiveCFPCv();
// False False
// JKRArchive::SDIFileEntry* False
// JKRArchive::SDIFileEntry False
// u32 False
extern "C" void setExpandSize__10JKRArchiveFPQ210JKRArchive12SDIFileEntryUl();
// False False
// JKRArchive::SDIFileEntry* False
// JKRArchive::SDIFileEntry False
extern "C" void getExpandSize__10JKRArchiveCFPQ210JKRArchive12SDIFileEntry();
// False False
// s32 False
// u8* False
// u8 False
// JKRExpandSwitch False
// u32 False
// JKRHeap* False
// JKRHeap False
// JKRDvdRipper::EAllocDirection False
// u32 False
// int* False
// int False
// u32* False
// u32 False
extern "C" void loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl();
// False False
// u8* False
// u8 False
// u8* False
// u8 False
// u32 False
// u32 False
extern "C" void orderSync__9JKRDecompFPUcPUcUlUl();
// False False
// JSUPtrLink* False
// JSUPtrLink False
extern "C" void prepend__10JSUPtrListFP10JSUPtrLink();
// False False
// JSUPtrLink* False
// JSUPtrLink False
extern "C" void remove__10JSUPtrListFP10JSUPtrLink();
// False False
// char const* False
// char const False
// char False
// int False
// char const* False
// char const False
// char False
// ... False
extern "C" void panic_f__12JUTExceptionFPCciPCce();
// False False
extern "C" void DCInvalidateRange();
// False False
extern "C" void _savegpr_28();
// False False
extern "C" void _savegpr_29();
// False False
extern "C" void _restgpr_28();
// False False
extern "C" void _restgpr_29();
extern "C" extern u8 sVolumeList__13JKRFileLoader[12];
//
// Declarations:
//
/* ############################################################################################## */
/* 803CC2D8-803CC328 0050+00 s=3 e=0 z=0 None .data __vt__13JKRMemArchive */
SECTION_DATA void* __vt__13JKRMemArchive[20] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__13JKRMemArchiveFv,
(void*)unmount__13JKRFileLoaderFv,
(void*)becomeCurrent__10JKRArchiveFPCc,
(void*)getResource__10JKRArchiveFPCc,
(void*)getResource__10JKRArchiveFUlPCc,
(void*)readResource__10JKRArchiveFPvUlPCc,
(void*)readResource__10JKRArchiveFPvUlUlPCc,
(void*)removeResourceAll__13JKRMemArchiveFv,
(void*)removeResource__13JKRMemArchiveFPv,
(void*)detachResource__10JKRArchiveFPv,
(void*)getResSize__10JKRArchiveCFPCv,
(void*)countFile__10JKRArchiveCFPCc,
(void*)getFirstFile__10JKRArchiveCFPCc,
(void*)getExpandedResSize__13JKRMemArchiveCFPCv,
(void*)fetchResource__13JKRMemArchiveFPQ210JKRArchive12SDIFileEntryPUl,
(void*)fetchResource__13JKRMemArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl,
(void*)setExpandSize__10JKRArchiveFPQ210JKRArchive12SDIFileEntryUl,
(void*)getExpandSize__10JKRArchiveCFPQ210JKRArchive12SDIFileEntry,
};
/* 802D69B8-802D6A6C 00B4+00 s=0 e=2 z=0 None .text __ct__13JKRMemArchiveFlQ210JKRArchive15EMountDirection */
// 802D69C8: 803621DC (_savegpr_29)
// 802D69DC: 802D6294 (__ct__10JKRArchiveFlQ210JKRArchive10EMountMode)
// 802D69E0: 803CC2D8 (__vt__13JKRMemArchive)
// 802D69E4: 803CC2D8 (__vt__13JKRMemArchive)
// 802D6A04: 802D6BCC (open__13JKRMemArchiveFlQ210JKRArchive15EMountDirection)
// 802D6A38: 80434354 (sVolumeList__13JKRFileLoader)
// 802D6A3C: 80434354 (sVolumeList__13JKRFileLoader)
// 802D6A44: 802DBFF0 (prepend__10JSUPtrListFP10JSUPtrLink)
// 802D6A58: 80362228 (_restgpr_29)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
// s32 False
// JKRArchive::EMountDirection False
asm JKRMemArchive::JKRMemArchive(s32 param_0, JKRArchive::EMountDirection param_1) {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/__ct__13JKRMemArchiveFlQ210JKRArchive15EMountDirection.s"
}
#pragma pop
/* 802D6A6C-802D6B24 00B8+00 s=0 e=2 z=0 None .text __ct__13JKRMemArchiveFPvUl15JKRMemBreakFlag */
// 802D6A7C: 803621D8 (_savegpr_28)
// 802D6A94: 802D6294 (__ct__10JKRArchiveFlQ210JKRArchive10EMountMode)
// 802D6A98: 803CC2D8 (__vt__13JKRMemArchive)
// 802D6A9C: 803CC2D8 (__vt__13JKRMemArchive)
// 802D6ABC: 802D6D30 (open__13JKRMemArchiveFPvUl15JKRMemBreakFlag)
// 802D6AF0: 80434354 (sVolumeList__13JKRFileLoader)
// 802D6AF4: 80434354 (sVolumeList__13JKRFileLoader)
// 802D6AFC: 802DBFF0 (prepend__10JSUPtrListFP10JSUPtrLink)
// 802D6B10: 80362224 (_restgpr_28)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
// void* False
// void False
// u32 False
// JKRMemBreakFlag False
asm JKRMemArchive::JKRMemArchive(void* param_0, u32 param_1, JKRMemBreakFlag param_2) {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/__ct__13JKRMemArchiveFPvUl15JKRMemBreakFlag.s"
}
#pragma pop
/* 802D6B24-802D6BCC 00A8+00 s=1 e=0 z=0 None .text __dt__13JKRMemArchiveFv */
// 802D6B44: 803CC2D8 (__vt__13JKRMemArchive)
// 802D6B48: 803CC2D8 (__vt__13JKRMemArchive)
// 802D6B78: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
// 802D6B7C: 80434354 (sVolumeList__13JKRFileLoader)
// 802D6B80: 80434354 (sVolumeList__13JKRFileLoader)
// 802D6B88: 802DC15C (remove__10JSUPtrListFP10JSUPtrLink)
// 802D6B9C: 802D6334 (__dt__10JKRArchiveFv)
// 802D6BAC: 802CED3C (__dl__FPv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm JKRMemArchive::~JKRMemArchive() {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/__dt__13JKRMemArchiveFv.s"
}
#pragma pop
/* 802D6BCC-802D6D30 0164+00 s=1 e=0 z=0 None .text open__13JKRMemArchiveFlQ210JKRArchive15EMountDirection */
// 802D6C38: 802D9C54 (loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl)
// 802D6C50: 8033B580 (DCInvalidateRange)
// 802D6C80: 802D9C54 (loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl)
// 802D6C98: 8033B580 (DCInvalidateRange)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// s32 False
// JKRArchive::EMountDirection False
asm void JKRMemArchive::open(s32 param_0, JKRArchive::EMountDirection param_1) {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/open__13JKRMemArchiveFlQ210JKRArchive15EMountDirection.s"
}
#pragma pop
/* 802D6D30-802D6DDC 00AC+00 s=1 e=0 z=0 None .text open__13JKRMemArchiveFPvUl15JKRMemBreakFlag */
// 802D6DB4: 802CE83C (findFromRoot__7JKRHeapFPv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// void* False
// void False
// u32 False
// JKRMemBreakFlag False
asm void JKRMemArchive::open(void* param_0, u32 param_1, JKRMemBreakFlag param_2) {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/open__13JKRMemArchiveFPvUl15JKRMemBreakFlag.s"
}
#pragma pop
/* 802D6DDC-802D6E10 0034+00 s=1 e=0 z=0 None .text fetchResource__13JKRMemArchiveFPQ210JKRArchive12SDIFileEntryPUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// JKRArchive::SDIFileEntry* False
// JKRArchive::SDIFileEntry False
// u32* False
// u32 False
asm void JKRMemArchive::fetchResource(JKRArchive::SDIFileEntry* param_0, u32* param_1) {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/fetchResource__13JKRMemArchiveFPQ210JKRArchive12SDIFileEntryPUl.s"
}
#pragma pop
/* 802D6E10-802D6ED0 00C0+00 s=1 e=0 z=0 None .text fetchResource__13JKRMemArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl */
// 802D6E20: 803621DC (_savegpr_29)
// 802D6E54: 80003540 (memcpy)
// 802D6EA0: 802D6F5C (fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli)
// 802D6EBC: 80362228 (_restgpr_29)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// void* False
// void False
// u32 False
// JKRArchive::SDIFileEntry* False
// JKRArchive::SDIFileEntry False
// u32* False
// u32 False
asm void JKRMemArchive::fetchResource(void* param_0, u32 param_1, JKRArchive::SDIFileEntry* param_2, u32* param_3) {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/fetchResource__13JKRMemArchiveFPvUlPQ210JKRArchive12SDIFileEntryPUl.s"
}
#pragma pop
/* 802D6ED0-802D6F20 0050+00 s=1 e=0 z=0 None .text removeResourceAll__13JKRMemArchiveFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm void JKRMemArchive::removeResourceAll() {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/removeResourceAll__13JKRMemArchiveFv.s"
}
#pragma pop
/* 802D6F20-802D6F5C 003C+00 s=1 e=0 z=0 None .text removeResource__13JKRMemArchiveFPv */
// 802D6F2C: 802D6734 (findPtrResource__10JKRArchiveCFPCv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// void* False
// void False
asm void JKRMemArchive::removeResource(void* param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/removeResource__13JKRMemArchiveFPv.s"
}
#pragma pop
/* ############################################################################################## */
/* 8039D160-8039D188 0027+01 s=1 e=0 z=0 None .rodata @stringBase0 */
#pragma push
#pragma force_active on
#pragma section ".dead"
SECTION_DEAD char const* const stringBase_8039D160 = "JKRMemArchive.cpp";
SECTION_DEAD char const* const stringBase_8039D172 = "%s";
SECTION_DEAD char const* const stringBase_8039D175 = "??? bad sequence\n";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_8039D187 = "";
#pragma pop
/* 802D6F5C-802D7030 00D4+00 s=1 e=1 z=0 None .text fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli */
// 802D6FA4: 80003540 (memcpy)
// 802D6FF0: 802DB988 (orderSync__9JKRDecompFPUcPUcUlUl)
// 802D6FFC: 8039D160 (JKRMemArchive__stringBase0)
// 802D7000: 8039D160 (JKRMemArchive__stringBase0)
// 802D7014: 802E21FC (panic_f__12JUTExceptionFPCciPCce)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
// u8* False
// u8 False
// u32 False
// u8* False
// u8 False
// u32 False
// int False
asm void JKRMemArchive::fetchResource_subroutine(u8* param_0, u32 param_1, u8* param_2, u32 param_3, int param_4) {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli.s"
}
#pragma pop
/* 802D7030-802D70C0 0090+00 s=1 e=0 z=0 None .text getExpandedResSize__13JKRMemArchiveCFPCv */
// 802D704C: 802D6734 (findPtrResource__10JKRArchiveCFPCv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// void const* False
// void const False
// void False
asm void JKRMemArchive::getExpandedResSize(void const* param_0) const {
nofralloc
#include "asm/JSystem/JKernel/JKRMemArchive/getExpandedResSize__13JKRMemArchiveCFPCv.s"
}
#pragma pop