mirror of
https://github.com/minetest/minetest.git
synced 2024-11-27 10:03:45 +01:00
Raise hotbar limit to 32 slots, add associated keybinding options (#7916)
add associated keybinding options update docs and settingtypes
This commit is contained in:
parent
42166fff74
commit
1b0fd195c6
@ -347,18 +347,54 @@ keymap_slot19 (Hotbar slot 19 key) key
|
|||||||
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
keymap_slot20 (Hotbar slot 20 key) key
|
keymap_slot20 (Hotbar slot 20 key) key
|
||||||
|
|
||||||
# Key for selecting the 21th hotbar slot.
|
# Key for selecting the 21st hotbar slot.
|
||||||
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
keymap_slot21 (Hotbar slot 21 key) key
|
keymap_slot21 (Hotbar slot 21 key) key
|
||||||
|
|
||||||
# Key for selecting the 22th hotbar slot.
|
# Key for selecting the 22nd hotbar slot.
|
||||||
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
keymap_slot22 (Hotbar slot 22 key) key
|
keymap_slot22 (Hotbar slot 22 key) key
|
||||||
|
|
||||||
# Key for selecting the 23th hotbar slot.
|
# Key for selecting the 23rd hotbar slot.
|
||||||
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
keymap_slot23 (Hotbar slot 23 key) key
|
keymap_slot23 (Hotbar slot 23 key) key
|
||||||
|
|
||||||
|
# Key for selecting the 24th hotbar slot.
|
||||||
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
|
keymap_slot24 (Hotbar slot 24 key) key
|
||||||
|
|
||||||
|
# Key for selecting the 25th hotbar slot.
|
||||||
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
|
keymap_slot25 (Hotbar slot 25 key) key
|
||||||
|
|
||||||
|
# Key for selecting the 26th hotbar slot.
|
||||||
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
|
keymap_slot26 (Hotbar slot 26 key) key
|
||||||
|
|
||||||
|
# Key for selecting the 27th hotbar slot.
|
||||||
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
|
keymap_slot27 (Hotbar slot 27 key) key
|
||||||
|
|
||||||
|
# Key for selecting the 28th hotbar slot.
|
||||||
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
|
keymap_slot28 (Hotbar slot 28 key) key
|
||||||
|
|
||||||
|
# Key for selecting the 29th hotbar slot.
|
||||||
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
|
keymap_slot29 (Hotbar slot 29 key) key
|
||||||
|
|
||||||
|
# Key for selecting the 30th hotbar slot.
|
||||||
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
|
keymap_slot30 (Hotbar slot 30 key) key
|
||||||
|
|
||||||
|
# Key for selecting the 31st hotbar slot.
|
||||||
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
|
keymap_slot31 (Hotbar slot 31 key) key
|
||||||
|
|
||||||
|
# Key for selecting the 32nd hotbar slot.
|
||||||
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
|
keymap_slot32 (Hotbar slot 32 key) key
|
||||||
|
|
||||||
# Key for toggling the display of the HUD.
|
# Key for toggling the display of the HUD.
|
||||||
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
|
||||||
keymap_toggle_hud (HUD toggle key) key KEY_F1
|
keymap_toggle_hud (HUD toggle key) key KEY_F1
|
||||||
|
@ -5190,7 +5190,7 @@ This is basically a reference to a C++ `ServerActiveObject`
|
|||||||
* `hud_get_flags()`: returns a table of player HUD flags with boolean values.
|
* `hud_get_flags()`: returns a table of player HUD flags with boolean values.
|
||||||
* See `hud_set_flags` for a list of flags that can be toggled.
|
* See `hud_set_flags` for a list of flags that can be toggled.
|
||||||
* `hud_set_hotbar_itemcount(count)`: sets number of items in builtin hotbar
|
* `hud_set_hotbar_itemcount(count)`: sets number of items in builtin hotbar
|
||||||
* `count`: number of items, must be between `1` and `23`
|
* `count`: number of items, must be between `1` and `32`
|
||||||
* `hud_get_hotbar_itemcount`: returns number of visible items
|
* `hud_get_hotbar_itemcount`: returns number of visible items
|
||||||
* `hud_set_hotbar_image(texturename)`
|
* `hud_set_hotbar_image(texturename)`
|
||||||
* sets background image for hotbar
|
* sets background image for hotbar
|
||||||
|
@ -68,6 +68,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "irrlicht_changes/static_text.h"
|
#include "irrlicht_changes/static_text.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "script/scripting_client.h"
|
#include "script/scripting_client.h"
|
||||||
|
#include "hud.h"
|
||||||
|
|
||||||
#if USE_SOUND
|
#if USE_SOUND
|
||||||
#include "client/sound_openal.h"
|
#include "client/sound_openal.h"
|
||||||
@ -2004,12 +2005,10 @@ void Game::processItemSelection(u16 *new_playeritem)
|
|||||||
|
|
||||||
/* Item selection using hotbar slot keys
|
/* 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 (wasKeyDown((GameKeyType) (KeyType::SLOT_1 + i))) {
|
||||||
if (i < PLAYER_INVENTORY_SIZE && i < player->hud_hotbar_itemcount) {
|
|
||||||
*new_playeritem = i;
|
*new_playeritem = i;
|
||||||
infostream << "Selected item: " << new_playeritem << std::endl;
|
infostream << "Selected item: " << new_playeritem << std::endl;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "util/numeric.h"
|
#include "util/numeric.h"
|
||||||
#include "inputhandler.h"
|
#include "inputhandler.h"
|
||||||
#include "gui/mainmenumanager.h"
|
#include "gui/mainmenumanager.h"
|
||||||
|
#include "hud.h"
|
||||||
|
|
||||||
void KeyCache::populate_nonchanging()
|
void KeyCache::populate_nonchanging()
|
||||||
{
|
{
|
||||||
@ -76,7 +77,7 @@ void KeyCache::populate()
|
|||||||
key[KeyType::QUICKTUNE_INC] = getKeySetting("keymap_quicktune_inc");
|
key[KeyType::QUICKTUNE_INC] = getKeySetting("keymap_quicktune_inc");
|
||||||
key[KeyType::QUICKTUNE_DEC] = getKeySetting("keymap_quicktune_dec");
|
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);
|
std::string slot_key_name = "keymap_slot" + std::to_string(i + 1);
|
||||||
key[KeyType::SLOT_1 + i] = getKeySetting(slot_key_name.c_str());
|
key[KeyType::SLOT_1 + i] = getKeySetting(slot_key_name.c_str());
|
||||||
}
|
}
|
||||||
|
@ -98,6 +98,15 @@ public:
|
|||||||
SLOT_21,
|
SLOT_21,
|
||||||
SLOT_22,
|
SLOT_22,
|
||||||
SLOT_23,
|
SLOT_23,
|
||||||
|
SLOT_24,
|
||||||
|
SLOT_25,
|
||||||
|
SLOT_26,
|
||||||
|
SLOT_27,
|
||||||
|
SLOT_28,
|
||||||
|
SLOT_29,
|
||||||
|
SLOT_30,
|
||||||
|
SLOT_31,
|
||||||
|
SLOT_32,
|
||||||
|
|
||||||
// joystick specific keys
|
// joystick specific keys
|
||||||
MOUSE_L,
|
MOUSE_L,
|
||||||
|
@ -127,6 +127,15 @@ void set_default_settings(Settings *settings)
|
|||||||
settings->setDefault("keymap_slot21", "");
|
settings->setDefault("keymap_slot21", "");
|
||||||
settings->setDefault("keymap_slot22", "");
|
settings->setDefault("keymap_slot22", "");
|
||||||
settings->setDefault("keymap_slot23", "");
|
settings->setDefault("keymap_slot23", "");
|
||||||
|
settings->setDefault("keymap_slot24", "");
|
||||||
|
settings->setDefault("keymap_slot25", "");
|
||||||
|
settings->setDefault("keymap_slot26", "");
|
||||||
|
settings->setDefault("keymap_slot27", "");
|
||||||
|
settings->setDefault("keymap_slot28", "");
|
||||||
|
settings->setDefault("keymap_slot29", "");
|
||||||
|
settings->setDefault("keymap_slot30", "");
|
||||||
|
settings->setDefault("keymap_slot31", "");
|
||||||
|
settings->setDefault("keymap_slot32", "");
|
||||||
|
|
||||||
// Some (temporary) keys for debugging
|
// Some (temporary) keys for debugging
|
||||||
settings->setDefault("keymap_quicktune_prev", "KEY_HOME");
|
settings->setDefault("keymap_quicktune_prev", "KEY_HOME");
|
||||||
|
@ -50,7 +50,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#define HUD_PARAM_HOTBAR_SELECTED_IMAGE 3
|
#define HUD_PARAM_HOTBAR_SELECTED_IMAGE 3
|
||||||
|
|
||||||
#define HUD_HOTBAR_ITEMCOUNT_DEFAULT 8
|
#define HUD_HOTBAR_ITEMCOUNT_DEFAULT 8
|
||||||
#define HUD_HOTBAR_ITEMCOUNT_MAX 23
|
#define HUD_HOTBAR_ITEMCOUNT_MAX 32
|
||||||
|
|
||||||
|
|
||||||
#define HOTBAR_IMAGE_SIZE 48
|
#define HOTBAR_IMAGE_SIZE 48
|
||||||
|
Loading…
Reference in New Issue
Block a user