JKRArchive (#63)

* JKRArchivePri OK

* JKRArchivePub OK

* formatting

* removed unused asm files and tried to fixed setExpandSize and getExpandSize

Co-authored-by: Julgodis <>
This commit is contained in:
Jonathan Wase
2021-01-05 00:20:45 +01:00
committed by GitHub
parent 7215cc6a51
commit b9ef1d7f4a
70 changed files with 705 additions and 1618 deletions
@@ -4,6 +4,11 @@
#include "JSystem/JKernel/JKRDisposer/JKRDisposer.h"
#include "dolphin/types.h"
class JKRFileLoader;
extern JKRFileLoader* lbl_80451418; // JKRFileLoader::sCurrentVolume
extern JSUList<JKRFileLoader> lbl_80434354; // JKRFileLoader::sVolumeList
class JKRArcFinder;
class JKRFileLoader : public JKRDisposer {
public:
JKRFileLoader(void);
@@ -15,19 +20,19 @@ public:
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[04] */ virtual bool becomeCurrent(const char*) = 0;
/* vt[05] */ virtual void* getResource(const char*) = 0;
/* vt[06] */ virtual void* getResource(u32, const char*) = 0;
/* vt[07] */ virtual u32 readResource(void*, u32, const char*) = 0;
/* vt[08] */ virtual u32 readResource(void*, u32, u32, const char*) = 0;
/* vt[09] */ virtual void removeResourceAll(void) = 0;
/* vt[10] */ virtual bool removeResource(void*) = 0;
/* vt[11] */ virtual bool 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;
/* vt[12] */ virtual u32 getResSize(const void*) const = 0;
/* vt[13] */ virtual u32 countFile(const char*) const = 0;
/* vt[14] */ virtual JKRArcFinder* getFirstFile(const char*) const = 0;
private:
protected:
/* 0x00 */ // vtable
/* 0x04 */ // JKRDisposer
/* 0x18 */ JSULink<JKRFileLoader> mFileLoaderLink;
@@ -44,6 +49,10 @@ public:
static bool detachResource(void*, JKRFileLoader*);
static JKRFileLoader* findVolume(char const**);
static const char* fetchVolumeName(char*, long, char const*);
static JKRFileLoader* getCurrentVolume() { return lbl_80451418; }
static void setCurrentVolume(JKRFileLoader* fileLoader) { lbl_80451418 = fileLoader; }
static JSUList<JKRFileLoader>& getVolumeList() { return lbl_80434354; }
};
#endif