From 1b0fd195c614ffa1b04d687e7793fb5bb266c535 Mon Sep 17 00:00:00 2001 From: Vanessa Dannenberg Date: Sun, 2 Dec 2018 17:34:29 -0500 Subject: Raise hotbar limit to 32 slots, add associated keybinding options (#7916) add associated keybinding options update docs and settingtypes --- src/client/game.cpp | 9 ++++----- src/client/inputhandler.cpp | 3 ++- src/client/keys.h | 9 +++++++++ 3 files changed, 15 insertions(+), 6 deletions(-) (limited to 'src/client') diff --git a/src/client/game.cpp b/src/client/game.cpp index 418b412fa..bad29aa76 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -68,6 +68,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlicht_changes/static_text.h" #include "version.h" #include "script/scripting_client.h" +#include "hud.h" #if USE_SOUND #include "client/sound_openal.h" @@ -2004,12 +2005,10 @@ void Game::processItemSelection(u16 *new_playeritem) /* Item selection using hotbar slot keys */ - for (u16 i = 0; i < 23; i++) { + for (u16 i = 0; i <= max_item; i++) { if (wasKeyDown((GameKeyType) (KeyType::SLOT_1 + i))) { - if (i < PLAYER_INVENTORY_SIZE && i < player->hud_hotbar_itemcount) { - *new_playeritem = i; - infostream << "Selected item: " << new_playeritem << std::endl; - } + *new_playeritem = i; + infostream << "Selected item: " << new_playeritem << std::endl; break; } } diff --git a/src/client/inputhandler.cpp b/src/client/inputhandler.cpp index 29c68cf01..2692e9f1e 100644 --- a/src/client/inputhandler.cpp +++ b/src/client/inputhandler.cpp @@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/numeric.h" #include "inputhandler.h" #include "gui/mainmenumanager.h" +#include "hud.h" void KeyCache::populate_nonchanging() { @@ -76,7 +77,7 @@ void KeyCache::populate() key[KeyType::QUICKTUNE_INC] = getKeySetting("keymap_quicktune_inc"); key[KeyType::QUICKTUNE_DEC] = getKeySetting("keymap_quicktune_dec"); - for (int i = 0; i < 23; i++) { + for (int i = 0; i < HUD_HOTBAR_ITEMCOUNT_MAX; i++) { std::string slot_key_name = "keymap_slot" + std::to_string(i + 1); key[KeyType::SLOT_1 + i] = getKeySetting(slot_key_name.c_str()); } diff --git a/src/client/keys.h b/src/client/keys.h index 15e46293c..28c6574ba 100644 --- a/src/client/keys.h +++ b/src/client/keys.h @@ -98,6 +98,15 @@ public: SLOT_21, SLOT_22, SLOT_23, + SLOT_24, + SLOT_25, + SLOT_26, + SLOT_27, + SLOT_28, + SLOT_29, + SLOT_30, + SLOT_31, + SLOT_32, // joystick specific keys MOUSE_L, -- cgit v1.2.3