mirror of
https://github.com/SMGCommunity/Petari.git
synced 2025-02-25 00:21:25 +00:00
Started on JKRFileLoader
This commit is contained in:
parent
6017ce99f6
commit
3d6ed5baea
@ -201,10 +201,10 @@ writeToAram__13JKRAramStreamFP20JKRAramStreamCommand,JKRAramStream.o,JKernel.a,f
|
||||
write_StreamToAram_Async__13JKRAramStreamFP18JSUFileInputStreamUlUlUlPUl,JKRAramStream.o,JKernel.a,false
|
||||
sync__13JKRAramStreamFP20JKRAramStreamCommandi,JKRAramStream.o,JKernel.a,false
|
||||
setTransBuffer__13JKRAramStreamFPUcUlP7JKRHeap,JKRAramStream.o,JKernel.a,false
|
||||
__ct__13JKRFileLoaderFv,JKRFileLoader.o,JKernel.a,false
|
||||
__ct__13JKRFileLoaderFv,JKRFileLoader.o,JKernel.a,true
|
||||
__dt__24JSULink<13JKRFileLoader>Fv,JKRFileLoader.o,JKernel.a,false
|
||||
__dt__13JKRFileLoaderFv,JKRFileLoader.o,JKernel.a,false
|
||||
unmount__13JKRFileLoaderFv,JKRFileLoader.o,JKernel.a,false
|
||||
__dt__13JKRFileLoaderFv,JKRFileLoader.o,JKernel.a,true
|
||||
unmount__13JKRFileLoaderFv,JKRFileLoader.o,JKernel.a,true
|
||||
getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader,JKRFileLoader.o,JKernel.a,false
|
||||
initializeVolumeList__13JKRFileLoaderFv,JKRFileLoader.o,JKernel.a,false
|
||||
prependVolumeList__13JKRFileLoaderFP24JSULink<13JKRFileLoader>,JKRFileLoader.o,JKernel.a,false
|
||||
|
|
@ -7,9 +7,10 @@ class JKRHeap;
|
||||
class JKRDisposer {
|
||||
public:
|
||||
JKRDisposer();
|
||||
|
||||
virtual ~JKRDisposer();
|
||||
|
||||
virtual void unmount() = 0;
|
||||
|
||||
JKRHeap* mHeap; // _4
|
||||
JSULink<JKRDisposer> mLink; // _8
|
||||
};
|
@ -4,11 +4,29 @@
|
||||
|
||||
class JKRFileLoader : public JKRDisposer {
|
||||
public:
|
||||
JKRFileLoader();
|
||||
|
||||
JKRFileLoader();
|
||||
virtual ~JKRFileLoader();
|
||||
|
||||
virtual void unmount();
|
||||
|
||||
virtual void becomeCurrent(const char *) = 0;
|
||||
virtual void getResource(const char *) = 0;
|
||||
virtual void getResource(unsigned long, const char *) = 0;
|
||||
virtual void readResource(void *, unsigned long, const char *) = 0;
|
||||
virtual void readResource(void *, unsigned long, unsigned long, const char *) = 0;
|
||||
virtual void removeResourceAll() = 0;
|
||||
virtual void removeResource(void *) = 0;
|
||||
virtual void detachResource(void *) = 0;
|
||||
virtual void getResSize(const void *) const = 0;
|
||||
virtual void countFile(const char *) const = 0;
|
||||
virtual void getFirstFile(const char *) const = 0;
|
||||
virtual void getExpandedResSize(const void *) const = 0;
|
||||
|
||||
void getGlbResource(const char *, JKRFileLoader *);
|
||||
void initializeVolumeList(void);
|
||||
void prependVolumeList(JSULink<JKRFileLoader>*);
|
||||
void removeVolumeList(JSULink<JKRFileLoader> *);
|
||||
|
||||
JSULink<JKRFileLoader> _18;
|
||||
u32 _28;
|
||||
u32 _2C;
|
||||
|
29
source/JSystem/JKernel/JKRFileLoader.cpp
Normal file
29
source/JSystem/JKernel/JKRFileLoader.cpp
Normal file
@ -0,0 +1,29 @@
|
||||
#include "JSystem/JKernel/JKRFileLoader.h"
|
||||
|
||||
namespace {
|
||||
JKRFileLoader *gFileLoader;
|
||||
}
|
||||
|
||||
JKRFileLoader::JKRFileLoader() : JKRDisposer(), _18(this) {
|
||||
_28 = 0;
|
||||
_2C = 0;
|
||||
_34 = 0;
|
||||
}
|
||||
|
||||
JKRFileLoader::~JKRFileLoader() {
|
||||
if (gFileLoader == this) {
|
||||
gFileLoader = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void JKRFileLoader::unmount() {
|
||||
if (_34 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (--_34 != 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
delete this;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user