#include #include #include #include #include bool RezLoader::isALoadableFileFormat(const irr::io::path &filename) const { return irr::core::hasFileExtension(filename, "rez"); } bool RezLoader::isALoadableFileFormat(irr::io::IReadFile *file) const { char buf[sizeof rez::ball::title], *p = buf; size_t rem = sizeof buf; while (rem) { irr::s32 n = file->read(p, rem); if (n < 0) return false; p += n; rem -= n; } return !strcmp(buf, rez::ball::title); } bool RezLoader::isALoadableFileFormat(irr::io::E_FILE_ARCHIVE_TYPE fileType) const { return fileType == static_cast (MAKE_IRR_ID('r', 'e', 'z', 0)); } irr::io::IFileArchive *RezLoader::createArchive(const irr::io::path &filename, bool ignoreCase, bool ignorePaths) const { RezArchive *archive = new RezArchive(filename); if (archive->parse()) { delete archive; return nullptr; } return archive; } irr::io::IFileArchive *RezLoader::createArchive(irr::io::IReadFile *file, bool ignoreCase, bool ignorePaths) const { // TODO: how to do that? return nullptr; }