1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

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.
This commit is contained in:
Duane Robertson 2015-09-28 13:59:03 -05:00 committed by sfan5
parent c0a7c670a4
commit b6dfae0221
2 changed files with 8 additions and 0 deletions

View file

@ -1234,6 +1234,7 @@ struct KeyCache {
KEYMAP_ID_JUMP,
KEYMAP_ID_SPECIAL1,
KEYMAP_ID_SNEAK,
KEYMAP_ID_AUTORUN,
// Other
KEYMAP_ID_DROP,
@ -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");
@ -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)) {