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/RezFileList.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/irrlicht/RezFileList.h (limited to 'src/irrlicht/RezFileList.h') diff --git a/src/irrlicht/RezFileList.h b/src/irrlicht/RezFileList.h new file mode 100644 index 0000000..a5ce077 --- /dev/null +++ b/src/irrlicht/RezFileList.h @@ -0,0 +1,35 @@ +#ifndef REZFILELIST_H +#define REZFILELIST_H + +#include +#include +#include + +class RezFileList : public irr::io::IFileList +{ +public: + RezFileList(const rez::ball &rez); + virtual irr::u32 getFileCount() const; + virtual const irr::io::path &getFileName(irr::u32 index) const; + virtual const irr::io::path &getFullFileName(irr::u32 index) const; + virtual irr::u32 getFileSize(irr::u32 index) const; + virtual irr::u32 getFileOffset(irr::u32 index) const; + virtual irr::u32 getID(irr::u32 index) const; + virtual bool isDirectory(irr::u32 index) const; + virtual irr::s32 findFile(const irr::io::path &filename, bool isFolder) const; + virtual const irr::io::path &getPath() const; + virtual irr::u32 addItem(const irr::io::path& fullPath, irr::u32 offset, + irr::u32 size, bool isDirectory, irr::u32 id); + virtual void sort(); + +protected: + const rez::ball &rez; + +private: + irr::u32 getFileCount(const rez::dir &dir) const; + int findFile(const irr::io::path &filename, bool isFolder, + const rez::dir::direntry *entry) const; + mutable std::vector entries; +}; + +#endif -- cgit v1.2.3