diff options
Diffstat (limited to 'src/common.hpp')
-rw-r--r-- | src/common.hpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/common.hpp b/src/common.hpp index 6798ec8..e135d56 100644 --- a/src/common.hpp +++ b/src/common.hpp @@ -48,11 +48,12 @@ namespace world { typedef vec_t<int64_t, 2> tile_index_t; class entity_t; + class sector_iterator_t; class sector_t { public: sector_index_t index; - sf::FloatRect bounds; + rectf_t bounds; std::unordered_set<entity_t*> ents; bool empty = true; @@ -62,6 +63,7 @@ namespace world { class world_t { procgen::prng_t prng; procgen::perlin_noise_t perlin; + std::map<sector_index_t, sector_t> sectors; void generate_tile(tile_t *tile, tile_index_t index); @@ -70,12 +72,12 @@ namespace world { public: world_t(void); sector_t *get_sector(sector_index_t index); - tile_t *get_tile(ssize_t x, ssize_t y); + tile_t *get_tile(tile_index_t index); // FIXME: iterators instead of returning std::lists - std::list<sector_t*> get_sectors(sf::FloatRect rect); - std::list<entity_t*> get_entities(sf::FloatRect rect); - std::list<entity_t*> get_render_entities(sf::FloatRect rect); + std::list<sector_t*> get_sectors(rectf_t rect); + std::list<entity_t*> get_entities(rectf_t rect); + std::list<entity_t*> get_render_entities(rectf_t rect); void render(sf::RenderWindow *window); @@ -93,7 +95,7 @@ namespace world { size_t cookie = 0; public: - sf::FloatRect bounds, render_bounds; + rectf_t bounds, render_bounds; void link(world_t *world); void unlink(); @@ -179,8 +181,8 @@ namespace render { void begin_frame(double time_); void end_frame(void); void render(game::state_t *game); - void render(animated_texture_t *anim, sf::FloatRect bounds, bool mirror = false); - void render(oriented_sprite_t *sprite, sf::FloatRect bounds, float angle); + void render(animated_texture_t *anim, rectf_t bounds, bool mirror = false); + void render(oriented_sprite_t *sprite, rectf_t bounds, float angle); }; } |