diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-11-14 16:55:35 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-11-14 18:37:50 +0300 |
commit | 13642a6cddd8657ec84a2bfa94c6ac7d34545dba (patch) | |
tree | cefec154fe5b6ec59990c4ef5cfe67eba4a484e6 /src/game.cpp | |
parent | eaaafe3312a361e332d495ee68451e424d90a19d (diff) | |
download | manaplus-13642a6cddd8657ec84a2bfa94c6ac7d34545dba.tar.gz manaplus-13642a6cddd8657ec84a2bfa94c6ac7d34545dba.tar.bz2 manaplus-13642a6cddd8657ec84a2bfa94c6ac7d34545dba.tar.xz manaplus-13642a6cddd8657ec84a2bfa94c6ac7d34545dba.zip |
Add support for on screen joystick for moving.
Diffstat (limited to 'src/game.cpp')
-rw-r--r-- | src/game.cpp | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/src/game.cpp b/src/game.cpp index df23a0146..3ed71efcb 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -828,27 +828,30 @@ void Game::handleMove() } if (!inputManager.isActionActive(Input::KEY_EMOTE) || direction == 0) - { - if (!viewport->getCameraMode()) - { - player_node->specialMove(direction); - } - else - { - int dx = 0; - int dy = 0; - if (direction & Being::LEFT) - dx = -5; - else if (direction & Being::RIGHT) - dx = 5; - - if (direction & Being::UP) - dy = -5; - else if (direction & Being::DOWN) - dy = 5; - viewport->moveCamera(dx, dy); - } - } + moveInDirection(direction); + } +} + +void Game::moveInDirection(const unsigned char direction) +{ + if (!viewport->getCameraMode()) + { + player_node->specialMove(direction); + } + else + { + int dx = 0; + int dy = 0; + if (direction & Being::LEFT) + dx = -5; + else if (direction & Being::RIGHT) + dx = 5; + + if (direction & Being::UP) + dy = -5; + else if (direction & Being::DOWN) + dy = 5; + viewport->moveCamera(dx, dy); } } |