+ /// The sprite used as the tileset.
+ const graphics::Sprite *Tileset() const { return tileset; }
+ /// Returns the Area at given pixel coordinates or 0 if off the map.
+ Area *AreaAt(const geometry::Vector<int> &);
+ const Area *AreaAt(const geometry::Vector<int> &) const;
+ /// Returns the Tile at given pixel coordinates or 0 if off the map.
+ Tile *TileAt(const geometry::Vector<int> &);
+ const Tile *TileAt(const geometry::Vector<int> &) const;
+ /// Returns the Trigger at given pixel coordinates or 0 if off the map.
+ /// Multiple triggers are not supported. The first one found is returned.
+ Trigger *TriggerAt(const geometry::Vector<int> &);
+ /// The battle background image for this map if neither the tile nor the
+ /// area has one specified.
+ SDL_Surface *BattleBackgroundAt(const geometry::Vector<int> &);
+ /// Convert coordinates pixel to tile.
+ geometry::Vector<int> TileCoordinates(const geometry::Vector<int> &) const;
+
+ Entity *EntitiesBegin() { return entities; }
+ Entity *EntitiesEnd() { return entities + numEntities; }
+
+ /// Render the map.
+ /// Entities are not rendered by this function.