#pragma once #include #include #include #include struct Sprite { double x; double y; int texture; sf::Sprite *sprite = nullptr; sf::Texture *sprite_texture = nullptr; // ZED: this should be a separate transform parameter double elevation=0; int uDiv=1; int vDiv=1; }; using Image = std::vector; struct TexturePack { int NUM_SPRITES=1; constexpr static const int TEXTURE_WIDTH=256; // must be power of two constexpr static const int TEXTURE_HEIGHT=256; // must be power of two std::vector images; std::vector sprites; Image floor; Image ceiling; Sprite sword; void load_textures(); std::vector load_image(std::string filename); Sprite& get_sprite(size_t sprite_num); Image& get_texture(size_t num); };