X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmap%2FMap.cpp;h=60c319d4a8d8c8fc6a4c0a974c3129ac3a4d176f;hb=0b11a24a8b08c49d6e4301573602fb6d01e7a8c8;hp=aeec93cae8b1354a43ad61cda7144a1a13940b2e;hpb=cc3d698b8c1ad09d7a3f9e3f28bc84e0ac1735ea;p=l2e.git diff --git a/src/map/Map.cpp b/src/map/Map.cpp index aeec93c..60c319d 100644 --- a/src/map/Map.cpp +++ b/src/map/Map.cpp @@ -6,11 +6,12 @@ #include "../graphics/Sprite.h" #include "../loader/Interpreter.h" #include "../loader/TypeDescription.h" +#include "../math/Vector.h" #include "../sdl/utility.h" #include -using geometry::Vector; +using math::Vector; using graphics::Sprite; using loader::FieldDescription; using loader::Interpreter; @@ -76,7 +77,7 @@ const Tile *Map::TileAt(const Vector &offset) const { } } -Trigger *Map::TriggerAt(const geometry::Vector &offset) { +Trigger *Map::TriggerAt(const math::Vector &offset) { // TODO: add support for multiple triggers on a tile? Vector coords(TileCoordinates(offset)); for (Trigger *i(triggers); i != triggers + numTriggers; ++i) { @@ -87,7 +88,7 @@ Trigger *Map::TriggerAt(const geometry::Vector &offset) { return 0; } -SDL_Surface *Map::BattleBackgroundAt(const geometry::Vector &position) { +SDL_Surface *Map::BattleBackgroundAt(const math::Vector &position) { Tile *tile(TileAt(position)); if (tile && tile->BattleBackground()) { return tile->BattleBackground(); @@ -104,12 +105,15 @@ Vector Map::TileCoordinates(const Vector &position) const { } -void Map::Render(SDL_Surface *dest, const Vector &inOffset) const { +void Map::Render( + SDL_Surface *dest, + const Vector &inOffset, + unsigned int frame) const { // TODO: skip invisible areas for (int i(0); i < numAreas; ++i) { const Area &area(areas[i]); Vector offset(inOffset + Vector::FromIndex(i, width) * area.Size() * tileset->Size()); - area.Render(dest, tileset, offset); + area.Render(dest, tileset, offset, frame); } }