2023-04-27 19:21:06 +02:00
|
|
|
/*
|
|
|
|
* 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,
|
|
|
|
|
2024-04-30 12:36:29 +02:00
|
|
|
// preudo-shortcuts that trigger mouse events
|
|
|
|
MOUSE_LEFT,
|
|
|
|
MOUSE_RIGHT,
|
|
|
|
MOUSE_CURSOR_X,
|
|
|
|
MOUSE_CURSOR_Y,
|
|
|
|
MOUSE_SWIPE_X,
|
|
|
|
MOUSE_SWIPE_Y,
|
|
|
|
|
2023-04-28 13:22:03 +02:00
|
|
|
// 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
|
2023-04-27 19:21:06 +02:00
|
|
|
SELECT_INDEX_1,
|
|
|
|
SELECT_INDEX_2,
|
|
|
|
SELECT_INDEX_3,
|
|
|
|
SELECT_INDEX_4,
|
|
|
|
SELECT_INDEX_5,
|
|
|
|
SELECT_INDEX_6,
|
|
|
|
SELECT_INDEX_7,
|
|
|
|
SELECT_INDEX_8,
|
|
|
|
|
2023-04-28 13:22:03 +02:00
|
|
|
// Main menu hotkeys - for navigation between main menu windows
|
|
|
|
MAIN_MENU_NEW_GAME,
|
|
|
|
MAIN_MENU_LOAD_GAME,
|
|
|
|
MAIN_MENU_HIGH_SCORES,
|
2023-04-27 19:21:06 +02:00
|
|
|
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,
|
|
|
|
|
2024-05-18 21:59:28 +02:00
|
|
|
MAIN_MENU_HOTSEAT,
|
|
|
|
MAIN_MENU_LOBBY,
|
|
|
|
MAIN_MENU_HOST_GAME,
|
|
|
|
MAIN_MENU_JOIN_GAME,
|
|
|
|
|
|
|
|
HIGH_SCORES_CAMPAIGNS,
|
|
|
|
HIGH_SCORES_SCENARIOS,
|
|
|
|
HIGH_SCORES_RESET,
|
2024-08-14 21:51:08 +02:00
|
|
|
HIGH_SCORES_STATISTICS,
|
2024-05-18 21:59:28 +02:00
|
|
|
|
2023-04-28 13:22:03 +02:00
|
|
|
// Game lobby / scenario selection
|
2024-04-20 15:43:39 +02:00
|
|
|
LOBBY_BEGIN_STANDARD_GAME, // b
|
|
|
|
LOBBY_BEGIN_CAMPAIGN, // Return
|
2023-04-27 19:21:06 +02:00
|
|
|
LOBBY_LOAD_GAME, // l, Return
|
|
|
|
LOBBY_SAVE_GAME, // s, Return
|
2023-04-28 13:22:03 +02:00
|
|
|
LOBBY_RANDOM_MAP, // Open random map tab
|
2024-05-18 22:45:06 +02:00
|
|
|
LOBBY_TOGGLE_CHAT,
|
2023-04-28 13:22:03 +02:00
|
|
|
LOBBY_ADDITIONAL_OPTIONS, // Open additional options tab
|
|
|
|
LOBBY_SELECT_SCENARIO, // Open map list tab
|
2024-05-18 21:59:28 +02:00
|
|
|
LOBBY_REPLAY_VIDEO,
|
|
|
|
LOBBY_EXTRA_OPTIONS,
|
|
|
|
LOBBY_TURN_OPTIONS,
|
|
|
|
LOBBY_INVITE_PLAYERS,
|
|
|
|
LOBBY_FLIP_COIN,
|
|
|
|
LOBBY_RANDOM_TOWN,
|
|
|
|
LOBBY_RANDOM_TOWN_VS,
|
2024-07-25 23:32:45 +02:00
|
|
|
LOBBY_HANDICAP,
|
2024-05-18 21:59:28 +02:00
|
|
|
|
|
|
|
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,
|
2023-04-27 19:21:06 +02:00
|
|
|
|
2024-05-19 11:12:06 +02:00
|
|
|
SETTINGS_LOAD_GAME,
|
|
|
|
SETTINGS_SAVE_GAME,
|
|
|
|
SETTINGS_NEW_GAME,
|
|
|
|
SETTINGS_RESTART_GAME,
|
|
|
|
SETTINGS_TO_MAIN_MENU,
|
|
|
|
SETTINGS_QUIT_GAME,
|
|
|
|
|
2023-04-28 13:22:03 +02:00
|
|
|
// 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
|
2024-07-19 21:38:40 +02:00
|
|
|
ADVENTURE_TOGGLE_VISITABLE, // Toggles visitable tiles overlay
|
|
|
|
ADVENTURE_TOGGLE_BLOCKED, // Toggles blocked tiles overlay
|
2023-05-02 15:09:36 +02:00
|
|
|
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
|
2023-04-28 13:22:03 +02:00
|
|
|
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
|
2023-04-27 19:21:06 +02:00
|
|
|
ADVENTURE_NEXT_TOWN,
|
|
|
|
ADVENTURE_NEXT_HERO,
|
2024-05-18 22:45:06 +02:00
|
|
|
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
|
2023-04-28 13:22:03 +02:00
|
|
|
ADVENTURE_VIEW_SCENARIO,// View Scenario Information window
|
2024-05-18 21:59:28 +02:00
|
|
|
ADVENTURE_REPLAY_TURN,
|
2023-04-27 19:21:06 +02:00
|
|
|
ADVENTURE_DIG_GRAIL,
|
|
|
|
ADVENTURE_VIEW_PUZZLE,
|
2023-05-05 14:48:43 +02:00
|
|
|
ADVENTURE_VIEW_WORLD,
|
2023-05-04 18:04:36 +02:00
|
|
|
ADVENTURE_VIEW_WORLD_X1,
|
|
|
|
ADVENTURE_VIEW_WORLD_X2,
|
|
|
|
ADVENTURE_VIEW_WORLD_X4,
|
2024-04-30 18:10:10 +02:00
|
|
|
ADVENTURE_TRACK_HERO,
|
2023-04-27 19:21:06 +02:00
|
|
|
ADVENTURE_TOGGLE_MAP_LEVEL,
|
|
|
|
ADVENTURE_KINGDOM_OVERVIEW,
|
|
|
|
ADVENTURE_QUEST_LOG,
|
|
|
|
ADVENTURE_CAST_SPELL,
|
2024-05-19 11:12:06 +02:00
|
|
|
ADVENTURE_MARKETPLACE,
|
2023-04-27 19:21:06 +02:00
|
|
|
ADVENTURE_THIEVES_GUILD,
|
2023-05-04 18:04:36 +02:00
|
|
|
ADVENTURE_EXIT_WORLD_VIEW,
|
2023-05-16 22:42:51 +02:00
|
|
|
ADVENTURE_ZOOM_IN,
|
|
|
|
ADVENTURE_ZOOM_OUT,
|
2023-05-17 13:54:19 +02:00
|
|
|
ADVENTURE_ZOOM_RESET,
|
2024-05-19 11:12:06 +02:00
|
|
|
ADVENTURE_END_TURN,
|
|
|
|
ADVENTURE_LOAD_GAME,
|
|
|
|
ADVENTURE_SAVE_GAME,
|
|
|
|
ADVENTURE_NEW_GAME,
|
|
|
|
ADVENTURE_RESTART_GAME,
|
|
|
|
ADVENTURE_TO_MAIN_MENU,
|
|
|
|
ADVENTURE_QUIT_GAME,
|
2024-10-01 18:15:32 +02:00
|
|
|
ADVENTURE_SEARCH,
|
2023-04-27 19:21:06 +02:00
|
|
|
|
2023-04-28 13:22:03 +02:00
|
|
|
// 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
|
2023-04-27 19:21:06 +02:00
|
|
|
BATTLE_TOGGLE_QUEUE,
|
|
|
|
BATTLE_USE_CREATURE_SPELL,
|
|
|
|
BATTLE_SURRENDER,
|
|
|
|
BATTLE_RETREAT,
|
|
|
|
BATTLE_AUTOCOMBAT,
|
2024-01-27 00:15:56 +02:00
|
|
|
BATTLE_END_WITH_AUTOCOMBAT,
|
2023-04-27 19:21:06 +02:00
|
|
|
BATTLE_CAST_SPELL,
|
|
|
|
BATTLE_WAIT,
|
|
|
|
BATTLE_DEFEND,
|
|
|
|
BATTLE_CONSOLE_UP,
|
|
|
|
BATTLE_CONSOLE_DOWN,
|
|
|
|
BATTLE_TACTICS_NEXT,
|
|
|
|
BATTLE_TACTICS_END,
|
2023-04-29 12:48:21 +02:00
|
|
|
BATTLE_SELECT_ACTION, // Alternative actions toggle
|
2023-07-17 23:25:16 +02:00
|
|
|
BATTLE_TOGGLE_HEROES_STATS,
|
2024-05-18 22:45:06 +02:00
|
|
|
BATTLE_OPEN_ACTIVE_UNIT,
|
|
|
|
BATTLE_OPEN_HOVERED_UNIT,
|
2024-07-16 23:36:23 +02:00
|
|
|
BATTLE_TOGGLE_QUICKSPELL,
|
2024-05-19 23:12:48 +02:00
|
|
|
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,
|
2024-07-16 22:47:40 +02:00
|
|
|
BATTLE_SPELL_SHORTCUT_10,
|
|
|
|
BATTLE_SPELL_SHORTCUT_11,
|
2023-04-27 19:21:06 +02:00
|
|
|
|
2024-05-18 21:59:28 +02:00
|
|
|
MARKET_DEAL,
|
|
|
|
MARKET_MAX_AMOUNT,
|
|
|
|
MARKET_SACRIFICE_ALL,
|
|
|
|
MARKET_SACRIFICE_BACKPACK,
|
2024-05-19 11:12:06 +02:00
|
|
|
MARKET_RESOURCE_PLAYER,
|
|
|
|
MARKET_ARTIFACT_RESOURCE,
|
|
|
|
MARKET_RESOURCE_ARTIFACT,
|
|
|
|
MARKET_CREATURE_RESOURCE,
|
|
|
|
MARKET_RESOURCE_RESOURCE,
|
|
|
|
MARKET_CREATURE_EXPERIENCE,
|
|
|
|
MARKET_ARTIFACT_EXPERIENCE,
|
2024-04-30 18:10:10 +02:00
|
|
|
|
|
|
|
SPECTATE_TRACK_HERO,
|
|
|
|
SPECTATE_SKIP_BATTLE,
|
|
|
|
SPECTATE_SKIP_BATTLE_RESULT,
|
|
|
|
|
2023-04-28 13:22:03 +02:00
|
|
|
// Town screen
|
2023-04-27 19:21:06 +02:00
|
|
|
TOWN_OPEN_TAVERN,
|
2024-05-18 21:59:28 +02:00
|
|
|
TOWN_OPEN_HALL,
|
|
|
|
TOWN_OPEN_FORT,
|
2024-05-18 22:45:06 +02:00
|
|
|
TOWN_OPEN_MARKET,
|
|
|
|
TOWN_OPEN_MAGE_GUILD,
|
|
|
|
TOWN_OPEN_THIEVES_GUILD,
|
2024-05-18 21:59:28 +02:00
|
|
|
TOWN_OPEN_RECRUITMENT,
|
2024-05-18 22:45:06 +02:00
|
|
|
TOWN_OPEN_HERO_EXCHANGE,
|
|
|
|
TOWN_OPEN_HERO,
|
|
|
|
TOWN_OPEN_VISITING_HERO,
|
|
|
|
TOWN_OPEN_GARRISONED_HERO,
|
2023-04-28 13:22:03 +02:00
|
|
|
TOWN_SWAP_ARMIES, // Swap garrisoned and visiting armies
|
2023-04-27 19:21:06 +02:00
|
|
|
|
2023-04-28 13:22:03 +02:00
|
|
|
// 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)
|
2024-05-18 21:59:28 +02:00
|
|
|
RECRUITMENT_SWITCH_LEVEL,
|
2023-04-28 13:22:03 +02:00
|
|
|
RECRUITMENT_UPGRADE, // Upgrade current creature
|
|
|
|
RECRUITMENT_UPGRADE_ALL, // Upgrade all creatures (Hill Fort / Skeleton Transformer)
|
2023-04-27 19:21:06 +02:00
|
|
|
|
2023-04-28 13:22:03 +02:00
|
|
|
// Kingdom Overview window
|
|
|
|
KINGDOM_HEROES_TAB,
|
|
|
|
KINGDOM_TOWNS_TAB,
|
2023-04-27 19:21:06 +02:00
|
|
|
|
2023-04-28 13:22:03 +02:00
|
|
|
// Hero screen
|
2023-04-27 19:21:06 +02:00
|
|
|
HERO_DISMISS,
|
|
|
|
HERO_COMMANDER,
|
|
|
|
HERO_LOOSE_FORMATION,
|
|
|
|
HERO_TIGHT_FORMATION,
|
|
|
|
HERO_TOGGLE_TACTICS, // b
|
2024-05-18 21:59:28 +02:00
|
|
|
HERO_ARMY_SPLIT,
|
2023-07-06 21:14:12 +02:00
|
|
|
HERO_BACKPACK,
|
2024-05-18 18:27:42 +02:00
|
|
|
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,
|
2023-04-27 19:21:06 +02:00
|
|
|
|
2024-05-18 21:59:28 +02:00
|
|
|
EXCHANGE_ARMY_TO_LEFT,
|
|
|
|
EXCHANGE_ARMY_TO_RIGHT,
|
|
|
|
EXCHANGE_ARMY_SWAP,
|
|
|
|
EXCHANGE_ARTIFACTS_TO_LEFT,
|
|
|
|
EXCHANGE_ARTIFACTS_TO_RIGHT,
|
|
|
|
EXCHANGE_ARTIFACTS_SWAP,
|
2024-05-19 14:28:03 +02:00
|
|
|
EXCHANGE_EQUIPPED_TO_LEFT,
|
|
|
|
EXCHANGE_EQUIPPED_TO_RIGHT,
|
|
|
|
EXCHANGE_EQUIPPED_SWAP,
|
|
|
|
EXCHANGE_BACKPACK_TO_LEFT,
|
|
|
|
EXCHANGE_BACKPACK_TO_RIGHT,
|
|
|
|
EXCHANGE_BACKPACK_SWAP,
|
2024-05-18 21:59:28 +02:00
|
|
|
EXCHANGE_BACKPACK_LEFT,
|
|
|
|
EXCHANGE_BACKPACK_RIGHT,
|
|
|
|
|
2023-04-28 13:22:03 +02:00
|
|
|
// Spellbook screen
|
2023-04-27 19:21:06 +02:00
|
|
|
SPELLBOOK_TAB_ADVENTURE,
|
|
|
|
SPELLBOOK_TAB_COMBAT,
|
|
|
|
|
2024-08-04 14:00:40 +02:00
|
|
|
LIST_HERO_UP,
|
|
|
|
LIST_HERO_DOWN,
|
|
|
|
LIST_HERO_TOP,
|
|
|
|
LIST_HERO_BOTTOM,
|
2024-08-12 17:53:24 +02:00
|
|
|
LIST_HERO_DISMISS,
|
2024-08-04 14:00:40 +02:00
|
|
|
LIST_TOWN_UP,
|
|
|
|
LIST_TOWN_DOWN,
|
|
|
|
LIST_TOWN_TOP,
|
|
|
|
LIST_TOWN_BOTTOM,
|
|
|
|
|
2023-04-27 19:21:06 +02:00
|
|
|
AFTER_LAST
|
|
|
|
};
|