]> git.localhorst.tv Git - l2e.git/blobdiff - src/main.cpp
implemented followers
[l2e.git] / src / main.cpp
index 20eb55b4adf4aa9f61dbd2cb9ea91da21579817a..d92e2940cc1dcb8b7b97fb477a5c17fccb044339 100644 (file)
@@ -334,7 +334,35 @@ 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<float>(80, 128);
+               mapMaxim.Position() = Vector<float>(64, 128);
+               mapMaxim.SpriteOffset() = Vector<float>(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<float>(64, 128);
+               mapSelan.SpriteOffset() = Vector<float>(0, -32);
+               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<float>(64, 128);
+               mapGuy.SpriteOffset() = Vector<float>(0, -32);
+               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<float>(64, 128);
+               mapDekar.SpriteOffset() = Vector<float>(0, -32);
+               mapGuy.AddFollower(&mapDekar);
 
                InitScreen screen(width, height);
 
@@ -354,6 +382,9 @@ int main(int argc, char **argv) {
                } else {
                        MapState *mapState(new MapState(&map));
                        mapState->AddEntity(&mapMaxim);
+                       mapState->AddEntity(&mapSelan);
+                       mapState->AddEntity(&mapGuy);
+                       mapState->AddEntity(&mapDekar);
                        mapState->ControlEntity(&mapMaxim);
                        mapState->SetWalkingSpeed(walkSpeed);
                        state = mapState;