X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=ce45985f3a647d33323ab2e37e374a5d54a2710b;hb=56b6adfe5cf27293ee40b43502142e0690d8293b;hp=0a6882a5c4187897f46697d5b34e2337c6d2e744;hpb=6786f73930b6a0406ddefa792763157ac41298ee;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index 0a6882a..ce45985 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -32,6 +32,7 @@ #include "loader/Parser.h" #include "loader/TypeDescription.h" #include "map/Area.h" +#include "map/Entity.h" #include "map/Map.h" #include "map/MapState.h" #include "map/Tile.h" @@ -74,6 +75,7 @@ using loader::ParsedSource; using loader::Parser; using loader::TypeDescription; using map::Area; +using map::Entity; using map::Map; using map::MapState; using map::Tile; @@ -235,72 +237,72 @@ int main(int argc, char **argv) { Tile tiles[64]; tiles[ 0].SetOffset(Vector(2, 1)); - tiles[ 1].SetOffset(Vector(4, 0)); - tiles[ 2].SetOffset(Vector(3, 0)); - tiles[ 3].SetOffset(Vector(3, 0)); + tiles[ 1].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_NORTH | Tile::BLOCK_WEST); + tiles[ 2].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_NORTH); + tiles[ 3].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_NORTH | Tile::BLOCK_EAST); tiles[ 4].SetOffset(Vector(0, 1)); tiles[ 5].SetOffset(Vector(2, 0)); tiles[ 6].SetOffset(Vector(2, 0)); tiles[ 7].SetOffset(Vector(2, 0)); tiles[ 8].SetOffset(Vector(2, 1)); - tiles[ 9].SetOffset(Vector(4, 0)); + tiles[ 9].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_WEST); tiles[10].SetOffset(Vector(3, 0)); - tiles[11].SetOffset(Vector(3, 0)); + tiles[11].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_EAST); tiles[12].SetOffset(Vector(0, 2)); tiles[13].SetOffset(Vector(1, 2)); tiles[14].SetOffset(Vector(1, 2)); tiles[15].SetOffset(Vector(1, 2)); tiles[16].SetOffset(Vector(2, 1)); - tiles[17].SetOffset(Vector(4, 0)); + tiles[17].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_WEST); tiles[18].SetOffset(Vector(3, 0)); - tiles[19].SetOffset(Vector(3, 0)); + tiles[19].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_EAST); tiles[20].SetOffset(Vector(0, 3)); tiles[21].SetOffset(Vector(1, 3)); tiles[22].SetOffset(Vector(1, 3)); tiles[23].SetOffset(Vector(2, 3)); tiles[24].SetOffset(Vector(2, 1)); - tiles[25].SetOffset(Vector(4, 0)); + tiles[25].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_WEST); tiles[26].SetOffset(Vector(3, 0)); - tiles[27].SetOffset(Vector(3, 0)); + tiles[27].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_EAST); tiles[28].SetOffset(Vector(0, 4)); tiles[29].SetOffset(Vector(1, 4)); tiles[30].SetOffset(Vector(1, 4)); tiles[31].SetOffset(Vector(2, 4)); tiles[32].SetOffset(Vector(2, 1)); - tiles[33].SetOffset(Vector(4, 0)); + tiles[33].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_WEST); tiles[34].SetOffset(Vector(3, 0)); tiles[35].SetOffset(Vector(3, 0)); - tiles[36].SetOffset(Vector(3, 0)); - tiles[37].SetOffset(Vector(3, 0)); - tiles[38].SetOffset(Vector(3, 0)); - tiles[39].SetOffset(Vector(3, 0)); + tiles[36].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_NORTH); + tiles[37].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_NORTH); + tiles[38].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_NORTH); + tiles[39].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_NORTH | Tile::BLOCK_EAST); tiles[40].SetOffset(Vector(2, 1)); - tiles[41].SetOffset(Vector(4, 0)); + tiles[41].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_WEST); tiles[42].SetOffset(Vector(3, 0)); tiles[43].SetOffset(Vector(3, 0)); - tiles[44].SetOffset(Vector(3, 0)); - tiles[45].SetOffset(Vector(4, 0)); - tiles[46].SetOffset(Vector(4, 0)); - tiles[47].SetOffset(Vector(4, 0)); + tiles[44].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_SOUTH); + tiles[45].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_SOUTH); + tiles[46].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_SOUTH); + tiles[47].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_SOUTH | Tile::BLOCK_EAST); tiles[48].SetOffset(Vector(2, 1)); - tiles[49].SetOffset(Vector(4, 0)); + tiles[49].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_WEST); tiles[50].SetOffset(Vector(3, 0)); - tiles[51].SetOffset(Vector(3, 0)); + tiles[51].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_EAST); tiles[52].SetOffset(Vector(0, 0)); tiles[53].SetOffset(Vector(1, 0)); tiles[54].SetOffset(Vector(1, 0)); tiles[55].SetOffset(Vector(1, 0)); tiles[56].SetOffset(Vector(2, 1)); - tiles[57].SetOffset(Vector(4, 0)); - tiles[58].SetOffset(Vector(3, 0)); - tiles[59].SetOffset(Vector(3, 0)); + tiles[57].SetOffset(Vector(4, 0)).SetFlags(Tile::BLOCK_SOUTH | Tile::BLOCK_WEST); + tiles[58].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_SOUTH); + tiles[59].SetOffset(Vector(3, 0)).SetFlags(Tile::BLOCK_SOUTH | Tile::BLOCK_EAST); tiles[60].SetOffset(Vector(0, 1)); tiles[61].SetOffset(Vector(1, 1)); tiles[62].SetOffset(Vector(1, 1)); @@ -318,6 +320,12 @@ int main(int argc, char **argv) { map.SetTileset(&tileset); map.SetWidth(1); + SDL_Surface *mapMaximImg(IMG_Load("test-data/maxim-map.png")); + Sprite mapMaximSprite(mapMaximImg, 32, 64); + Entity mapMaxim; + mapMaxim.SetSprite(&mapMaximSprite); + mapMaxim.Position() = Vector(80, 160); + InitScreen screen(width, height); app::State *state(0); @@ -335,6 +343,8 @@ int main(int argc, char **argv) { state = battleState; } else { MapState *mapState(new MapState(&map)); + mapState->AddEntity(&mapMaxim); + mapState->ControlEntity(&mapMaxim); state = mapState; }