Merge pull request #233 from robojumper/arc-dvd-ret-cleanups

Small status/result cleanups for arc managers
This commit is contained in:
robojumper
2025-09-13 10:05:17 +02:00
committed by GitHub
19 changed files with 324 additions and 209 deletions
@@ -30,7 +30,7 @@ public:
EGG::ExpHeap *getHeap(s32 roomid);
inline int ensureAllEntriesLoaded() {
inline dArcResult_e ensureAllEntriesLoaded() {
return mArcTable.ensureAllEntriesLoaded();
}
@@ -5,6 +5,20 @@
#include "d/d_rawarchive.h"
#include "egg/core/eggHeap.h"
class LayoutArcControl {
public:
LayoutArcControl() : mLayoutArcs(nullptr), mNumArcs(0) {}
virtual ~LayoutArcControl();
void set(const char *const *layoutArcs, s32 numArcs);
bool load(EGG::Heap *heap) const;
bool allLoaded() const;
bool release();
private:
const char *const *mLayoutArcs;
s32 mNumArcs;
};
class LayoutArcManager {
public:
LayoutArcManager();
@@ -14,13 +28,13 @@ public:
void init(EGG::Heap *heap);
inline int ensureAllEntriesLoaded() {
inline dArcResult_e ensureAllEntriesLoaded() {
return mArcTable.ensureAllEntriesLoaded();
}
bool loadLayoutArcFromDisk(const char *object, EGG::Heap *heap);
int ensureLoaded1(const char *object);
int ensureLoaded2(const char *object);
dArcResult_e ensureLoaded1(const char *object);
dArcResult_e ensureLoaded2(const char *object);
bool hasEntry(const char *object);
bool decrement(const char *path);
void *getData(const char *oarcName, const char *fileName);
@@ -35,17 +49,4 @@ private:
dRawArcTable_c mArcTable;
};
class LayoutArcControl {
public:
LayoutArcControl() : mLayoutArcs(nullptr), mNumArcs(0) {}
virtual ~LayoutArcControl();
void set(const char *const *layoutArcs, s32 numArcs);
void load(EGG::Heap *heap);
void release();
private:
const char **mLayoutArcs;
s32 mNumArcs;
};
#endif
+16 -16
View File
@@ -4,6 +4,19 @@
#include "d/d_rawarchive.h"
#include "egg/core/eggHeap.h"
class ObjectArcControl {
public:
ObjectArcControl() : mObjectArcs(nullptr), mNumArcs(0) {}
virtual ~ObjectArcControl();
void set(const char *const *objectArcs, s32 numArcs);
bool load(EGG::Heap *heap) const;
bool release();
private:
const char *const *mObjectArcs;
s32 mNumArcs;
};
class OarcManager {
public:
OarcManager();
@@ -13,15 +26,15 @@ public:
void init(EGG::Heap *heap);
inline int ensureAllEntriesLoaded() {
inline dArcResult_e ensureAllEntriesLoaded() {
return mArcTable.ensureAllEntriesLoaded();
}
bool checkIfObjectArcExistsOnDisk(const char *object);
bool loadObjectArcFromDisk(const char *object, EGG::Heap *heap);
bool addEntryFromSuperArc(const char *object, void *data, EGG::Heap *heap);
int ensureLoaded1(const char *object);
void ensureLoaded2(const char *object);
dArcResult_e ensureLoaded1(const char *object);
dArcResult_e ensureLoaded2(const char *object);
bool decrement(const char *path);
void *getData(const char *oarcName, const char *fileName);
@@ -41,17 +54,4 @@ private:
dRawArcTable_c mArcTable;
};
class ObjectArcControl {
public:
ObjectArcControl() : mObjectArcs(nullptr), mNumArcs(0) {}
virtual ~ObjectArcControl();
void set(const char *const *objectArcs, s32 numArcs);
void load(EGG::Heap *heap);
void release();
private:
const char **mObjectArcs;
s32 mNumArcs;
};
#endif