#pragma once #include #include #include #include #include #include struct SpriteTexture { std::shared_ptr sprite = nullptr; std::shared_ptr texture = nullptr; }; struct Sprite { double x; double y; SpriteTexture sprite; }; struct TexturePack { std::vector images; std::vector sprites; std::unordered_map sprite_textures; sf::Image floor; sf::Image ceiling; SpriteTexture sword; void load_textures(); void load_sprites(); sf::Image load_image(std::string filename); Sprite& get_sprite(size_t sprite_num); const uint32_t* get_texture(size_t num); // this needs to go into a map place void position_sprite(double x, double y, std::string name); };