X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=a75a08782190fb29a9d253fe1b686907c21cf408;hb=34e6fb59f355d1a4afc0a9a647aeb098b998dbbd;hp=745ec4bcdda5ddce953ad513f6f15dfd28ca80e7;hpb=7b70f3c1609fb2b783bd932280c98dbc44f5f746;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index 745ec4b..a75a087 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -334,25 +334,46 @@ int main(int argc, char **argv) { SimpleAnimation mapMaximAnimation(&mapMaximSprite, (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true); Entity mapMaxim; mapMaxim.SetAnimation(&mapMaximAnimation); - mapMaxim.Position() = Vector(80, 128); + mapMaxim.Position() = Vector(64, 128); + mapMaxim.SpriteOffset() = Vector(0, -32); SDL_Surface *mapSelanImg(IMG_Load("test-data/selan-map.png")); Sprite mapSelanSprite(mapSelanImg, 32, 64); SimpleAnimation mapSelanAnimation(&mapSelanSprite, (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true); Entity mapSelan; mapSelan.SetAnimation(&mapSelanAnimation); + mapSelan.Position() = Vector(64, 128); + mapSelan.SpriteOffset() = Vector(0, -32); + mapSelan.SetFlags(Entity::FLAG_NONBLOCKING); + mapMaxim.AddFollower(&mapSelan); SDL_Surface *mapGuyImg(IMG_Load("test-data/guy-map.png")); Sprite mapGuySprite(mapGuyImg, 32, 64); SimpleAnimation mapGuyAnimation(&mapGuySprite, (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true); Entity mapGuy; mapGuy.SetAnimation(&mapGuyAnimation); + mapGuy.Position() = Vector(64, 128); + mapGuy.SpriteOffset() = Vector(0, -32); + mapSelan.SetFlags(Entity::FLAG_NONBLOCKING); + mapSelan.AddFollower(&mapGuy); SDL_Surface *mapDekarImg(IMG_Load("test-data/dekar-map.png")); Sprite mapDekarSprite(mapDekarImg, 32, 64); SimpleAnimation mapDekarAnimation(&mapDekarSprite, (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true); Entity mapDekar; mapDekar.SetAnimation(&mapDekarAnimation); + mapDekar.Position() = Vector(64, 128); + mapDekar.SpriteOffset() = Vector(0, -32); + mapDekar.SetFlags(Entity::FLAG_NONBLOCKING); + mapGuy.AddFollower(&mapDekar); + + SDL_Surface *mapMonsterImg(IMG_Load("test-data/monster-map.png")); + Sprite mapMonsterSprite(mapMonsterImg, 32, 32); + SimpleAnimation mapMonsterAnimation(&mapMonsterSprite, 500, 2, 0, 0, true); + Entity mapMonster; + mapMonster.SetAnimation(&mapMonsterAnimation); + mapMonster.Position() = Vector(64, 32); + mapMonster.SetOrientation(Entity::ORIENTATION_SOUTH); InitScreen screen(width, height); @@ -371,9 +392,18 @@ int main(int argc, char **argv) { state = battleState; } else { MapState *mapState(new MapState(&map)); + mapState->AddEntity(&mapMaxim); + mapState->AddEntity(&mapSelan); + mapState->AddEntity(&mapGuy); + mapState->AddEntity(&mapDekar); + mapState->ControlEntity(&mapMaxim); mapState->SetWalkingSpeed(walkSpeed); + + mapState->AddEntity(&mapMonster); + mapMonster.StartAnimation(*mapState); + state = mapState; }