aboutsummaryrefslogtreecommitdiff
path: root/src/irrlicht/RezArchive.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/irrlicht/RezArchive.h')
-rw-r--r--src/irrlicht/RezArchive.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/irrlicht/RezArchive.h b/src/irrlicht/RezArchive.h
new file mode 100644
index 0000000..442d80b
--- /dev/null
+++ b/src/irrlicht/RezArchive.h
@@ -0,0 +1,24 @@
+#ifndef REZARCHIVE_H
+#define REZARCHIVE_H
+
+#include <rez.h>
+#include <RezFileList.h>
+#include <irrlicht.h>
+#include <memory>
+
+class RezArchive : public irr::io::IFileArchive
+{
+public:
+ RezArchive(const irr::io::path &filename);
+ int parse();
+ virtual irr::io::IReadFile *createAndOpenFile(const irr::io::path &filename);
+ virtual irr::io::IReadFile *createAndOpenFile(irr::u32 index);
+ virtual const irr::io::IFileList *getFileList() const;
+ virtual irr::io::E_FILE_ARCHIVE_TYPE getType() const;
+
+protected:
+ std::unique_ptr<RezFileList> filelist;
+ rez::ball rez;
+};
+
+#endif