Release 1.21
parent
9cb796bc6c
commit
2e6ad55fa1
|
@ -3,18 +3,22 @@
|
|||
|
||||
#include "../../Include/Core/Types/Logger.hpp"
|
||||
|
||||
#define DEBUG_VERBOSE_LOG Debug::Verbose << __PRETTY_FUNCTION__ << " > "
|
||||
#define DEBUG_VERBOSE_LOG_END --Debug::Verbose << __PRETTY_FUNCTION__ << " > "
|
||||
#define DEBUG_VERBOSE_START Debug::Verbose++ << __PRETTY_FUNCTION__ << " > Started" << std::endl
|
||||
|
||||
#define DEBUG_VERBOSE_SUCCESS --Debug::Verbose << __PRETTY_FUNCTION__ << " > Succeeded > "
|
||||
#define DEBUG_VERBOSE_SUCCESS_NOINFO --Debug::Verbose << __PRETTY_FUNCTION__ << " > Succeeded" << std::endl
|
||||
#define DEBUG_VERBOSE_SUCCESS_EOF --Debug::Verbose << " > Succeeded > Reached end of function" << std::endl
|
||||
|
||||
#define DEBUG_VERBOSE_FAIL --Debug::Verbose << __PRETTY_FUNCTION__ << " > Failed > "
|
||||
#define DEBUG_VERBOSE_FAIL_NOINFO --Debug::Verbose << __PRETTY_FUNCTION__ << " > Failed" << std::endl;
|
||||
#define DEBUG_VERBOSE_FAIL_EOF --Debug::Verbose << __PRETTY_FUNCTION__ << " > Failed > Reached end of function" << std::endl
|
||||
|
||||
#define DEBUG_VERBOSE_LOG Debug::Verbose << __PRETTY_FUNCTION__ << " > "
|
||||
#define DEBUG_VERBOSE_LOG_SUCCESS Debug::Verbose << __PRETTY_FUNCTION__ << " > Succeeded > "
|
||||
#define DEBUG_VERBOSE_LOG_SUCCESS_NOINFO Debug::Verbose << __PRETTY_FUNCTION__ << " > Succeeded" << std::endl
|
||||
#define DEBUG_VERBOSE_LOG_SUCCESS_EOF Debug::Verbose << __PRETTY_FUNCTION__ << " > Succeeded > Reached end of function" << std::endl
|
||||
#define DEBUG_VERBOSE_LOG_FAIL Debug::Verbose << __PRETTY_FUNCTION__ << " > Failed > "
|
||||
#define DEBUG_VERBOSE_LOG_FAIL_NOINFO Debug::Verbose << __PRETTY_FUNCTION__ << " > Failed" << std::endl
|
||||
#define DEBUG_VERBOSE_LOG_FAIL_EOF Debug::Verbose << __PRETTY_FUNCTION__ << " > Failed > Reached end of function" << std::endl
|
||||
|
||||
namespace Debug
|
||||
{
|
||||
extern Logger Info;
|
||||
|
|
|
@ -0,0 +1,445 @@
|
|||
#ifndef GLOBALS_HPP_INCLUDED
|
||||
#define GLOBALS_HPP_INCLUDED
|
||||
|
||||
#include <vector>
|
||||
#include <cstdint>
|
||||
#include <map>
|
||||
|
||||
namespace Globals
|
||||
{
|
||||
typedef struct SettingsDef
|
||||
{
|
||||
std::int32_t Index = -1;
|
||||
std::int32_t BitPos = -1;
|
||||
std::int32_t BitMask = -1;
|
||||
} SettingsDef;
|
||||
|
||||
typedef struct WidgetDef
|
||||
{
|
||||
std::int32_t Parent = -1;
|
||||
std::int32_t Child = -1;
|
||||
std::int32_t Grandchild = -1;
|
||||
} WidgetDef;
|
||||
|
||||
inline SettingsDef SETTING_COMBAT_SPECIAL = { 300 };
|
||||
inline SettingsDef SETTING_COMBAT_SPECIAL_TOGGLE = { 301 };
|
||||
inline SettingsDef SETTING_COMBAT_AUTO_RETALIATE = { 172 };
|
||||
inline SettingsDef SETTING_COMBAT_POISON = { 102 };
|
||||
inline SettingsDef SETTING_WEAPON_STYLES = { 43 }; // How many styles the current weapon has
|
||||
inline SettingsDef SETTING_ACCEPT_AID = { 427 }; // 13 = on
|
||||
inline SettingsDef SETTING_RUN_MODE = { 173 }; // 1 = running
|
||||
inline SettingsDef SETTING_CURRENT_PRAYER = { 83 }; // To be used with PrayerDefs
|
||||
inline SettingsDef SETTING_BANK_WITHDRAW_MODE = { 115, 0 };
|
||||
inline SettingsDef SETTING_BANK_WITHDRAW_MODE_WIDGET = { 1666 }; // Which Widget is selected, 0 = 1, 4 = 5, 8 = 10, 12 = X, 16 = ALL
|
||||
inline SettingsDef SETTING_BANK_DEFAULT_QUANTITY = { 304 }; // Seems to be the value / 2, so if it returns 50, then the default custom quantity is 25
|
||||
inline SettingsDef SETTING_EXCHANGE_CURRENT_SLOT_INDEX = { 375 };
|
||||
inline SettingsDef SETTING_EXCHANGE_CURRENT_SLOT_ITEM_ID = { 1151 };
|
||||
inline SettingsDef SETTING_EXCHANGE_CURRENT_SLOT_ITEM_AMOUNT = { 563 };
|
||||
inline SettingsDef SETTING_EXCHANGE_CURRENT_SLOT_PRICE = { 1043 };
|
||||
inline SettingsDef SETTING_ESC_TO_CLOSE = { 1224, 31 };
|
||||
inline SettingsDef SETTING_SHIFT_CLICK_DROP = { 1055, 17 };
|
||||
inline SettingsDef SETTING_SCROLL_WHEEL_TO_ZOOM = { 1055, 29 };
|
||||
|
||||
inline std::int32_t WIDGET_ROOT_LOBBY = 165;
|
||||
inline std::int32_t WIDGET_ROOT_FIXED = 548;
|
||||
inline std::int32_t WIDGET_ROOT_RESIZABLE = 161;
|
||||
inline std::int32_t WIDGET_ROOT_RESIZABLE_SIDE_PANELS = 164;
|
||||
|
||||
//************ Bank.cpp ************//
|
||||
inline std::int32_t BANK_ITEM_CONTAINER_ID = 95;
|
||||
inline std::int32_t BANK_SPRITE_ID_CURRENT_TAB = 1079;
|
||||
inline std::int32_t BANK_PARENT = 12;
|
||||
inline WidgetDef BANK_MAIN = { BANK_PARENT, 3 };
|
||||
inline WidgetDef BANK_CLOSE = { BANK_PARENT, 3, 11 };
|
||||
inline WidgetDef BANK_DEPOSIT_ALL = { BANK_PARENT, 42 };
|
||||
inline WidgetDef BANK_DEPOSIT_EQUIPMENT = { BANK_PARENT, 42 };
|
||||
inline WidgetDef BANK_WITHDRAW_MODE_NOTED = { BANK_PARENT, 25 };
|
||||
inline WidgetDef BANK_WITHDRAW_MODE_ITEM = { BANK_PARENT, 23 };
|
||||
inline WidgetDef BANK_ITEM_CONTAINER_WIDGET = { BANK_PARENT, 13 }; // Used for scrolling, contains all items, middle of the bank interface
|
||||
inline WidgetDef BANK_TABS_CONTAINER = { BANK_PARENT, 11 }; // Has all Tab children
|
||||
inline WidgetDef BANK_INVENTORY = { 15, 3 }; // When the bank is open, the Inventory has it's own widgets for items
|
||||
inline std::int32_t BANK_WITHDRAW_QUANTITY_CHILDREN[6] = { 29, 31, 33, 35, 37 }; // 1, 5, 10, x, all, uses BANK_PARENT
|
||||
|
||||
inline std::int32_t BANK_ENTER_PIN_PARENT = 213;
|
||||
inline WidgetDef BANK_ENTER_PIN_STATUS = { BANK_ENTER_PIN_PARENT, 10 }; // Text widget, has FIRST, SECOND, THIRD, FOURTH, Submitting in it
|
||||
inline std::int32_t BANK_ENTER_PIN_BUTTON_CHILDREN[10] = { 16, 18, 20, 22, 24, 26, 28, 30, 32, 34 }; // Buttons themselves, uses BANK_ENTER_PIN_PARENT,
|
||||
// grandchild 0 = proper widget bounds, grandchild 1 = text
|
||||
|
||||
//************ Chat.cpp ************//
|
||||
typedef struct ChatWidgetDef
|
||||
{
|
||||
std::int32_t Parent = -1;
|
||||
std::int32_t TitleChild = -1;
|
||||
std::int32_t ContinueChild = -1;
|
||||
std::int32_t ContentChild = -1;
|
||||
} ChatWidgetDef;
|
||||
|
||||
inline ChatWidgetDef CHAT_NPC_CHAT_WIDGETS = { 231, 2, 3, 4 };
|
||||
inline ChatWidgetDef CHAT_PLAYER_CHAT_WIDGETS = { 217, 2, 3, 4 };
|
||||
inline ChatWidgetDef CHAT_GAME_CHAT_WIDGETS = { 193, 2, 3, 4 };
|
||||
inline ChatWidgetDef CHAT_LEVEL_UP_CHAT_WIDGETS = { 233, 1, 2, 3 };
|
||||
inline ChatWidgetDef CHAT_BANK_PIN_ERROR_WIDGETS = { 229, 1, 2 };
|
||||
|
||||
inline WidgetDef CHAT_SELECT_OPTION_CONTAINER = { 219, 1 }; // Container for all Select Option options
|
||||
inline WidgetDef CHAT_SELECT_OPTION_TITLE = { CHAT_SELECT_OPTION_CONTAINER.Parent, CHAT_SELECT_OPTION_CONTAINER.Child, 0 };
|
||||
|
||||
inline WidgetDef CHAT_ENTER_AMOUNT_TITLE = { 162, 44 };
|
||||
inline WidgetDef CHAT_ENTER_AMOUNT = { 162, 45 }; // Input widget (* when blank)
|
||||
|
||||
//************ DepositBox.cpp ************//
|
||||
inline std::int32_t DEPOSIT_BOX_PARENT = 192;
|
||||
inline WidgetDef DEPOSIT_BOX_CLOSE = { DEPOSIT_BOX_PARENT, 1, 11 };
|
||||
inline WidgetDef DEPOSIT_BOX_DEPOSIT_ALL = { DEPOSIT_BOX_PARENT, 4 };
|
||||
inline WidgetDef DEPOSIT_BOX_DEPOSIT_EQUIPMENT = { DEPOSIT_BOX_PARENT, 6 };
|
||||
inline WidgetDef DEPOSIT_BOX_DEPOSIT_LOOT = { DEPOSIT_BOX_PARENT, 8 };
|
||||
|
||||
//************ Exchange.cpp ************//
|
||||
inline std::int32_t EXCHANGE_PARENT = 465;
|
||||
inline WidgetDef EXCHANGE_MAIN = { EXCHANGE_PARENT, 0 };
|
||||
inline WidgetDef EXCHANGE_BACK = { EXCHANGE_PARENT, 4 };
|
||||
inline WidgetDef EXCHANGE_CLOSE = { EXCHANGE_PARENT, 2, 11 };
|
||||
inline WidgetDef EXCHANGE_SPRITE_TYPE = { EXCHANGE_PARENT, 24, 19};
|
||||
inline WidgetDef EXCHANGE_ITEM = { EXCHANGE_PARENT, 24, 21 };
|
||||
inline WidgetDef EXCHANGE_COLLECT_CONTAINER_WIDGET = { EXCHANGE_PARENT, 6, 1 };
|
||||
inline WidgetDef EXCHANGE_COLLECT_SLOT_ONE = { EXCHANGE_PARENT, 23, 2 };
|
||||
inline WidgetDef EXCHANGE_COLLECT_SLOT_TWO = { EXCHANGE_PARENT, 23, 3 };
|
||||
inline WidgetDef EXCHANGE_AMOUNT = { EXCHANGE_PARENT, 24, 7 };
|
||||
inline WidgetDef EXCHANGE_PRICE = { EXCHANGE_PARENT, 24, 12 };
|
||||
inline WidgetDef EXCHANGE_GUIDE = { EXCHANGE_PARENT, 24, 11};
|
||||
inline WidgetDef EXCHANGE_CONFIRM = { EXCHANGE_PARENT, 27, 0 };
|
||||
inline WidgetDef EXCHANGE_ABORT = { EXCHANGE_PARENT, 22, 0 };
|
||||
|
||||
inline WidgetDef EXCHANGE_CHAT = { 162, 44 };
|
||||
inline WidgetDef EXCHANGE_CHAT_ENTER = { 162, 45 };
|
||||
inline WidgetDef EXCHANGE_CHAT_CHOOSE = { 162, 53 };
|
||||
|
||||
inline std::int32_t EXCHANGE_SLOT_START = 7;
|
||||
inline std::int32_t EXCHANGE_WIDGET_SPRITE_BUY = 26; // Widget Grandchild
|
||||
inline std::int32_t EXCHANGE_WIDGET_SPRITE_SELL = EXCHANGE_WIDGET_SPRITE_BUY + 1; // Widget Grandchild
|
||||
|
||||
inline std::int32_t EXCHANGE_SPRITE_BUY = 1108;
|
||||
inline std::int32_t EXCHANGE_SPRITE_SELL = 1106;
|
||||
inline std::int32_t EXCHANGE_SPRITE_MINI_BUY = 1118;
|
||||
inline std::int32_t EXCHANGE_SPRITE_MINI_SELL = 1119;
|
||||
|
||||
//************ Login.cpp ************//
|
||||
inline WidgetDef LOGIN_LOBBY_PLAY = { 378, 81 };
|
||||
|
||||
//************ Makescreen.cpp ************//
|
||||
inline std::int32_t MAKESCREEN_PARENT = 270;
|
||||
inline WidgetDef MAKESCREEN_MAKE_ONE = { MAKESCREEN_PARENT, 7, 0 }; // 0 is for the sprite
|
||||
inline WidgetDef MAKESCREEN_MAKE_FIVE = { MAKESCREEN_PARENT, 8, 0 }; // 0 is for the sprite
|
||||
inline WidgetDef MAKESCREEN_MAKE_TEN = { MAKESCREEN_PARENT, 9, 0 }; // 0 is for the sprite
|
||||
inline WidgetDef MAKESCREEN_MAKE_CUSTOM = { MAKESCREEN_PARENT, 10, 0 }; // 0 is for the sprite
|
||||
inline WidgetDef MAKESCREEN_MAKE_CUSTOM_TEXT = { MAKESCREEN_PARENT, 10, 9 };
|
||||
inline WidgetDef MAKESCREEN_MAKE_X = { MAKESCREEN_PARENT, 11 };
|
||||
inline WidgetDef MAKESCREEN_MAKE_ALL = { MAKESCREEN_PARENT, 12, 0 }; // 0 is for the sprite
|
||||
inline WidgetDef MAKESCREEN_MAKE_MIDDLE = { MAKESCREEN_PARENT, 14 };
|
||||
|
||||
//************ Minimap.cpp ************//
|
||||
// 0 - Fixed; 1 - Resizable; 2 - Resizable + Side Panels
|
||||
inline WidgetDef MINIMAP_MIDDLE[3] = { { 548, 8 }, { 161, 25 }, { 164, 25 } };
|
||||
inline WidgetDef MINIMAP_COMPASS[3] = { { 548, 7 }, { 161, 24 }, { 164, 24 } };
|
||||
inline WidgetDef MINIMAP_CURE = { 160, 4 };
|
||||
inline WidgetDef MINIMAP_QUICK_PRAYER = { 160, 14 };
|
||||
inline WidgetDef MINIMAP_TOGGLE_RUN = { 160, 22 };
|
||||
|
||||
//************ Trade.cpp ************//
|
||||
inline WidgetDef TRADE_SCREEN = { 335, 3 };
|
||||
inline std::int32_t TRADE_ITEM_CONTAINER_MY_OFFER = 90;
|
||||
inline std::int32_t TRADE_ITEM_CONTAINER_THEIR_OFFER = 32858;
|
||||
|
||||
//************ Item.cpp ************//
|
||||
inline std::int32_t EQUIPMENT_ITEM_CONTAINER_WIDGET = 387; // Item container parent, (Index + 6)
|
||||
|
||||
//************ RandomHandler.cpp ************//
|
||||
inline std::vector<std::string> RANDOM_NPC_NAMES =
|
||||
{ "Bee keeper",
|
||||
"Capt' Arnav",
|
||||
"Niles",
|
||||
"Miles",
|
||||
"Giles",
|
||||
"Sergeant Damien",
|
||||
"Drunken Dwarf",
|
||||
"Freaky Forester",
|
||||
"Frog",
|
||||
"Prince",
|
||||
"Princess",
|
||||
"Genie",
|
||||
"Evil Bob",
|
||||
"Postie Pete",
|
||||
"Molly",
|
||||
"Leo",
|
||||
"Dr. Jekyll",
|
||||
"Dr Jekyll",
|
||||
"Mr. Hyde",
|
||||
"Mysterious Old Man",
|
||||
"Mime",
|
||||
"Pillory Guard",
|
||||
"Flippa",
|
||||
"Tilt",
|
||||
"Prison Pete",
|
||||
"Quiz Master",
|
||||
"Rick Turpentine",
|
||||
"Sandwich lady",
|
||||
"Strange plant",
|
||||
"Dunce",
|
||||
};
|
||||
|
||||
namespace GameTabs
|
||||
{
|
||||
//************************************ Tabs ************************************//
|
||||
// These are the "Sprite" widgets, these widgets' sprite IDs change when opened or closed
|
||||
// 0 - Fixed; 1 - Resizable; 2 - Resizable + Side Panels
|
||||
inline WidgetDef TAB_ACCOUNT_MANAGEMENT[3] = { { 548, 32 }, { 161, 36 }, { 164, 36 } };
|
||||
inline WidgetDef TAB_CLAN[3] = { { 548, 31 }, { 161, 35 }, { 164, 35 } };
|
||||
inline WidgetDef TAB_COMBAT[3] = { { 548, 48 }, { 161, 51 }, { 164, 50 } };
|
||||
inline WidgetDef TAB_EMOTES[3] = { { 548, 36 }, { 161, 40 }, { 164, 39 } };
|
||||
inline WidgetDef TAB_EQUIPMENT[3] = { { 548, 52 }, { 161, 55 }, { 164, 54 } };
|
||||
inline WidgetDef TAB_FRIENDS[3] = { { 548, 33 }, { 161, 37 }, { 164, 37 } };
|
||||
inline WidgetDef TAB_INVENTORY[3] = { { 548, 51 }, { 161, 54 }, { 164, 53 } };
|
||||
inline WidgetDef TAB_LOGOUT[3] = { { 548, 34 }, { 161, 38 }, { 164, 29 } };
|
||||
inline WidgetDef TAB_MAGIC[3] = { { 548, 54 }, { 161, 57 }, { 164, 56 } };
|
||||
inline WidgetDef TAB_MUSIC[3] = { { 548, 37 }, { 161, 41 }, { 164, 40 } };
|
||||
inline WidgetDef TAB_OPTIONS[3] = { { 548, 35 }, { 161, 39 }, { 164, 38 } };
|
||||
inline WidgetDef TAB_PRAYER[3] = { { 548, 53 }, { 161, 56 }, { 164, 55 } };
|
||||
inline WidgetDef TAB_QUESTS[3] = { { 548, 50 }, { 161, 53 }, { 164, 52 } };
|
||||
inline WidgetDef TAB_STATS[3] = { { 548, 49 }, { 161, 52 }, { 164, 51 } };
|
||||
|
||||
//************ Combat.cpp ************//
|
||||
inline std::int32_t COMBAT_PARENT = 593 ;
|
||||
inline WidgetDef COMBAT_AUTORETALIATE = { COMBAT_PARENT, 29 };
|
||||
inline WidgetDef COMBAT_SPECIAL = { COMBAT_PARENT, 34 };
|
||||
inline std::int32_t COMBAT_STYLE_CHILDREN[4] = { 3, 7, 11, 15 }; // Uses COMBAT_PARENT as Parent
|
||||
|
||||
//************ Equipment.cpp ************//
|
||||
inline std::int32_t EQUIPMENT_CONTAINER_ID = 94;
|
||||
|
||||
//************ Inventory.cpp ************//
|
||||
inline WidgetDef INVENTORY_ITEM_CONTAINER_WIDGET = { 149, 0 };
|
||||
inline WidgetDef INVENTORY_TRADE_CONTAINER_WIDGET = { 336, 0 }; // Used for GetSlotBoxes()
|
||||
inline WidgetDef INVENTORY_EXCHANGE_CONTAINER_WIDGET = { 467, 0 }; // Used for GetSlotBoxes()
|
||||
inline std::int32_t INVENTORY_CONTAINER_ID = 93;
|
||||
|
||||
//************ Logout.cpp ************//
|
||||
inline std::int32_t LOGOUT_BUTTONS_PARENT = 182;
|
||||
inline WidgetDef LOGOUT_LOGOUT_BUTTON = { LOGOUT_BUTTONS_PARENT, 8 };
|
||||
inline WidgetDef LOGOUT_WORLD_SWITCHER_BUTTON = { LOGOUT_BUTTONS_PARENT, 3 };
|
||||
inline std::int32_t LOGOUT_WORLD_SWITCHER_PARENT = 69;
|
||||
inline WidgetDef LOGOUT_WORLD_SWITCHER_TITLE = { LOGOUT_WORLD_SWITCHER_PARENT, 2 }; // "Current World:" or "Loading" when loading
|
||||
inline WidgetDef LOGOUT_WORLD_SWITCHER_LOGOUT = { LOGOUT_WORLD_SWITCHER_PARENT, 23 }; // Logout button inside the World Switch interface
|
||||
inline WidgetDef LOGOUT_WORLD_SWITCHER_WORLDS_CONTAINER = { LOGOUT_WORLD_SWITCHER_PARENT, 16 }; // 69, 15, 301 (world id) Widget has the proper switch/favorite options
|
||||
inline WidgetDef LOGOUT_WORLD_SWITCHER_WORLDS_BOX = { LOGOUT_WORLD_SWITCHER_PARENT, 5 }; // Bounds/Box containing the entire list
|
||||
|
||||
//************ Magic.cpp ************//
|
||||
inline std::int32_t MAGIC_SPELLS_PARENT = 218; // Used with Magic spell defs
|
||||
|
||||
typedef struct SpellDef
|
||||
{
|
||||
std::string Name;
|
||||
std::int32_t WidgetID;
|
||||
std::int32_t SpriteID;
|
||||
std::int32_t Level;
|
||||
} SpellDef;
|
||||
|
||||
inline std::vector<SpellDef> SpellDefs = // To be used with Magic:: SPELL enum
|
||||
{
|
||||
// Normal, 0-69
|
||||
{ "Lumbridge Home Teleport", 4, 356, 0 },
|
||||
{ "Wind Strike", 5, 65, 1 },
|
||||
{ "Confuse", 6, 66, 3 },
|
||||
{ "Enchant Crossbow Bolt", 7, 408, 0 },
|
||||
{ "Water Strike", 8, 67, 5 },
|
||||
{ "Lvl-1 Enchant", 9, 68, 7 },
|
||||
{ "Earth Strike", 10, 69, 9 },
|
||||
{ "Weaken", 11, 70, 11 },
|
||||
{ "Fire Strike", 12, 71, 13 },
|
||||
{ "Bones to Bananas", 13, 72, 15 },
|
||||
{ "Wind Bolt", 14, 73, 17 },
|
||||
{ "Curse", 15, 74, 19 },
|
||||
{ "Bind", 16, 369, 20 },
|
||||
{ "Low Level Alchemy", 17, 75, 21 },
|
||||
{ "Water Bolt", 18, 76, 23 },
|
||||
{ "Varrock Teleport", 19, 77, 25 },
|
||||
{ "Lvl-2 Enchant", 20, 78, 27 },
|
||||
{ "Earth Bolt", 21, 79, 29 },
|
||||
{ "Lumbridge Teleport", 22, 80, 31 },
|
||||
{ "Telekinetic Grab", 23, 81, 33 },
|
||||
{ "Fire Bolt", 24, 82, 35 },
|
||||
{ "Falador Teleport", 25, 83, 37 },
|
||||
{ "Crumble Undead", 26, 84, 39 },
|
||||
{ "Teleport to House", 27, 405, 40 },
|
||||
{ "Wind Blast", 28, 85, 41 },
|
||||
{ "Superheat Item", 29, 86, 43 },
|
||||
{ "Camelot Teleport", 30, 87, 45 },
|
||||
{ "Water Blast", 31, 88, 47 },
|
||||
{ "Lvl-3 Enchant", 32, 89, 49 },
|
||||
{ "Iban Blast", 33, 103, 50 },
|
||||
{ "Snare", 34, 370, 50 },
|
||||
{ "Magic Dart", 35, 374, 50 },
|
||||
{ "Ardougne Teleport", 36, 104, 51 },
|
||||
{ "Earth Blast", 37, 90, 53 },
|
||||
{ "High Level Alchemy", 38, 91, 55 },
|
||||
{ "Charge Water Orb", 39, 92, 56 },
|
||||
{ "Lvl-4 Enchant", 40, 93, 57 },
|
||||
{ "Watchtower Teleport", 41, 105, 58 },
|
||||
{ "Fire Blast", 42, 94, 59 },
|
||||
{ "Charge Earth Orb", 43, 95, 60 },
|
||||
{ "Bones to Peaches", 44, 404, 60 },
|
||||
{ "Saradomin strike", 45, 111, 60 },
|
||||
{ "Claws of Guthix", 46, 110, 60 },
|
||||
{ "Flames of Zamorak", 47, 109, 60 },
|
||||
{ "Trollheim Teleport", 48, 373, 61 },
|
||||
{ "Wind Wave", 49, 96, 62 },
|
||||
{ "Charge Fire Orb", 50, 97, 63 },
|
||||
{ "Teleport to Ape Atoll", 51, 407, 64 },
|
||||
{ "Water Wave", 52, 98, 65 },
|
||||
{ "Charge Air Orb", 53, 99, 66 },
|
||||
{ "Vulnerability", 54, 106, 66 },
|
||||
{ "Lvl-5 Enchant", 55, 100, 68 },
|
||||
{ "Teleport to Kourend", 56, 410, 69 },
|
||||
{ "Earth Wave", 57, 101, 70 },
|
||||
{ "Enfeeble", 58, 107, 73 },
|
||||
{ "Teleother Lumbridge", 59, 399, 74 },
|
||||
{ "Fire Wave", 60, 102, 75 },
|
||||
{ "Entangle", 61, 371, 79 },
|
||||
{ "Stun", 62, 108, 80 },
|
||||
{ "Charge", 63, 372, 80 },
|
||||
{ "Wind Surge", 64, 412, 81 },
|
||||
{ "Teleother Falador", 65, 400, 82 },
|
||||
{ "Water Surge", 66, 413, 85 },
|
||||
{ "Tele Block", 67, 402, 85 },
|
||||
{ "Teleport to Bounty Target", 68, 409, 85 },
|
||||
{ "Lvl-6 Enchant", 69, 403, 87 },
|
||||
{ "Teleother Camelot", 70, 401, 90 },
|
||||
{ "Earth Surge", 71, 414, 90 },
|
||||
{ "Lvl-7 Enchant", 72, 411, 93 },
|
||||
{ "Fire Surge", 73, 415, 95 },
|
||||
//Lunar 70-114
|
||||
{ "Lunar Home Teleport", 99, 356, 0 },
|
||||
{ "Bake Pie", 100, 593, 65 },
|
||||
{ "Geomancy", 140, 613, 65 },
|
||||
{ "Cure Plant", 101, 617, 66 },
|
||||
{ "Monster Examine", 102, 627, 66 },
|
||||
{ "NPC Contact", 103, 618, 67 },
|
||||
{ "Cure Other", 104, 609, 68 },
|
||||
{ "Humidify", 105, 628, 69 },
|
||||
{ "Moonclan Teleport", 106, 594, 69 },
|
||||
{ "Tele Group Moonclan", 107, 619, 70 },
|
||||
{ "Cure Me", 108, 612, 71 },
|
||||
{ "Ourania Teleport", 142, 636, 71 },
|
||||
{ "Hunter Kit", 109, 629, 71 },
|
||||
{ "Waterbirth Teleport", 110, 595, 72 },
|
||||
{ "Tele Group Waterbirth", 111, 620, 73 },
|
||||
{ "Cure Group", 112, 615, 74 },
|
||||
{ "Stat Spy", 113, 626, 75 },
|
||||
{ "Barbarian Teleport", 114, 597, 75 },
|
||||
{ "Tele Group Barbarian", 115, 621, 76 },
|
||||
{ "Spin Flax", 141, 635, 76 },
|
||||
{ "Superglass Make", 116, 598, 77 },
|
||||
{ "Tan Leather", 117, 633, 78 },
|
||||
{ "Khazard Teleport", 118, 599, 78 },
|
||||
{ "Tele Group Khazard", 119, 622, 79 },
|
||||
{ "Dream", 120, 630, 79 },
|
||||
{ "String Jewellery", 121, 600, 80 },
|
||||
{ "Stat Restore Pot Share", 122, 604, 81 },
|
||||
{ "Magic Imbue", 123, 602, 82 },
|
||||
{ "Fertile Soil", 124, 603, 83 },
|
||||
{ "Boost Potion Share", 125, 601, 84 },
|
||||
{ "Fishing Guild Teleport", 126, 605, 85 },
|
||||
{ "Teleport to Bounty Target", 68, 409, 85 },
|
||||
{ "Tele Group Fishing Guild", 127, 623, 86 },
|
||||
{ "Plank Make", 128, 631, 86 },
|
||||
{ "Catherby Teleport", 129, 606, 87 },
|
||||
{ "Tele Group Catherby", 130, 624, 88 },
|
||||
{ "Recharge Dragonstone", 131, 634, 89 },
|
||||
{ "Ice Plateau Teleport", 132, 607, 89 },
|
||||
{ "Tele Group Ice Plateau", 133, 625, 90 },
|
||||
{ "Energy Transfer", 134, 608, 91 },
|
||||
{ "Heal Other", 135, 610, 92 },
|
||||
{ "Vengeance Other", 136, 611, 93 },
|
||||
{ "Vengeance", 137, 614, 94 },
|
||||
{ "Heal Group", 138, 616, 95 },
|
||||
{ "Spellbook Swap", 139, 632, 96 },
|
||||
//Ancients 115-140
|
||||
{ "Ice Rush", 68, 375, 58 },
|
||||
{ "Ice Blitz", 69, 377, 84 },
|
||||
{ "Ice Burst", 70, 376, 70 },
|
||||
{ "Ice Barrage", 71, 378, 94 },
|
||||
{ "Blood Rush", 72, 383, 56 },
|
||||
{ "Blood Blitz", 73, 385, 80 },
|
||||
{ "Blood Burst", 74, 384, 68 },
|
||||
{ "Blood Barrage", 75, 386, 92 },
|
||||
{ "Smoke Rush", 76, 379, 50 },
|
||||
{ "Smoke Blitz", 77, 381, 74 },
|
||||
{ "Smoke Burst", 78, 380, 62 },
|
||||
{ "Smoke Barrage", 79, 382, 86 },
|
||||
{ "Shadow Rush", 80, 387, 52 },
|
||||
{ "Shadow Blitz", 81, 389, 76 },
|
||||
{ "Shadow Burst", 82, 388, 64 },
|
||||
{ "Shadow Barrage", 83, 390, 88 },
|
||||
{ "Paddewwa Teleport", 84, 391, 54 },
|
||||
{ "Senntisten Teleport", 85, 392, 60 },
|
||||
{ "Kharyrll Teleport", 86, 393, 66 },
|
||||
{ "Lassar Teleport", 87, 394, 72 },
|
||||
{ "Dareeyak Teleport", 88, 395, 78 },
|
||||
{ "Carrallangar Teleport", 89, 396, 84 },
|
||||
{ "Annakarl Teleport", 90, 397, 90 },
|
||||
{ "Ghorrock Teleport", 91, 398, 96 },
|
||||
{ "Teleport to Bounty Target", 92, 409, 85 },
|
||||
{ "Edgeville Home Teleport", 93, 356, 0 },
|
||||
};
|
||||
|
||||
//************ Options.cpp ************//
|
||||
inline std::int32_t OPTIONS_PARENT = 261;
|
||||
inline WidgetDef OPTIONS_ACCEPT_AID = { OPTIONS_PARENT, 92 };
|
||||
inline WidgetDef OPTIONS_RUN_MODE = { OPTIONS_PARENT, 95 };
|
||||
|
||||
//************ Prayer.cpp ************//
|
||||
inline std::int32_t PRAYER_PRAYERS_PARENT = 541; // To be used with PrayerDefs
|
||||
|
||||
typedef struct PrayerDef
|
||||
{
|
||||
std::string Name;
|
||||
std::int32_t BitPos;
|
||||
std::int32_t WidgetID;
|
||||
std::int32_t SpriteID;
|
||||
std::int32_t Level;
|
||||
} PrayerDef;
|
||||
|
||||
static std::vector<PrayerDef> PrayerDefs = // To be used with Prayer:: PRAYERS enum
|
||||
{
|
||||
{ "Thick Skin", 0, 5, 115, 1 },
|
||||
{ "Burst of Strength", 1, 6, 116, 4 },
|
||||
{ "Clarity of Thought", 2, 7, 117, 7 },
|
||||
{ "Sharp Eye", 18, 23, 133, 8 },
|
||||
{ "Mystic Will", 19, 24, 134, 9 },
|
||||
{ "Rock Skin", 3, 8, 118, 10 },
|
||||
{ "Superhuman Strength", 4, 9, 119, 13 },
|
||||
{ "Improved Reflexes", 5, 10, 120, 16 },
|
||||
{ "Rapid Restore", 6, 11, 121, 19 },
|
||||
{ "Rapid Heal", 7, 12, 122, 22 },
|
||||
{ "Protect Item", 8, 13, 123, 25 },
|
||||
{ "Hawk Eye", 20, 25, 502, 26 },
|
||||
{ "Mystic Lore", 21, 26, 503, 27 },
|
||||
{ "Steel Skin", 9, 14, 124, 28 },
|
||||
{ "Ultimate Strength", 10, 15, 125, 31 },
|
||||
{ "Incredible Reflexes", 11, 16, 126, 34 },
|
||||
{ "Protect from Magic", 12, 17, 127, 37 },
|
||||
{ "Protect from Missiles", 13, 18, 128, 40 },
|
||||
{ "Protect from Melee", 14, 19, 129, 43 },
|
||||
{ "Eagle Eye", 22, 27, 504, 44 },
|
||||
{ "Mystic Might", 23, 28, 505, 45 },
|
||||
{ "Retribution", 15, 20, 131, 46 },
|
||||
{ "Redemption", 16, 21, 130, 49 },
|
||||
{ "Smite", 17, 22, 132, 52 },
|
||||
{ "Preserve", 29, 33, 947, 55 },
|
||||
{ "Chivalry", 25, 28, 945, 60 },
|
||||
{ "Piety", 26, 30, 946, 70 },
|
||||
{ "Rigour", 24, 31, 1420, 74 },
|
||||
{ "Augury", 27, 32, 1421, 77 }
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // GLOBALS_HPP_INCLUDED
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
typedef enum ScrollDirection
|
||||
{
|
||||
SCROLL_NONE = -1,
|
||||
SCROLL_DOWN = 0,
|
||||
SCROLL_UP = 1
|
||||
} ScrollDirection;
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "Paint.hpp"
|
||||
#include "Script.hpp"
|
||||
#include "Time.hpp"
|
||||
#include "Globals.hpp"
|
||||
|
||||
#include "Types/Tile.hpp"
|
||||
#include "Types/Point.hpp"
|
||||
|
@ -133,6 +134,14 @@ namespace Internal
|
|||
std::int32_t GetGameTick();
|
||||
Deque GetGraphicsObjects();
|
||||
std::vector<std::vector<std::vector<Deque>>> GetGroundItems();
|
||||
std::int32_t GetHintArrowNPCIndex();
|
||||
std::int32_t GetHintArrowOffsetX();
|
||||
std::int32_t GetHintArrowOffsetY();
|
||||
std::int32_t GetHintArrowPlayerIndex();
|
||||
std::int32_t GetHintArrowTargetType();
|
||||
std::int32_t GetHintArrowX();
|
||||
std::int32_t GetHintArrowY();
|
||||
std::int32_t GetHintArrowZ();
|
||||
bool GetIsMember();
|
||||
HashTable GetItemContainers();
|
||||
IndexableData GetItemIndexableData();
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
|
||||
#include "Types/Point.hpp"
|
||||
|
||||
/** @addtogroup Math
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#include "Types/Convex.hpp"
|
||||
#include "Types/Tile.hpp"
|
||||
|
||||
|
||||
/** @addtogroup Core
|
||||
* @{ */
|
||||
namespace Paint
|
||||
|
|
|
@ -17,6 +17,7 @@ class Wireframe
|
|||
Point GetHybridRandomPoint(double ProbabilityX, double ProbabilityY, double StandardDeviationX, double StandardDeviationY, double PointGenAccuracy) const;
|
||||
Point GetProfileHybridRandomPoint() const;
|
||||
Point GetProfileHybridRandomPoint(double PointGenAccuracy) const;
|
||||
Point GetHighPrecisionPoint() const;
|
||||
Box GetBox() const;
|
||||
Convex GetConvex() const;
|
||||
bool Contains(const Point& P) const;
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
#include <string>
|
||||
#include <cstdint>
|
||||
#include <regex>
|
||||
|
||||
/** @addtogroup GameTabs
|
||||
* @{ */
|
||||
|
@ -158,7 +157,6 @@ namespace Magic
|
|||
NONE
|
||||
} SPELL;
|
||||
|
||||
|
||||
bool IsOpen();
|
||||
bool Open();
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@ namespace Menu
|
|||
* @brief Opens the menu by right-clicking wherever the mouse currently is
|
||||
* @return true if the menu is currently open or opened by right clicking
|
||||
* @return false if WaitFunc fails - WaitFunc(1000, 100, Menu::IsOpen, true);
|
||||
* @note Implements an %Interactable delay if succesful
|
||||
*/
|
||||
bool Open();
|
||||
|
||||
|
@ -31,7 +30,6 @@ namespace Menu
|
|||
* @brief Closes the menu by moving the mouse to either left or right of the menu, uses the current mouse position as a base point
|
||||
* @return true if the menu isn't open, or closed by moving the mouse
|
||||
* @return false if the generated point is off-screen, or WaitFunc fails - WaitFunc(1000, 100, Menu::IsOpen, false);
|
||||
* @note Implements an %Interactable delay if succesful
|
||||
*/
|
||||
bool Close();
|
||||
|
||||
|
@ -45,22 +43,29 @@ namespace Menu
|
|||
|
||||
/**
|
||||
* @brief Get the raw, un-filtered menu actions
|
||||
* @description By default the game includes html code in menu actions/targets
|
||||
* This function returns those actions without the removal of the html code
|
||||
* @return std::vector<std::string> of raw menu actions
|
||||
* @note The game includes color code in some menu actions or targets
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
[[deprecated("Use Internal::GetMenuActions() instead")]]
|
||||
std::vector<std::string> GetActionsRaw();
|
||||
|
||||
/**
|
||||
* @brief Get the raw, un-filtered menu targets
|
||||
* @description By default the game includes html code in menu actions/targets
|
||||
* This function returns those targets without the removal of the html code
|
||||
* @brief Get the raw, un-touched menu targets
|
||||
* @return std::vector<std::string> of targets
|
||||
* @note The game includes color code in some menu actions or targets
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
[[deprecated("Use Internal::GetMenuTargets() instead")]]
|
||||
std::vector<std::string> GetTargetsRaw();
|
||||
|
||||
/**
|
||||
* @brief Attempts to verify the order of the passed menu actions and targets
|
||||
* @return true if the passed menu actions and targets are in the correct order
|
||||
* @note This isn't a guarantee, but testing shows near zero failure rate
|
||||
*/
|
||||
bool OptionsValid(std::int32_t MenuCount, const std::vector<std::string>& RawActions, const std::vector<std::string>& RawTargets);
|
||||
|
||||
/**
|
||||
* @brief Get the menu actions
|
||||
*
|
||||
|
@ -68,7 +73,7 @@ namespace Menu
|
|||
* 'Use' - action 'gold bar' - target
|
||||
* 'Attack' - action 'Guard (level-21)' - target
|
||||
* @return std::vector<std::string> array of menu actions
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
std::vector<std::string> GetActions();
|
||||
|
||||
|
@ -79,7 +84,7 @@ namespace Menu
|
|||
* 'Use' - action 'gold bar' - target
|
||||
* 'Attack' - action 'Guard (level-21)' - target
|
||||
* @return std::vector<std::string> array of menu targets
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
std::vector<std::string> GetTargets();
|
||||
|
||||
|
@ -92,9 +97,22 @@ namespace Menu
|
|||
* 'Use gold bar' - option
|
||||
* 'Attack Guard (level-21)' - option
|
||||
* @return std::vector<std::string> array of menu options
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
std::vector<std::string> GetOptions();
|
||||
/**
|
||||
* @brief Get the menu options split into pairs instead of whole strings
|
||||
*
|
||||
* @description
|
||||
* 'Use' - action 'gold bar' - target
|
||||
* 'Attack' - action 'Guard (level-21)' - target
|
||||
* 'Use gold bar' - option
|
||||
* 'Attack Guard (level-21)' - option
|
||||
* first is the action, second is the target
|
||||
* @return std::vector<std::pair<std::string, std::string>>
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
std::vector<std::pair<std::string, std::string>> GetSplitOptions();
|
||||
|
||||
|
||||
/**
|
||||
|
@ -111,7 +129,7 @@ namespace Menu
|
|||
* @return std::int32_t The index of the first found option, -1 if the option wasn't found
|
||||
* @note Notice that 'Attack Guard (level-40)' has a double space after 'Guard', menu options can vary, in this case the menu option i'm looking for
|
||||
* has a double space after 'Guard'.
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
std::int32_t IndexOf(const std::string& Option);
|
||||
|
||||
|
@ -124,7 +142,7 @@ namespace Menu
|
|||
* @param Options %Menu options to look for, returns on first option found, the more specific the options, the more accurate the result will be
|
||||
* @return std::int32_t The index of the first found option, -1 if the option wasn't found
|
||||
* @see Menu::IndexOf(const std::string& Option)
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
std::int32_t IndexOf(const std::vector<std::string>& Options);
|
||||
|
||||
|
@ -138,7 +156,7 @@ namespace Menu
|
|||
* std::string [1] = Action that was found at index
|
||||
* std::string [2] = Target that was found at index
|
||||
* @see Menu::IndexOf(const std::string& Option)
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
std::tuple<std::int32_t, std::string, std::string> FindOption(std::uint32_t Index);
|
||||
|
||||
|
@ -151,7 +169,7 @@ namespace Menu
|
|||
* std::string [1] = Action that was found
|
||||
* std::string [2] = Target that was found
|
||||
* @see Menu::IndexOf(const std::string& Option)
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
std::tuple<std::int32_t, std::string, std::string> FindOption(const std::string& Option);
|
||||
|
||||
|
@ -164,7 +182,7 @@ namespace Menu
|
|||
* std::string [1] = Action that was found
|
||||
* std::string [2] = Target that was found
|
||||
* @see Menu::IndexOf(const std::string& Options)
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
std::tuple<std::int32_t, std::string, std::string> FindOption(const std::vector<std::string>& Options);
|
||||
|
||||
|
@ -176,7 +194,7 @@ namespace Menu
|
|||
* std::int32_t [0] = Index of the option that was found, -1 if the option wasn't found
|
||||
* std::string [1] = Action that was found
|
||||
* std::string [2] = Target that was found
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
* @see Menu::IndexOf(const std::string& Option)
|
||||
*/
|
||||
std::vector<std::tuple<std::int32_t, std::string, std::string>> FindOptions(const std::string& Option);
|
||||
|
@ -190,7 +208,7 @@ namespace Menu
|
|||
* std::string [1] = Action that was found
|
||||
* std::string [2] = Target that was found
|
||||
* @see Menu::IndexOf(const std::string& Options)
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
std::vector<std::tuple<std::int32_t, std::string, std::string>> FindOptions(const std::vector<std::string>& Options);
|
||||
|
||||
|
@ -201,7 +219,7 @@ namespace Menu
|
|||
* @param Option %Menu option to look for, the more specific the option, the more specific the option, the more accurate the result will be
|
||||
* @return true if the found index is valid (Index >= 0)
|
||||
* @see Menu::IndexOf(const std::string& Option)
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
bool Contains(const std::string& Option);
|
||||
|
||||
|
@ -211,7 +229,7 @@ namespace Menu
|
|||
* @param %Options %Menu options to look for, returns on first option found, the more specific the options, the more accurate the result will be
|
||||
* @return true if the found index is valid (Index >= 0)
|
||||
* @see Menu::IndexOf(const std::string& Options)
|
||||
* @warning The result can be inaccurate if the menu isn't open before calling this function
|
||||
* @warning The result can rarely be inaccurate if the menu isn't open before calling this function
|
||||
*/
|
||||
bool Contains(const std::vector<std::string>& Options);
|
||||
|
||||
|
@ -248,7 +266,6 @@ namespace Menu
|
|||
* @param CloseMenu Close the menu if the function fails by using Menu::Close(), true by default
|
||||
* @return true if the function selected the option by index
|
||||
* @return false if the menu isn't open, the passed index is invalid (-1), the option box is off-screen, or the WaitFunc failed - WaitFunc(1000, 100, Menu::IsOpen, false)
|
||||
* @note Implements an %Interactable delay if succesful
|
||||
*/
|
||||
bool Select(std::int32_t Index, bool CloseMenu = true);
|
||||
|
||||
|
@ -259,7 +276,6 @@ namespace Menu
|
|||
* @param CloseMenu Close the menu if the function fails by using Menu::Close(), true by default
|
||||
* @return true if the function selected the option by option
|
||||
* @return false if the menu isn't open, the found option was invalid, the option box is off-screen, or the WaitFunc failed - WaitFunc(1000, 100, Menu::IsOpen, false)
|
||||
* @note Implements an %Interactable delay if succesful
|
||||
* @see Menu::IndexOf(const std::string& Option)
|
||||
*/
|
||||
bool Select(const std::string& Option, bool CloseMenu = true);
|
||||
|
@ -271,7 +287,6 @@ namespace Menu
|
|||
* @param CloseMenu Close the menu if the function fails using Menu::Close(), true by default
|
||||
* @return true if the function selected the option by the first found option
|
||||
* @return false if the menu isn't open, the found option was invalid, the option box is off-screen, or the WaitFunc failed - WaitFunc(1000, 100, Menu::IsOpen, false)
|
||||
* @note Implements an %Interactable delay if succesful
|
||||
* @see Menu::IndexOf(const std::string& Options)
|
||||
*/
|
||||
bool Select(const std::vector<std::string>& Options, bool CloseMenu = true);
|
||||
|
|
|
@ -17,16 +17,16 @@ namespace Interact
|
|||
bool Click(const Button& B = BUTTON_LEFT);
|
||||
|
||||
bool Click(const Point& P, const Button& B = BUTTON_LEFT);
|
||||
bool Click(const Point& P, const std::string& Option);
|
||||
bool Click(const Point& P, const std::vector<std::string>& Options);
|
||||
bool Click(const Point& P, const std::string& Option, const std::string& Target = "");
|
||||
bool Click(const Point& P, const std::vector<std::string>& Options, const std::string& Target = "");
|
||||
|
||||
bool Click(const Box& B, const Button& Button = BUTTON_LEFT);
|
||||
bool Click(const Box& B, const std::string& Option);
|
||||
bool Click(const Box& B, const std::vector<std::string>& Options);
|
||||
bool Click(const Box& B, const std::string& Option, const std::string& Target = "");
|
||||
bool Click(const Box& B, const std::vector<std::string>& Options, const std::string& Target = "");
|
||||
|
||||
bool Click(const Convex& C, const Button& B = BUTTON_LEFT);
|
||||
bool Click(const Convex& C, const std::string& Option);
|
||||
bool Click(const Convex& C, const std::vector<std::string>& Options);
|
||||
bool Click(const Convex& C, const std::string& Option, const std::string& Target = "");
|
||||
bool Click(const Convex& C, const std::vector<std::string>& Options, const std::string& Target = "");
|
||||
|
||||
bool Scroll(const ScrollDirection& Direction);
|
||||
bool ScrollUntil(const ScrollDirection& Direction, std::int32_t Duration, const std::function<bool()>& Func);
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue