1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00
Files
vcmi/client/gui/Shortcut.h
Ivan Savenko 1ac8080cbf Implemented new unit actions panel in combat
Alternative actions submod from extras is now deprecated and will have
no effect.

As long as screen width allows, game will now display additional panel
with all possible unit actions.

Panel will also display spells that can be cast by unit, allowing small
version of unit spellbook (total limit of actions is 12, but some are
used for creature actions, so unit spells are limited to 7-9)
2025-06-19 19:29:01 +03:00

315 lines
7.7 KiB
C++

/*
* Shortcut.h, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#pragma once
enum class EShortcut
{
NONE,
// preudo-shortcuts that trigger mouse events
MOUSE_LEFT,
MOUSE_RIGHT,
MOUSE_CURSOR_X,
MOUSE_CURSOR_Y,
MOUSE_SWIPE_X,
MOUSE_SWIPE_Y,
// Global hotkeys that are available in multiple dialogs
GLOBAL_ACCEPT, // Return - Accept query
GLOBAL_CANCEL, // Escape - Cancel query
GLOBAL_RETURN, // Enter, Escape - Close current window and return to previous view
GLOBAL_FULLSCREEN, // F4 - TODO: remove hardcoded check for key
GLOBAL_OPTIONS, // 'O' - Open System Options dialog
GLOBAL_BACKSPACE, // Backspace - erase last symbol in text input
GLOBAL_MOVE_FOCUS, // Tab - move focus to next text input
// Movement hotkeys, usually - for moving through lists with slider
MOVE_LEFT,
MOVE_RIGHT,
MOVE_UP,
MOVE_DOWN,
MOVE_FIRST,
MOVE_LAST,
MOVE_PAGE_UP,
MOVE_PAGE_DOWN,
// Element selection - for multiple choice dialog popups
SELECT_INDEX_1,
SELECT_INDEX_2,
SELECT_INDEX_3,
SELECT_INDEX_4,
SELECT_INDEX_5,
SELECT_INDEX_6,
SELECT_INDEX_7,
SELECT_INDEX_8,
// Main menu hotkeys - for navigation between main menu windows
MAIN_MENU_NEW_GAME,
MAIN_MENU_LOAD_GAME,
MAIN_MENU_HIGH_SCORES,
MAIN_MENU_CREDITS,
MAIN_MENU_BACK,
MAIN_MENU_QUIT,
MAIN_MENU_SINGLEPLAYER,
MAIN_MENU_MULTIPLAYER,
MAIN_MENU_CAMPAIGN,
MAIN_MENU_TUTORIAL,
MAIN_MENU_CAMPAIGN_SOD,
MAIN_MENU_CAMPAIGN_ROE,
MAIN_MENU_CAMPAIGN_AB,
MAIN_MENU_CAMPAIGN_CUSTOM,
MAIN_MENU_CAMPAIGN_CHR,
MAIN_MENU_CAMPAIGN_HOTA,
MAIN_MENU_CAMPAIGN_WOG,
MAIN_MENU_CAMPAIGN_VCMI,
MAIN_MENU_HOTSEAT,
MAIN_MENU_LOBBY,
MAIN_MENU_HOST_GAME,
MAIN_MENU_JOIN_GAME,
HIGH_SCORES_CAMPAIGNS,
HIGH_SCORES_SCENARIOS,
HIGH_SCORES_RESET,
HIGH_SCORES_STATISTICS,
// Game lobby / scenario selection
LOBBY_BEGIN_STANDARD_GAME, // b
LOBBY_BEGIN_CAMPAIGN, // Return
LOBBY_LOAD_GAME, // l, Return
LOBBY_SAVE_GAME, // s, Return
LOBBY_RANDOM_MAP, // Open random map tab
LOBBY_TOGGLE_CHAT,
LOBBY_ADDITIONAL_OPTIONS, // Open additional options tab
LOBBY_SELECT_SCENARIO, // Open map list tab
LOBBY_REPLAY_VIDEO,
LOBBY_EXTRA_OPTIONS,
LOBBY_TURN_OPTIONS,
LOBBY_INVITE_PLAYERS,
LOBBY_FLIP_COIN,
LOBBY_RANDOM_TOWN,
LOBBY_RANDOM_TOWN_VS,
LOBBY_HANDICAP,
MAPS_SIZE_S,
MAPS_SIZE_M,
MAPS_SIZE_L,
MAPS_SIZE_XL,
MAPS_SIZE_ALL,
MAPS_SORT_PLAYERS,
MAPS_SORT_SIZE,
MAPS_SORT_FORMAT,
MAPS_SORT_NAME,
MAPS_SORT_VICTORY,
MAPS_SORT_DEFEAT,
MAPS_SORT_MAPS,
MAPS_SORT_CHANGEDATE,
SETTINGS_LOAD_GAME,
SETTINGS_SAVE_GAME,
SETTINGS_NEW_GAME,
SETTINGS_RESTART_GAME,
SETTINGS_TO_MAIN_MENU,
SETTINGS_QUIT_GAME,
// In-game hotkeys, require game state but may be available in windows other than adventure map
GAME_ACTIVATE_CONSOLE, // Tab, activates in-game console
// Adventure map screen
ADVENTURE_GAME_OPTIONS, // 'o', Open CAdventureOptions window
ADVENTURE_TOGGLE_GRID, // F6, Toggles map grid
ADVENTURE_TOGGLE_VISITABLE, // Toggles visitable tiles overlay
ADVENTURE_TOGGLE_BLOCKED, // Toggles blocked tiles overlay
ADVENTURE_TOGGLE_SLEEP, // Toggles hero sleep status
ADVENTURE_SET_HERO_ASLEEP, // Moves hero to sleep state
ADVENTURE_SET_HERO_AWAKE, // Move hero to awake state
ADVENTURE_MOVE_HERO, // Moves hero alongside set path
ADVENTURE_VISIT_OBJECT, // Revisits object hero is standing on
ADVENTURE_VIEW_SELECTED,// Open window with currently selected hero/town
ADVENTURE_NEXT_TOWN,
ADVENTURE_NEXT_HERO,
ADVENTURE_NEXT_OBJECT, // context-sensitive next object - select next hero/town, depending on current selection
ADVENTURE_FIRST_TOWN, // select first available town in the list
ADVENTURE_FIRST_HERO, // select first available hero in the list
ADVENTURE_VIEW_SCENARIO,// View Scenario Information window
ADVENTURE_REPLAY_TURN,
ADVENTURE_DIG_GRAIL,
ADVENTURE_VIEW_PUZZLE,
ADVENTURE_VIEW_WORLD,
ADVENTURE_VIEW_WORLD_X1,
ADVENTURE_VIEW_WORLD_X2,
ADVENTURE_VIEW_WORLD_X4,
ADVENTURE_TRACK_HERO,
ADVENTURE_TOGGLE_MAP_LEVEL,
ADVENTURE_KINGDOM_OVERVIEW,
ADVENTURE_QUEST_LOG,
ADVENTURE_CAST_SPELL,
ADVENTURE_MARKETPLACE,
ADVENTURE_THIEVES_GUILD,
ADVENTURE_EXIT_WORLD_VIEW,
ADVENTURE_ZOOM_IN,
ADVENTURE_ZOOM_OUT,
ADVENTURE_ZOOM_RESET,
ADVENTURE_END_TURN,
ADVENTURE_LOAD_GAME,
ADVENTURE_SAVE_GAME,
ADVENTURE_NEW_GAME,
ADVENTURE_RESTART_GAME,
ADVENTURE_TO_MAIN_MENU,
ADVENTURE_QUIT_GAME,
ADVENTURE_SEARCH,
ADVENTURE_SEARCH_CONTINUE,
// Move hero one tile in specified direction. Bound to cursors & numpad buttons
ADVENTURE_MOVE_HERO_SW,
ADVENTURE_MOVE_HERO_SS,
ADVENTURE_MOVE_HERO_SE,
ADVENTURE_MOVE_HERO_WW,
ADVENTURE_MOVE_HERO_EE,
ADVENTURE_MOVE_HERO_NW,
ADVENTURE_MOVE_HERO_NN,
ADVENTURE_MOVE_HERO_NE,
// Battle screen
BATTLE_TOGGLE_QUEUE,
BATTLE_USE_CREATURE_SPELL,
BATTLE_SURRENDER,
BATTLE_RETREAT,
BATTLE_AUTOCOMBAT,
BATTLE_END_WITH_AUTOCOMBAT,
BATTLE_CAST_SPELL,
BATTLE_WAIT,
BATTLE_DEFEND,
BATTLE_CONSOLE_UP,
BATTLE_CONSOLE_DOWN,
BATTLE_TACTICS_NEXT,
BATTLE_TACTICS_END,
BATTLE_TOGGLE_HEROES_STATS,
BATTLE_OPEN_ACTIVE_UNIT,
BATTLE_OPEN_HOVERED_UNIT,
BATTLE_TOGGLE_QUICKSPELL,
BATTLE_SPELL_SHORTCUT_0,
BATTLE_SPELL_SHORTCUT_1,
BATTLE_SPELL_SHORTCUT_2,
BATTLE_SPELL_SHORTCUT_3,
BATTLE_SPELL_SHORTCUT_4,
BATTLE_SPELL_SHORTCUT_5,
BATTLE_SPELL_SHORTCUT_6,
BATTLE_SPELL_SHORTCUT_7,
BATTLE_SPELL_SHORTCUT_8,
BATTLE_SPELL_SHORTCUT_9,
BATTLE_SPELL_SHORTCUT_10,
BATTLE_SPELL_SHORTCUT_11,
MARKET_DEAL,
MARKET_MAX_AMOUNT,
MARKET_SACRIFICE_ALL,
MARKET_SACRIFICE_BACKPACK,
MARKET_RESOURCE_PLAYER,
MARKET_ARTIFACT_RESOURCE,
MARKET_RESOURCE_ARTIFACT,
MARKET_CREATURE_RESOURCE,
MARKET_RESOURCE_RESOURCE,
MARKET_CREATURE_EXPERIENCE,
MARKET_ARTIFACT_EXPERIENCE,
SPECTATE_TRACK_HERO,
SPECTATE_SKIP_BATTLE,
SPECTATE_SKIP_BATTLE_RESULT,
// Town screen
TOWN_OPEN_TAVERN,
TOWN_OPEN_HALL,
TOWN_OPEN_FORT,
TOWN_OPEN_MARKET,
TOWN_OPEN_MAGE_GUILD,
TOWN_OPEN_THIEVES_GUILD,
TOWN_OPEN_RECRUITMENT,
TOWN_OPEN_HERO_EXCHANGE,
TOWN_OPEN_HERO,
TOWN_OPEN_VISITING_HERO,
TOWN_OPEN_GARRISONED_HERO,
TOWN_SWAP_ARMIES, // Swap garrisoned and visiting armies
// Creature & creature recruitment screen
RECRUITMENT_MAX, // Set number of creatures to recruit to max
RECRUITMENT_MIN, // Set number of creatures to recruit to min (1)
RECRUITMENT_SWITCH_LEVEL,
RECRUITMENT_UPGRADE, // Upgrade current creature
RECRUITMENT_UPGRADE_ALL, // Upgrade all creatures (Hill Fort / Skeleton Transformer)
// Kingdom Overview window
KINGDOM_HEROES_TAB,
KINGDOM_TOWNS_TAB,
// Hero screen
HERO_DISMISS,
HERO_COMMANDER,
HERO_LOOSE_FORMATION,
HERO_TIGHT_FORMATION,
HERO_TOGGLE_TACTICS, // b
HERO_ARMY_SPLIT,
HERO_BACKPACK,
HERO_COSTUME_SAVE_0,
HERO_COSTUME_SAVE_1,
HERO_COSTUME_SAVE_2,
HERO_COSTUME_SAVE_3,
HERO_COSTUME_SAVE_4,
HERO_COSTUME_SAVE_5,
HERO_COSTUME_SAVE_6,
HERO_COSTUME_SAVE_7,
HERO_COSTUME_SAVE_8,
HERO_COSTUME_SAVE_9,
HERO_COSTUME_LOAD_0,
HERO_COSTUME_LOAD_1,
HERO_COSTUME_LOAD_2,
HERO_COSTUME_LOAD_3,
HERO_COSTUME_LOAD_4,
HERO_COSTUME_LOAD_5,
HERO_COSTUME_LOAD_6,
HERO_COSTUME_LOAD_7,
HERO_COSTUME_LOAD_8,
HERO_COSTUME_LOAD_9,
EXCHANGE_ARMY_TO_LEFT,
EXCHANGE_ARMY_TO_RIGHT,
EXCHANGE_ARMY_SWAP,
EXCHANGE_ARTIFACTS_TO_LEFT,
EXCHANGE_ARTIFACTS_TO_RIGHT,
EXCHANGE_ARTIFACTS_SWAP,
EXCHANGE_EQUIPPED_TO_LEFT,
EXCHANGE_EQUIPPED_TO_RIGHT,
EXCHANGE_EQUIPPED_SWAP,
EXCHANGE_BACKPACK_TO_LEFT,
EXCHANGE_BACKPACK_TO_RIGHT,
EXCHANGE_BACKPACK_SWAP,
EXCHANGE_BACKPACK_LEFT,
EXCHANGE_BACKPACK_RIGHT,
// Spellbook screen
SPELLBOOK_TAB_ADVENTURE,
SPELLBOOK_TAB_COMBAT,
SPELLBOOK_SEARCH_FOCUS,
LIST_HERO_UP,
LIST_HERO_DOWN,
LIST_HERO_TOP,
LIST_HERO_BOTTOM,
LIST_HERO_DISMISS,
LIST_TOWN_UP,
LIST_TOWN_DOWN,
LIST_TOWN_TOP,
LIST_TOWN_BOTTOM,
AFTER_LAST
};