enginefs replaced with EnginePaths class + command line arguments

This commit is contained in:
MihailRis
2023-11-26 14:07:18 +03:00
parent 7a39ba6b2e
commit fe220ee172
9 changed files with 54 additions and 85 deletions
+14 -8
View File
@@ -2,14 +2,15 @@
#include "Assets.h"
#include <iostream>
#include <filesystem>
#include <memory>
#include "../constants.h"
using std::filesystem::path;
using std::unique_ptr;
AssetsLoader::AssetsLoader(Assets* assets) : assets(assets) {
AssetsLoader::AssetsLoader(Assets* assets, path resdir)
: assets(assets), resdir(resdir) {
}
void AssetsLoader::addLoader(int tag, aloader_func func) {
@@ -105,12 +106,17 @@ void AssetsLoader::createDefaults(AssetsLoader& loader) {
}
void AssetsLoader::addDefaults(AssetsLoader& loader) {
loader.add(ASSET_SHADER, SHADERS_FOLDER"/main", "main");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/lines", "lines");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/ui", "ui");
path resdir = loader.getDirectory();
loader.add(ASSET_SHADER, resdir/path(SHADERS_FOLDER"/main"), "main");
loader.add(ASSET_SHADER, resdir/path(SHADERS_FOLDER"/lines"), "lines");
loader.add(ASSET_SHADER, resdir/path(SHADERS_FOLDER"/ui"), "ui");
loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/blocks", "blocks");
loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/menubg.png", "menubg");
loader.add(ASSET_ATLAS, resdir/path(TEXTURES_FOLDER"/blocks"), "blocks");
loader.add(ASSET_TEXTURE, resdir/path(TEXTURES_FOLDER"/menubg.png"), "menubg");
loader.add(ASSET_FONT, FONTS_FOLDER"/font", "normal");
loader.add(ASSET_FONT, resdir/path(FONTS_FOLDER"/font"), "normal");
}
path AssetsLoader::getDirectory() const {
return resdir;
}
+5 -1
View File
@@ -3,6 +3,7 @@
#include <string>
#include <functional>
#include <filesystem>
#include <map>
#include <queue>
@@ -25,8 +26,9 @@ class AssetsLoader {
Assets* assets;
std::map<int, aloader_func> loaders;
std::queue<aloader_entry> entries;
std::filesystem::path resdir;
public:
AssetsLoader(Assets* assets);
AssetsLoader(Assets* assets, std::filesystem::path resdir);
void addLoader(int tag, aloader_func func);
void add(int tag, const std::string filename, const std::string alias);
@@ -35,6 +37,8 @@ public:
static void createDefaults(AssetsLoader& loader);
static void addDefaults(AssetsLoader& loader);
std::filesystem::path getDirectory() const;
};
#endif // ASSETS_ASSETS_LOADER_H