Skip to content

Commit b6dfae0

Browse files
duane-rsfan5
authored andcommittedOct 29, 2015
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.
1 parent c0a7c67 commit b6dfae0

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed
 

Diff for: ‎src/defaultsettings.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ void set_default_settings(Settings *settings)
3333
// Client stuff
3434
settings->setDefault("remote_port", "30000");
3535
settings->setDefault("keymap_forward", "KEY_KEY_W");
36+
settings->setDefault("keymap_autorun", "");
3637
settings->setDefault("keymap_backward", "KEY_KEY_S");
3738
settings->setDefault("keymap_left", "KEY_KEY_A");
3839
settings->setDefault("keymap_right", "KEY_KEY_D");

Diff for: ‎src/game.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -1234,6 +1234,7 @@ struct KeyCache {
12341234
KEYMAP_ID_JUMP,
12351235
KEYMAP_ID_SPECIAL1,
12361236
KEYMAP_ID_SNEAK,
1237+
KEYMAP_ID_AUTORUN,
12371238

12381239
// Other
12391240
KEYMAP_ID_DROP,
@@ -1286,6 +1287,8 @@ void KeyCache::populate()
12861287
key[KEYMAP_ID_SPECIAL1] = getKeySetting("keymap_special1");
12871288
key[KEYMAP_ID_SNEAK] = getKeySetting("keymap_sneak");
12881289

1290+
key[KEYMAP_ID_AUTORUN] = getKeySetting("keymap_autorun");
1291+
12891292
key[KEYMAP_ID_DROP] = getKeySetting("keymap_drop");
12901293
key[KEYMAP_ID_INVENTORY] = getKeySetting("keymap_inventory");
12911294
key[KEYMAP_ID_CHAT] = getKeySetting("keymap_chat");
@@ -2615,6 +2618,10 @@ void Game::processKeyboardInput(VolatileRunFlags *flags,
26152618

26162619
if (input->wasKeyDown(keycache.key[KeyCache::KEYMAP_ID_DROP])) {
26172620
dropSelectedItem();
2621+
// Add WoW-style autorun by toggling continuous forward.
2622+
} else if (input->wasKeyDown(keycache.key[KeyCache::KEYMAP_ID_AUTORUN])) {
2623+
bool autorun_setting = g_settings->getBool("continuous_forward");
2624+
g_settings->setBool("continuous_forward", !autorun_setting);
26182625
} else if (input->wasKeyDown(keycache.key[KeyCache::KEYMAP_ID_INVENTORY])) {
26192626
openInventory();
26202627
} else if (input->wasKeyDown(EscapeKey) || input->wasKeyDown(CancelKey)) {

0 commit comments

Comments
 (0)