]> git.localhorst.tv Git - l2e.git/blobdiff - src/main.cpp
shift walking animation by one frame
[l2e.git] / src / main.cpp
index ce45985f3a647d33323ab2e37e374a5d54a2710b..aa2089043ebe2100990645c9d2b99240604424b5 100644 (file)
@@ -94,6 +94,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));
@@ -313,7 +316,7 @@ int main(int argc, char **argv) {
                area.SetWidth(8);
 
                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);
@@ -322,9 +325,10 @@ int main(int argc, char **argv) {
 
                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<float>(80, 160);
+               mapMaxim.SetAnimation(&mapMaximAnimation);
+               mapMaxim.Position() = Vector<float>(80, 128);
 
                InitScreen screen(width, height);
 
@@ -345,6 +349,7 @@ int main(int argc, char **argv) {
                        MapState *mapState(new MapState(&map));
                        mapState->AddEntity(&mapMaxim);
                        mapState->ControlEntity(&mapMaxim);
+                       mapState->SetWalkingSpeed(walkSpeed);
                        state = mapState;
                }