]> git.localhorst.tv Git - l2e.git/blobdiff - src/map/MapState.cpp
workaround for map lock with int steps
[l2e.git] / src / map / MapState.cpp
index 0e0a3ee44ea7e916ef0cb026c8f1428bf5dca257..b18d75da38f685c877618de0796d0dcc3a15ea62 100644 (file)
@@ -32,7 +32,7 @@ MapState::MapState(GameConfig *g, Map *map)
 , pushed(0)
 , lastLock(-1, -1)
 , camera(100, 100, 0)
-, walkingSpeed(64)
+, walkingSpeed(1)
 , nextDirection(-1)
 , afterLock(false)
 , skipLock(false)
@@ -65,6 +65,12 @@ void MapState::OnResize(int width, int height) {
 }
 
 
+void MapState::SetWalkingSpeed(int s) {
+       walkingSpeed = math::Fixed<8>(1, s);
+       Timestep(s);
+}
+
+
 void MapState::HandleEvents(const Input &input) {
        if (input.JustPressed(Input::ACTION_X)) {
                Ctrl().PushState(new PartyMenu(game));
@@ -102,6 +108,7 @@ void MapState::UpdateWorld(Uint32 deltaT) {
 }
 
 void MapState::OnTileLock() {
+       // moveTimer is running when the pc is walking against a wall
        if (moveTimer.Running() && !moveTimer.JustHit()) return;
 
        Vector<int> nowLock(ToInt(controlled->Position()));