mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-28 23:15:32 -04:00
4df8ccc871
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN}
* Update configure.py and project.py for new libs structure
* Refactor `#include <dolphin/x.h>` -> `<x.h>`
* Remove `__REVOLUTION_SDK__` forwards from dolphin
* Fix dolphin/ references in revolution
* Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__`
* Always build TRK against dolphin headers
* Resolve revolution SDK header resolution issues
45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
#ifndef JKRMEMARCHIVE_H
|
|
#define JKRMEMARCHIVE_H
|
|
|
|
#include "JSystem/JKernel/JKRArchive.h"
|
|
|
|
enum JKRMemBreakFlag {
|
|
JKRMEMBREAK_FLAG_UNKNOWN0 = 0,
|
|
JKRMEMBREAK_FLAG_UNKNOWN1 = 1,
|
|
};
|
|
|
|
/**
|
|
* @ingroup jsystem-jkernel
|
|
*
|
|
*/
|
|
class JKRMemArchive : public JKRArchive {
|
|
public:
|
|
JKRMemArchive(s32, JKRArchive::EMountDirection);
|
|
JKRMemArchive(void*, u32, JKRMemBreakFlag);
|
|
virtual ~JKRMemArchive();
|
|
|
|
bool open(s32, JKRArchive::EMountDirection);
|
|
bool open(void*, u32, JKRMemBreakFlag);
|
|
|
|
/* vt[09] */ void removeResourceAll(void); /* override */
|
|
/* vt[10] */ bool removeResource(void*); /* override */
|
|
|
|
/* vt[15] */ u32 getExpandedResSize(const void*) const; /* override */
|
|
/* vt[16] */ void* fetchResource(SDIFileEntry*, u32*); /* override */
|
|
/* vt[17] */ void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */
|
|
|
|
public:
|
|
static u32 fetchResource_subroutine(u8*, u32, u8*, u32, JKRCompression);
|
|
SArcHeader* getArcHeader() { return mArcHeader; }
|
|
|
|
public:
|
|
/* 0x00 */ // vtable
|
|
/* 0x04 */ // JKRArchive
|
|
/* 0x64 */ SArcHeader* mArcHeader;
|
|
/* 0x68 */ u8* mArchiveData;
|
|
/* 0x6C */ bool mIsOpen;
|
|
/* 0x6D */ u8 field_0x6d[3];
|
|
};
|
|
|
|
#endif /* JKRMEMARCHIVE_H */
|