Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
WoW-style Autorun
This allows the player to toggle continuous forward with a key (F by default),
so we don't have to hold down the forward key endlessly.
  • Loading branch information
duane-r authored and sfan5 committed Oct 29, 2015
1 parent c0a7c67 commit b6dfae0
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/defaultsettings.cpp
Expand Up @@ -33,6 +33,7 @@ void set_default_settings(Settings *settings)
// Client stuff
settings->setDefault("remote_port", "30000");
settings->setDefault("keymap_forward", "KEY_KEY_W");
settings->setDefault("keymap_autorun", "");
settings->setDefault("keymap_backward", "KEY_KEY_S");
settings->setDefault("keymap_left", "KEY_KEY_A");
settings->setDefault("keymap_right", "KEY_KEY_D");
Expand Down
7 changes: 7 additions & 0 deletions src/game.cpp
Expand Up @@ -1234,6 +1234,7 @@ struct KeyCache {
KEYMAP_ID_JUMP,
KEYMAP_ID_SPECIAL1,
KEYMAP_ID_SNEAK,
KEYMAP_ID_AUTORUN,

// Other
KEYMAP_ID_DROP,
Expand Down Expand Up @@ -1286,6 +1287,8 @@ void KeyCache::populate()
key[KEYMAP_ID_SPECIAL1] = getKeySetting("keymap_special1");
key[KEYMAP_ID_SNEAK] = getKeySetting("keymap_sneak");

key[KEYMAP_ID_AUTORUN] = getKeySetting("keymap_autorun");

key[KEYMAP_ID_DROP] = getKeySetting("keymap_drop");
key[KEYMAP_ID_INVENTORY] = getKeySetting("keymap_inventory");
key[KEYMAP_ID_CHAT] = getKeySetting("keymap_chat");
Expand Down Expand Up @@ -2615,6 +2618,10 @@ void Game::processKeyboardInput(VolatileRunFlags *flags,

if (input->wasKeyDown(keycache.key[KeyCache::KEYMAP_ID_DROP])) {
dropSelectedItem();
// Add WoW-style autorun by toggling continuous forward.
} else if (input->wasKeyDown(keycache.key[KeyCache::KEYMAP_ID_AUTORUN])) {
bool autorun_setting = g_settings->getBool("continuous_forward");
g_settings->setBool("continuous_forward", !autorun_setting);
} else if (input->wasKeyDown(keycache.key[KeyCache::KEYMAP_ID_INVENTORY])) {
openInventory();
} else if (input->wasKeyDown(EscapeKey) || input->wasKeyDown(CancelKey)) {
Expand Down

0 comments on commit b6dfae0

Please sign in to comment.