Now I have a better error that's more exact, but I think next level of this is to just show a generic texture for missing ones. Closes #80.

master
Zed A. Shaw 1 day ago
parent 25a143cf22
commit ae1a48deed
  1. 1
      systems.cpp
  2. 6
      textures.cpp

@ -311,7 +311,6 @@ void System::collision(GameLevel &level) {
void System::remove_from_world(GameLevel &level, Entity entity) {
auto& item_pos = level.world->get<Position>(entity);
level.collision->remove(item_pos.location, entity);
// level.world->remove<Tile>(entity);
// if you don't do this you get the bug that you can pickup
// an item and it'll also be in your inventory
level.world->remove<Position>(entity);

@ -5,16 +5,20 @@
#include "config.hpp"
#include "constants.hpp"
#include <memory>
#include <filesystem>
namespace textures {
using std::shared_ptr, std::make_shared, nlohmann::json, std::string;
namespace fs = std::filesystem;
static TextureManager TMGR;
static bool initialized = false;
void load_sprite_textures(SpriteTextureMap &mapping, json &config, bool smooth) {
for(auto& [name, settings] : config.items()) {
auto texture = make_shared<sf::Texture>(settings["path"]);
const string& path = settings["path"];
dbc::check(fs::exists(path), fmt::format("texture at {} doesn't exist", path));
auto texture = make_shared<sf::Texture>(path);
texture->setSmooth(smooth);
auto sprite = make_shared<sf::Sprite>(*texture);

Loading…
Cancel
Save