Finished the first pass of moving everything around and cleaning up as much as possible.
This commit is contained in:
parent
d47f6f996d
commit
adfb6367d7
9 changed files with 163 additions and 87 deletions
41
texture.cpp
Normal file
41
texture.cpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
#include "texture.hpp"
|
||||
#include <SFML/Graphics/Image.hpp>
|
||||
#include "dbc.hpp"
|
||||
#include <fmt/core.h>
|
||||
#include "config.hpp"
|
||||
|
||||
using namespace fmt;
|
||||
|
||||
Image TexturePack::load_image(std::string filename) {
|
||||
Image texture(TEXTURE_WIDTH * TEXTURE_HEIGHT);
|
||||
sf::Image img;
|
||||
bool good = img.loadFromFile(filename);
|
||||
dbc::check(good, format("failed to load {}", filename));
|
||||
|
||||
uint32_t *pixbuf = (uint32_t *)img.getPixelsPtr();
|
||||
std::copy_n(pixbuf, texture.size(), texture.begin());
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
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];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue