From c736e13c7dd04bfa6c0580a4db3d6501dc28eed1 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Fri, 19 Dec 2025 00:01:17 +0100 Subject: Irrlicht --- src/irrlicht/RezArchive.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/irrlicht/RezArchive.cpp (limited to 'src/irrlicht/RezArchive.cpp') diff --git a/src/irrlicht/RezArchive.cpp b/src/irrlicht/RezArchive.cpp new file mode 100644 index 0000000..8b9ff05 --- /dev/null +++ b/src/irrlicht/RezArchive.cpp @@ -0,0 +1,44 @@ +#include +#include +#include +#include + +irr::io::IReadFile *RezArchive::createAndOpenFile(const irr::io::path &filename) +{ + std::unique_ptr f = rez.open(filename.c_str()); + + if (!f) + return nullptr; + + return new RezReadFile(std::move(f), filename); +} + +irr::io::IReadFile *RezArchive::createAndOpenFile(irr::u32 index) +{ + return nullptr; +} + +const irr::io::IFileList *RezArchive::getFileList() const +{ + return filelist.get(); +} + +irr::io::E_FILE_ARCHIVE_TYPE RezArchive::getType() const +{ + return static_cast + (MAKE_IRR_ID('r', 'e', 'z', 0)); +} + +int RezArchive::parse() +{ + if (rez.parse()) + return -1; + + filelist = std::make_unique(rez); + return 0; +} + +RezArchive::RezArchive(const irr::io::path &filename) : + rez(filename.c_str()) +{ +} -- cgit v1.2.3