#include #include "dbc.hpp" #include #include "config.hpp" #include "amt/texture.hpp" Image TexturePack::load_image(std::string filename) { sf::Image img; bool good = img.loadFromFile(filename); dbc::check(good, format("failed to load {}", filename)); return amt::PixelBuf(img.getPixelsPtr(), TEXTURE_HEIGHT, TEXTURE_WIDTH); } void TexturePack::load_textures() { Config assets("assets/config.json"); for(string tile_path : assets["textures"]) { images.emplace_back(load_image(tile_path)); } for(string tile_path : assets["sprites"]) { images.emplace_back(load_image(tile_path)); } floor = load_image(assets["floor"]); ceiling = load_image(assets["ceiling"]); } Image& TexturePack::get_texture(size_t num) { return images[num]; } Sprite &TexturePack::get_sprite(size_t sprite_num) { return sprites[sprite_num]; }