forked from Mirrorlandia_minetest/minetest
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:
parent
c0a7c670a4
commit
b6dfae0221
@ -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");
|
||||
|
@ -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)) {
|
||||
|
Loading…
Reference in New Issue
Block a user