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"
48 unsigned char major, minor,
patch;
75 bool getFile(
const eastl::string_view& fileTag, eastl::vector<char>& bytes);
90 bool loadFile(
const std::string& fileName);
98 bool loadJSONMappingFile(
const std::string& fileName);
105 bool loadVirtualFileSystem(
const std::string& fileName);
122 eastl::unordered_map<eastl::string, File> files;
VirtualFileSystem manages a collection of files referenced by tags.
Definition VirtualFileSystem.hpp:18
bool getFile(const eastl::string_view &fileTag, eastl::vector< char > &bytes)
Retrieve a file's bytes identified by its tag.
Definition VirtualFileSystem.cpp:109
bool loadFile(const std::string &fileName)
Load the virtual file system from a file.
Definition VirtualFileSystem.cpp:301
FileBinaryType
Types of virtual file collections that can be stored in a VFS file.
Definition VirtualFileSystem.hpp:24
@ ASSETS_FILE
Definition VirtualFileSystem.hpp:26
@ WORLD_FILE
Definition VirtualFileSystem.hpp:28
@ NONE
Definition VirtualFileSystem.hpp:25
@ SOURCE_FILE
Definition VirtualFileSystem.hpp:27
Config & getConfig()
Access the runtime configuration.
Definition VirtualFileSystem.cpp:90
bool buildJSONMappingFile(const std::string &fileInName, const std::string &fileOutName)
Build a binary VFS file from a JSON mapping.
Definition VirtualFileSystem.cpp:185
Configuration for how the VirtualFileSystem should operate.
Definition VirtualFileSystem.hpp:57
Version version
Definition VirtualFileSystem.hpp:60
bool useStreamInput
Definition VirtualFileSystem.hpp:58
FileBinaryType fileType
Definition VirtualFileSystem.hpp:59
Version information for the virtual file system format.
Definition VirtualFileSystem.hpp:37
unsigned char patch
Definition VirtualFileSystem.hpp:48
unsigned int quad
Definition VirtualFileSystem.hpp:51
static Version makeVersion(unsigned char major, unsigned char minor, unsigned char patch)
Create a Version from components.
Definition VirtualFileSystem.cpp:38