]> git.localhorst.tv Git - l2e.git/blobdiff - src/main.cpp
implemented followers
[l2e.git] / src / main.cpp
index 745ec4bcdda5ddce953ad513f6f15dfd28ca80e7..d92e2940cc1dcb8b7b97fb477a5c17fccb044339 100644 (file)
@@ -334,25 +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);
 
@@ -372,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;