updates default assets policy

This commit is contained in:
MihailRis 2024-02-02 22:17:30 +03:00
parent f25677d6d2
commit 34b001041f
4 changed files with 18 additions and 16 deletions

View File

@ -50,20 +50,20 @@ void AssetsLoader::createDefaults(AssetsLoader& loader) {
loader.addLoader(ASSET_ATLAS, assetload::atlas); loader.addLoader(ASSET_ATLAS, assetload::atlas);
} }
void AssetsLoader::addDefaults(AssetsLoader& loader, bool allAssets) { void AssetsLoader::addDefaults(AssetsLoader& loader, bool world) {
if (allAssets) { loader.add(ASSET_FONT, FONTS_FOLDER"/font", "normal");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/ui", "ui");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/main", "main"); loader.add(ASSET_SHADER, SHADERS_FOLDER"/main", "main");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/lines", "lines"); loader.add(ASSET_SHADER, SHADERS_FOLDER"/lines", "lines");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/ui", "ui");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/ui3d", "ui3d");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/background", "background");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/skybox_gen", "skybox_gen");
loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/gui/menubg.png", "gui/menubg"); loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/gui/menubg.png", "gui/menubg");
loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/gui/delete_icon.png", "gui/delete_icon"); loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/gui/delete_icon.png", "gui/delete_icon");
loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/gui/no_icon.png", "gui/no_icon"); loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/gui/no_icon.png", "gui/no_icon");
if (world) {
loader.add(ASSET_SHADER, SHADERS_FOLDER"/ui3d", "ui3d");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/background", "background");
loader.add(ASSET_SHADER, SHADERS_FOLDER"/skybox_gen", "skybox_gen");
loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/misc/moon.png", "misc/moon"); loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/misc/moon.png", "misc/moon");
loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/misc/sun.png", "misc/sun"); loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/misc/sun.png", "misc/sun");
loader.add(ASSET_FONT, FONTS_FOLDER"/font", "normal");
} }
loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/blocks", "blocks"); loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/blocks", "blocks");
loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/items", "items"); loader.add(ASSET_ATLAS, TEXTURES_FOLDER"/items", "items");

View File

@ -36,7 +36,7 @@ public:
bool loadNext(); bool loadNext();
static void createDefaults(AssetsLoader& loader); static void createDefaults(AssetsLoader& loader);
static void addDefaults(AssetsLoader& loader, bool allAssets); static void addDefaults(AssetsLoader& loader, bool world);
const ResPaths* getPaths() const; const ResPaths* getPaths() const;
}; };

View File

@ -20,12 +20,14 @@ bool assetload::texture(Assets* assets,
const ResPaths* paths, const ResPaths* paths,
const std::string filename, const std::string filename,
const std::string name) { const std::string name) {
Texture* texture = png::load_texture(paths->find(filename).string()); std::unique_ptr<Texture> texture(
png::load_texture(paths->find(filename).string())
);
if (texture == nullptr) { if (texture == nullptr) {
std::cerr << "failed to load texture '" << name << "'" << std::endl; std::cerr << "failed to load texture '" << name << "'" << std::endl;
return false; return false;
} }
assets->store(texture, name); assets->store(texture.release(), name);
return true; return true;
} }
@ -163,7 +165,7 @@ bool assetload::animation(Assets* assets,
if (!appendAtlas(builder, file)) continue; if (!appendAtlas(builder, file)) continue;
} }
Atlas* srcAtlas = builder.build(2); std::unique_ptr<Atlas> srcAtlas (builder.build(2));
Texture* srcTex = srcAtlas->getTexture(); Texture* srcTex = srcAtlas->getTexture();
Texture* dstTex = dstAtlas->getTexture(); Texture* dstTex = dstAtlas->getTexture();
@ -195,7 +197,7 @@ bool assetload::animation(Assets* assets,
} }
} }
assets->store(srcAtlas, name + "_animation"); assets->store(srcAtlas.release(), name + "_animation");
assets->store(animation); assets->store(animation);
return true; return true;

View File

@ -56,7 +56,7 @@ Engine::Engine(EngineSettings& settings, EnginePaths* paths)
assets.reset(new Assets()); assets.reset(new Assets());
AssetsLoader loader(assets.get(), resPaths.get()); AssetsLoader loader(assets.get(), resPaths.get());
AssetsLoader::createDefaults(loader); AssetsLoader::createDefaults(loader);
AssetsLoader::addDefaults(loader, true); AssetsLoader::addDefaults(loader, false);
Shader::preprocessor->setPaths(resPaths.get()); Shader::preprocessor->setPaths(resPaths.get());
while (loader.hasNext()) { while (loader.hasNext()) {
@ -183,7 +183,7 @@ void Engine::loadContent() {
std::cout << "-- loading assets" << std::endl; std::cout << "-- loading assets" << std::endl;
AssetsLoader loader(new_assets.get(), resPaths.get()); AssetsLoader loader(new_assets.get(), resPaths.get());
AssetsLoader::createDefaults(loader); AssetsLoader::createDefaults(loader);
AssetsLoader::addDefaults(loader, false); AssetsLoader::addDefaults(loader, true);
while (loader.hasNext()) { while (loader.hasNext()) {
if (!loader.loadNext()) { if (!loader.loadNext()) {
new_assets.reset(); new_assets.reset();