2#include <EASTL/string.h>
3#include <EASTL/unordered_map.h>
4#include <EASTL/vector.h>
5#define JSON_NOEXCEPTION
6#include "nlohmann/json.hpp"
7#include "Stream/FileInputStream.hpp"
47 unsigned char major, minor,
patch;
74 bool getFile(
const eastl::string_view& fileTag, eastl::vector<char>& bytes);
89 bool loadFile(
const std::string& fileName);
97 bool loadJSONMappingFile(
const std::string& fileName);
104 bool loadVirtualFileSystem(
const std::string& fileName);
121 eastl::unordered_map<eastl::string, File> files;
127 FileInputStream fileInStream;
VirtualFileSystem manages a collection of files referenced by tags.
Definition VirtualFileSystem.hpp:17
FileBinaryType
Types of virtual file collections that can be stored in a VFS file.
Definition VirtualFileSystem.hpp:23
@ SOURCE_FILE
Definition VirtualFileSystem.hpp:26
@ ASSETS_FILE
Definition VirtualFileSystem.hpp:25
@ WORLD_FILE
Definition VirtualFileSystem.hpp:27
@ NONE
Definition VirtualFileSystem.hpp:24
bool buildJSONMappingFile(const std::string &fileInName, const std::string &fileOutName)
Build a binary VFS file from a JSON mapping.
Definition VirtualFileSystem.cpp:184
bool getFile(const eastl::string_view &fileTag, eastl::vector< char > &bytes)
Retrieve a file's bytes identified by its tag.
Definition VirtualFileSystem.cpp:108
bool loadFile(const std::string &fileName)
Load the virtual file system from a file.
Definition VirtualFileSystem.cpp:300
Config & getConfig()
Access the runtime configuration.
Definition VirtualFileSystem.cpp:89
Configuration for how the VirtualFileSystem should operate.
Definition VirtualFileSystem.hpp:56
FileBinaryType fileType
Definition VirtualFileSystem.hpp:58
Version version
Definition VirtualFileSystem.hpp:59
bool useStreamInput
Definition VirtualFileSystem.hpp:57
Version information for the virtual file system format.
Definition VirtualFileSystem.hpp:36
unsigned char patch
Definition VirtualFileSystem.hpp:47
static Version makeVersion(unsigned char major, unsigned char minor, unsigned char patch)
Create a Version from components.
Definition VirtualFileSystem.cpp:37
unsigned int quad
Definition VirtualFileSystem.hpp:50