5#ifndef NIRT_I_FILE_ARCHIVE_HPP_INCLUDED
6#define NIRT_I_FILE_ARCHIVE_HPP_INCLUDED
8#include <nirtcpp/core/engine/IReadFile.hpp>
9#include <nirtcpp/core/engine/IFileList.hpp>
20 FILESYSTEM_NATIVE = 0,
Base class of most objects of the Nirtcpp Engine.
Definition IReferenceCounted.hpp:46
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.hpp:22
Class which is able to create an archive from a file.
Definition IFileArchive.hpp:95
virtual IFileArchive * createArchive(const path &filename, bool ignoreCase, bool ignorePaths) const =0
Creates an archive from the filename.
virtual bool isALoadableFileFormat(const path &filename) const =0
Check if the file might be loaded by this class.
virtual IFileArchive * createArchive(io::IReadFile *file, bool ignoreCase, bool ignorePaths) const =0
Creates an archive from the file.
virtual bool isALoadableFileFormat(io::IReadFile *file) const =0
Check if the file might be loaded by this class.
virtual bool isALoadableFileFormat(E_FILE_ARCHIVE_TYPE fileType) const =0
Check to see if the loader can create archives of this type.
The FileArchive manages archives and provides access to files inside them.
Definition IFileArchive.hpp:54
virtual const io::path & getArchiveName() const =0
return the name (id) of the file Archive
virtual IReadFile * createAndOpenFile(const path &filename)=0
Opens a file based on its name.
virtual E_FILE_ARCHIVE_TYPE getType() const
get the archive type
Definition IFileArchive.hpp:76
virtual const IFileList * getFileList() const =0
Returns the complete file tree.
core::stringc Password
An optionally used password string.
Definition IFileArchive.hpp:86
virtual IReadFile * createAndOpenFile(u32 index)=0
Opens a file based on its position in the file list.
Provides a list of files and folders.
Definition IFileList.hpp:20
Interface providing read access to a file.
Definition IReadFile.hpp:19
E_FILE_ARCHIVE_TYPE
Contains the different types of archives.
Definition IFileArchive.hpp:26
@ EFAT_PAK
An ID Software PAK archive.
Definition IFileArchive.hpp:37
@ EFAT_WAD
A wad Archive, Quake2, Halflife.
Definition IFileArchive.hpp:46
@ EFAT_NPK
A Nebula Device archive.
Definition IFileArchive.hpp:40
@ EFAT_ZIP
A PKZIP archive.
Definition IFileArchive.hpp:28
@ EFAT_FOLDER
A virtual directory.
Definition IFileArchive.hpp:34
@ EFAT_TAR
A Tape ARchive.
Definition IFileArchive.hpp:43
@ EFAT_UNKNOWN
The type of this archive is unknown.
Definition IFileArchive.hpp:49
@ EFAT_GZIP
A gzip archive.
Definition IFileArchive.hpp:31
EFileSystemType
FileSystemType: which filesystem should be used for e.g. browsing.
Definition IFileArchive.hpp:19
As of Nirtcpp 1.6, position2d is a synonym for vector2d.
Definition vector3d.hpp:11
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.hpp:64