mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-09 20:41:29 -04:00
JKernel (#20)
* JKRDvdArchive.s split * JKRMemArchive.s split * JKRAramArchive.s split * JKRCompArchive.s split * JKRDecomp.s split * JKRDvdRipper.s split * JKRAramBlock.s split * JKRAramHeap.s split * JKRAramPiece.s split * JKRAramStream.s split * removed unused .s files * JKRDvdAramRipper.s split * JKRAram.s split * cleanup and making vtables easier to debug * fixed merge errors * fixed JKRFileLoader::fetchVolumeName Co-authored-by: Pheenoh <pheenoh@gmail.com>
This commit is contained in:
@@ -9,19 +9,6 @@ class JKRFileLoader : public JKRDisposer {
|
||||
JKRFileLoader(void);
|
||||
virtual ~JKRFileLoader();
|
||||
|
||||
virtual void unmount(void);
|
||||
virtual void becomeCurrent(char const*) = 0;
|
||||
virtual void getResource(char const*) = 0;
|
||||
virtual void getResource(u32, char const*) = 0;
|
||||
virtual void readResource(void*, u32, char const*) = 0;
|
||||
virtual void readResource(void*, u32, u32, char const*) = 0;
|
||||
virtual void removeResourceAll(void) = 0;
|
||||
virtual void removeResource(void*) = 0;
|
||||
virtual void detachResource(void*) = 0;
|
||||
virtual void getResSize(void const*) const = 0;
|
||||
virtual void countFile(char const*) const = 0;
|
||||
virtual void getFirstFile(char const*) const = 0;
|
||||
|
||||
bool isMounted() {
|
||||
return this->mIsMounted;
|
||||
}
|
||||
@@ -30,12 +17,19 @@ class JKRFileLoader : public JKRDisposer {
|
||||
return this->mVolumeType;
|
||||
}
|
||||
|
||||
static void* getGlbResource(char const*);
|
||||
static void* getGlbResource(char const*, JKRFileLoader*);
|
||||
static bool removeResource(void*, JKRFileLoader*);
|
||||
static bool detachResource(void*, JKRFileLoader*);
|
||||
static JKRFileLoader* findVolume(char const**);
|
||||
static char* fetchVolumeName(char*, long, char const*);
|
||||
public:
|
||||
/* vt[03] */ virtual void unmount(void);
|
||||
/* vt[04] */ virtual void becomeCurrent(char const*) = 0;
|
||||
/* vt[05] */ virtual void getResource(char const*) = 0;
|
||||
/* vt[06] */ virtual void getResource(u32, char const*) = 0;
|
||||
/* vt[07] */ virtual void readResource(void*, u32, char const*) = 0;
|
||||
/* vt[08] */ virtual void readResource(void*, u32, u32, char const*) = 0;
|
||||
/* vt[09] */ virtual void removeResourceAll(void) = 0;
|
||||
/* vt[10] */ virtual void removeResource(void*) = 0;
|
||||
/* vt[11] */ virtual void detachResource(void*) = 0;
|
||||
/* vt[12] */ virtual void getResSize(void const*) const = 0;
|
||||
/* vt[13] */ virtual void countFile(char const*) const = 0;
|
||||
/* vt[14] */ virtual void getFirstFile(char const*) const = 0;
|
||||
|
||||
private:
|
||||
JSULink<JKRFileLoader> mFileLoaderLink;
|
||||
@@ -44,6 +38,14 @@ class JKRFileLoader : public JKRDisposer {
|
||||
bool mIsMounted;
|
||||
u8 padding_0x31[3];
|
||||
int mMountCount;
|
||||
|
||||
public:
|
||||
static void* getGlbResource(char const*);
|
||||
static void* getGlbResource(char const*, JKRFileLoader*);
|
||||
static bool removeResource(void*, JKRFileLoader*);
|
||||
static bool detachResource(void*, JKRFileLoader*);
|
||||
static JKRFileLoader* findVolume(char const**);
|
||||
static char* fetchVolumeName(char*, long, char const*);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
/* 802D44F4 002D1434 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 802D44F8 002D1438 40 82 00 18 */ bne lbl_802D4510
|
||||
/* 802D44FC 002D143C 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802D4500 002D1440 38 8D 83 40 */ addi r4, r13, lbl_804508C0-_SDA_BASE_(r13)
|
||||
/* 802D4500 002D1440 38 8D 83 40 */ addi r4, r13, 0x804508C0-0x80458580 /*lbl_804508C0-_SDA_BASE_(r13)*/
|
||||
/* 802D4504 002D1444 48 09 46 29 */ bl strcpy
|
||||
/* 802D4508 002D1448 38 6D 83 40 */ addi r3, r13, lbl_804508C0-_SDA_BASE_(r13)
|
||||
/* 802D4508 002D1448 38 6D 83 40 */ addi r3, r13, 0x804508C0-0x80458580 /*lbl_804508C0-_SDA_BASE_(r13)*/
|
||||
/* 802D450C 002D144C 48 00 00 7C */ b lbl_802D4588
|
||||
lbl_802D4510:
|
||||
/* 802D4510 002D1450 3C 60 80 3D */ lis r3, lbl_803D2D18@ha
|
||||
@@ -54,7 +54,7 @@ lbl_802D456C:
|
||||
/* 802D4574 002D14B4 88 1F 00 00 */ lbz r0, 0(r31)
|
||||
/* 802D4578 002D14B8 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 802D457C 002D14BC 40 82 00 08 */ bne lbl_802D4584
|
||||
/* 802D4580 002D14C0 3B ED 83 40 */ addi r31, r13, lbl_804508C0-_SDA_BASE_(r13)
|
||||
/* 802D4580 002D14C0 3B ED 83 40 */ addi r31, r13, 0x804508C0-0x80458580 /*lbl_804508C0-_SDA_BASE_(r13)*/
|
||||
lbl_802D4584:
|
||||
/* 802D4584 002D14C4 7F E3 FB 78 */ mr r3, r31
|
||||
lbl_802D4588:
|
||||
|
||||
Reference in New Issue
Block a user