X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=20eb55b4adf4aa9f61dbd2cb9ea91da21579817a;hb=c055b357c50dd871b49c38191a9d867ff42ea420;hp=ce45985f3a647d33323ab2e37e374a5d54a2710b;hpb=56b6adfe5cf27293ee40b43502142e0690d8293b;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index ce45985..20eb55b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -36,6 +36,7 @@ #include "map/Map.h" #include "map/MapState.h" #include "map/Tile.h" +#include "map/Trigger.h" #include "sdl/InitImage.h" #include "sdl/InitScreen.h" #include "sdl/InitSDL.h" @@ -79,6 +80,7 @@ using map::Entity; using map::Map; using map::MapState; using map::Tile; +using map::Trigger; using sdl::InitImage; using sdl::InitScreen; using sdl::InitSDL; @@ -94,6 +96,9 @@ int main(int argc, char **argv) { const int width = 800; const int height = 480; + const int tileSize = 32; + const float walkSpeed = 128.0f; + const bool battle(false); // std::srand(std::time(0)); @@ -308,23 +313,28 @@ int main(int argc, char **argv) { tiles[62].SetOffset(Vector(1, 1)); tiles[63].SetOffset(Vector(1, 1)); - Area area; - area.SetTiles(tiles, 64); - area.SetWidth(8); + Area areas[1]; + areas[0].SetTiles(tiles, 64); + areas[0].SetWidth(8); + + Trigger triggers[1]; + triggers[0].SetTilePosition(Vector(2, 0)); SDL_Surface *tilesetImg(IMG_Load("test-data/tileset.png")); - Sprite tileset(tilesetImg, 32, 32); + Sprite tileset(tilesetImg, tileSize, tileSize); Map map; - map.SetAreas(&area, 1); + map.SetAreas(areas, 1); map.SetTileset(&tileset); + map.SetTriggers(triggers, 1); map.SetWidth(1); SDL_Surface *mapMaximImg(IMG_Load("test-data/maxim-map.png")); Sprite mapMaximSprite(mapMaximImg, 32, 64); + SimpleAnimation mapMaximAnimation(&mapMaximSprite, (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true); Entity mapMaxim; - mapMaxim.SetSprite(&mapMaximSprite); - mapMaxim.Position() = Vector(80, 160); + mapMaxim.SetAnimation(&mapMaximAnimation); + mapMaxim.Position() = Vector(80, 128); InitScreen screen(width, height); @@ -345,6 +355,7 @@ int main(int argc, char **argv) { MapState *mapState(new MapState(&map)); mapState->AddEntity(&mapMaxim); mapState->ControlEntity(&mapMaxim); + mapState->SetWalkingSpeed(walkSpeed); state = mapState; }