diff --git a/Dalamud/Game/ClientState/ClientState.cs b/Dalamud/Game/ClientState/ClientState.cs index b9e40ccd7..0df4c1f69 100644 --- a/Dalamud/Game/ClientState/ClientState.cs +++ b/Dalamud/Game/ClientState/ClientState.cs @@ -1,14 +1,16 @@ using System; using System.ComponentModel; +using System.Linq; using System.Runtime.InteropServices; using Dalamud.Game.ClientState.Actors; using Dalamud.Game.ClientState.Actors.Types; +using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Fates; -using Dalamud.Game.Internal; +using Dalamud.Game.ClientState.GamePad; +using Dalamud.Game.ClientState.Keys; using Dalamud.Hooking; using JetBrains.Annotations; -using Lumina.Excel.GeneratedSheets; using Serilog; namespace Dalamud.Game.ClientState @@ -93,7 +95,7 @@ namespace Dalamud.Game.ClientState /// /// Event that gets fired when a duty is ready. /// - public event EventHandler CfPop; + public event EventHandler CfPop; /// /// Gets the table of all present actors. @@ -194,7 +196,7 @@ namespace Dalamud.Game.ClientState return this.setupTerritoryTypeHook.Original(manager, terriType); } - private void NetworkHandlersOnCfPop(object sender, ContentFinderCondition e) + private void NetworkHandlersOnCfPop(object sender, Lumina.Excel.GeneratedSheets.ContentFinderCondition e) { this.CfPop?.Invoke(this, e); } diff --git a/Dalamud/Game/ClientState/Condition.cs b/Dalamud/Game/ClientState/Conditions/Condition.cs similarity index 94% rename from Dalamud/Game/ClientState/Condition.cs rename to Dalamud/Game/ClientState/Conditions/Condition.cs index b416c4df4..5a4322532 100644 --- a/Dalamud/Game/ClientState/Condition.cs +++ b/Dalamud/Game/ClientState/Conditions/Condition.cs @@ -1,6 +1,6 @@ using System; -namespace Dalamud.Game.ClientState +namespace Dalamud.Game.ClientState.Conditions { /// /// Provides access to conditions (generally player state). You can check whether a player is in combat, mounted, etc. @@ -37,7 +37,7 @@ namespace Dalamud.Game.ClientState { var idx = (int)flag; - if (idx > MaxConditionEntries || idx < 0) + if (idx < 0 || idx >= MaxConditionEntries) return false; return *(bool*)(this.ConditionArrayBase + idx); diff --git a/Dalamud/Game/ClientState/ConditionFlag.cs b/Dalamud/Game/ClientState/Conditions/ConditionFlag.cs similarity index 99% rename from Dalamud/Game/ClientState/ConditionFlag.cs rename to Dalamud/Game/ClientState/Conditions/ConditionFlag.cs index dc3d72d61..75c295ed0 100644 --- a/Dalamud/Game/ClientState/ConditionFlag.cs +++ b/Dalamud/Game/ClientState/Conditions/ConditionFlag.cs @@ -1,4 +1,4 @@ -namespace Dalamud.Game.ClientState +namespace Dalamud.Game.ClientState.Conditions { /// /// Possible state flags (or conditions as they're called internally) that can be set on the local client. diff --git a/Dalamud/Game/ClientState/GamepadButtons.cs b/Dalamud/Game/ClientState/GamePad/GamepadButtons.cs similarity index 97% rename from Dalamud/Game/ClientState/GamepadButtons.cs rename to Dalamud/Game/ClientState/GamePad/GamepadButtons.cs index 80a745d53..7813803c8 100644 --- a/Dalamud/Game/ClientState/GamepadButtons.cs +++ b/Dalamud/Game/ClientState/GamePad/GamepadButtons.cs @@ -1,6 +1,6 @@ -using System; +using System; -namespace Dalamud.Game.ClientState +namespace Dalamud.Game.ClientState.GamePad { /// /// Bitmask of the Button ushort used by the game. diff --git a/Dalamud/Game/ClientState/Structs/GamepadInput.cs b/Dalamud/Game/ClientState/GamePad/GamepadInput.cs similarity index 98% rename from Dalamud/Game/ClientState/Structs/GamepadInput.cs rename to Dalamud/Game/ClientState/GamePad/GamepadInput.cs index df80b0ef4..d6d46a0cc 100644 --- a/Dalamud/Game/ClientState/Structs/GamepadInput.cs +++ b/Dalamud/Game/ClientState/GamePad/GamepadInput.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace Dalamud.Game.ClientState.Structs +namespace Dalamud.Game.ClientState.GamePad { /// /// Struct which gets populated by polling the gamepads. diff --git a/Dalamud/Game/ClientState/GamepadState.cs b/Dalamud/Game/ClientState/GamePad/GamepadState.cs similarity index 97% rename from Dalamud/Game/ClientState/GamepadState.cs rename to Dalamud/Game/ClientState/GamePad/GamepadState.cs index 2d84fdb83..8759673b2 100644 --- a/Dalamud/Game/ClientState/GamepadState.cs +++ b/Dalamud/Game/ClientState/GamePad/GamepadState.cs @@ -1,11 +1,10 @@ using System; -using Dalamud.Game.ClientState.Structs; using Dalamud.Hooking; using ImGuiNET; using Serilog; -namespace Dalamud.Game.ClientState +namespace Dalamud.Game.ClientState.GamePad { /// /// Exposes the game gamepad state to dalamud. @@ -24,7 +23,7 @@ namespace Dalamud.Game.ClientState private int rightStickY; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// Resolver knowing the pointer to the GamepadPoll function. public GamepadState(ClientStateAddressResolver resolver) @@ -43,12 +42,10 @@ namespace Dalamud.Game.ClientState private delegate int ControllerPoll(IntPtr controllerInput); -#if DEBUG /// /// Gets the pointer to the current instance of the GamepadInput struct. /// - public IntPtr GamepadInput { get; private set; } -#endif + public IntPtr GamepadInputAddress { get; private set; } /// /// Gets the state of the left analogue stick in the left direction between 0 (not tilted) and 1 (max tilt). @@ -189,9 +186,7 @@ namespace Dalamud.Game.ClientState var original = this.gamepadPoll.Original(gamepadInput); try { -#if DEBUG - this.GamepadInput = gamepadInput; -#endif + this.GamepadInputAddress = gamepadInput; var input = (GamepadInput*)gamepadInput; this.leftStickX = input->LeftStickX; this.leftStickY = input->LeftStickY; diff --git a/Dalamud/Game/ClientState/KeyState.cs b/Dalamud/Game/ClientState/Keys/KeyState.cs similarity index 87% rename from Dalamud/Game/ClientState/KeyState.cs rename to Dalamud/Game/ClientState/Keys/KeyState.cs index e17d2cf50..b9d21ef2e 100644 --- a/Dalamud/Game/ClientState/KeyState.cs +++ b/Dalamud/Game/ClientState/Keys/KeyState.cs @@ -3,7 +3,7 @@ using System.Runtime.InteropServices; using Serilog; -namespace Dalamud.Game.ClientState +namespace Dalamud.Game.ClientState.Keys { /// /// Wrapper around the game keystate buffer, which contains the pressed state for all keyboard keys, indexed by virtual vkCode. @@ -52,6 +52,13 @@ namespace Dalamud.Game.ClientState } } + /// + /// Get or set the keypressed state for a given VirtualKey enum. + /// + /// The virtual key to change. + /// Whether the specified key is currently pressed. + public bool this[VirtualKey vk] => this[(int)vk]; + /// /// Clears the pressed state for all keys. /// diff --git a/Dalamud/Game/ClientState/Keys/VirtualKey.cs b/Dalamud/Game/ClientState/Keys/VirtualKey.cs new file mode 100644 index 000000000..ab9436822 --- /dev/null +++ b/Dalamud/Game/ClientState/Keys/VirtualKey.cs @@ -0,0 +1,1044 @@ +namespace Dalamud.Game.ClientState.Keys +{ + /// + /// Virtual-key codes. + /// + /// + /// Defined in winuser.h from Windows SDK v6.1. + /// + public enum VirtualKey : ushort + { + /// + /// This is an addendum to use on functions in which you have to pass a zero value to represent no key code. + /// + NO_KEY = 0, + + /// + /// Left mouse button. + /// + LBUTTON = 1, + + /// + /// Right mouse button. + /// + RBUTTON = 2, + + /// + /// Control-break processing. + /// + CANCEL = 3, + + /// + /// Middle mouse button (three-button mouse). + /// + /// + /// NOT contiguous with L and R buttons. + /// + MBUTTON = 4, + + /// + /// X1 mouse button. + /// + /// + /// NOT contiguous with L and R buttons. + /// + XBUTTON1 = 5, + + /// + /// X2 mouse button. + /// + /// + /// NOT contiguous with L and R buttons. + /// + XBUTTON2 = 6, + + /// + /// BACKSPACE key. + /// + BACK = 8, + + /// + /// TAB key. + /// + TAB = 9, + + /// + /// CLEAR key. + /// + CLEAR = 12, + + /// + /// RETURN key. + /// + RETURN = 13, + + /// + /// SHIFT key. + /// + SHIFT = 16, + + /// + /// CONTROL key. + /// + CONTROL = 17, + + /// + /// ALT key. + /// + MENU = 18, + + /// + /// PAUSE key. + /// + PAUSE = 19, + + /// + /// CAPS LOCK key. + /// + CAPITAL = 20, + + /// + /// IME Kana mode. + /// + KANA = 21, + + /// + /// IME Hanguel mode (maintained for compatibility; use User32.VirtualKey.HANGUL). + /// + HANGEUL = KANA, + + /// + /// IME Hangul mode. + /// + HANGUL = KANA, + + /// + /// IME Junja mode. + /// + JUNJA = 23, + + /// + /// IME final mode. + /// + FINAL = 24, + + /// + /// IME Hanja mode. + /// + HANJA = 25, + + /// + /// IME Kanji mode. + /// + KANJI = HANJA, + + /// + /// ESC key. + /// + ESCAPE = 27, + + /// + /// IME convert. + /// + CONVERT = 28, + + /// + /// IME nonconvert. + /// + NONCONVERT = 29, + + /// + /// IME accept. + /// + ACCEPT = 30, + + /// + /// IME mode change request. + /// + MODECHANGE = 31, + + /// + /// SPACEBAR. + /// + SPACE = 32, + + /// + /// PAGE UP key. + /// + PRIOR = 33, + + /// + /// PAGE DOWN key. + /// + NEXT = 34, + + /// + /// END key. + /// + END = 35, + + /// + /// HOME key. + /// + HOME = 36, + + /// + /// LEFT ARROW key. + /// + LEFT = 37, + + /// + /// UP ARROW key. + /// + UP = 38, + + /// + /// RIGHT ARROW key. + /// + RIGHT = 39, + + /// + /// DOWN ARROW key. + /// + DOWN = 40, + + /// + /// SELECT key. + /// + SELECT = 41, + + /// + /// PRINT key. + /// + PRINT = 42, + + /// + /// EXECUTE key. + /// + EXECUTE = 43, + + /// + /// PRINT SCREEN key. + /// + SNAPSHOT = 44, + + /// + /// INS key. + /// + INSERT = 45, + + /// + /// DEL key. + /// + DELETE = 46, + + /// + /// HELP key. + /// + HELP = 47, + + /// + /// 0 key. + /// + KEY_0 = 48, + + /// + /// 1 key. + /// + KEY_1 = 49, + + /// + /// 2 key. + /// + KEY_2 = 50, + + /// + /// 3 key. + /// + KEY_3 = 51, + + /// + /// 4 key. + /// + KEY_4 = 52, + + /// + /// 5 key. + /// + KEY_5 = 53, + + /// + /// 6 key. + /// + KEY_6 = 54, + + /// + /// 7 key. + /// + KEY_7 = 55, + + /// + /// 8 key. + /// + KEY_8 = 56, + + /// + /// 9 key. + /// + KEY_9 = 57, + + /// + /// A key. + /// + A = 65, + + /// + /// B key. + /// + B = 66, + + /// + /// C key. + /// + C = 67, + + /// + /// D key. + /// + D = 68, + + /// + /// E key. + /// + E = 69, + + /// + /// F key. + /// + F = 70, + + /// + /// G key. + /// + G = 71, + + /// + /// H key. + /// + H = 72, + + /// + /// I key. + /// + I = 73, + + /// + /// J key. + /// + J = 74, + + /// + /// K key. + /// + K = 75, + + /// + /// L key. + /// + L = 76, + + /// + /// M key. + /// + M = 77, + + /// + /// N key. + /// + N = 78, + + /// + /// O key. + /// + O = 79, + + /// + /// P key. + /// + P = 80, + + /// + /// Q key. + /// + Q = 81, + + /// + /// R key. + /// + R = 82, + + /// + /// S key. + /// + S = 83, + + /// + /// T key. + /// + T = 84, + + /// + /// U key. + /// + U = 85, + + /// + /// V key. + /// + V = 86, + + /// + /// W key. + /// + W = 87, + + /// + /// X key. + /// + X = 88, + + /// + /// Y key. + /// + Y = 89, + + /// + /// Z key. + /// + Z = 90, + + /// + /// Left Windows key (Natural keyboard). + /// + LWIN = 91, + + /// + /// Right Windows key (Natural keyboard). + /// + RWIN = 92, + + /// + /// Applications key (Natural keyboard). + /// + APPS = 93, + + /// + /// Computer Sleep key. + /// + SLEEP = 95, + + /// + /// Numeric keypad 0 key. + /// + NUMPAD0 = 96, + + /// + /// Numeric keypad 1 key. + /// + NUMPAD1 = 97, + + /// + /// Numeric keypad 2 key. + /// + NUMPAD2 = 98, + + /// + /// Numeric keypad 3 key. + /// + NUMPAD3 = 99, + + /// + /// Numeric keypad 4 key. + /// + NUMPAD4 = 100, + + /// + /// Numeric keypad 5 key. + /// + NUMPAD5 = 101, + + /// + /// Numeric keypad 6 key. + /// + NUMPAD6 = 102, + + /// + /// Numeric keypad 7 key. + /// + NUMPAD7 = 103, + + /// + /// Numeric keypad 8 key. + /// + NUMPAD8 = 104, + + /// + /// Numeric keypad 9 key. + /// + NUMPAD9 = 105, + + /// + /// Multiply key. + /// + MULTIPLY = 106, + + /// + /// Add key. + /// + ADD = 107, + + /// + /// Separator key. + /// + SEPARATOR = 108, + + /// + /// Subtract key. + /// + SUBTRACT = 109, + + /// + /// Decimal key. + /// + DECIMAL = 110, + + /// + /// Divide key. + /// + DIVIDE = 111, + + /// + /// F1 Key. + /// + F1 = 112, + + /// + /// F2 Key. + /// + F2 = 113, + + /// + /// F3 Key. + /// + F3 = 114, + + /// + /// F4 Key. + /// + F4 = 115, + + /// + /// F5 Key. + /// + F5 = 116, + + /// + /// F6 Key. + /// + F6 = 117, + + /// + /// F7 Key. + /// + F7 = 118, + + /// + /// F8 Key. + /// + F8 = 119, + + /// + /// F9 Key. + /// + F9 = 120, + + /// + /// F10 Key. + /// + F10 = 121, + + /// + /// F11 Key. + /// + F11 = 122, + + /// + /// F12 Key. + /// + F12 = 123, + + /// + /// F13 Key. + /// + F13 = 124, + + /// + /// F14 Key. + /// + F14 = 125, + + /// + /// F15 Key. + /// + F15 = 126, + + /// + /// F16 Key. + /// + F16 = 127, + + /// + /// F17 Key. + /// + F17 = 128, + + /// + /// F18 Key. + /// + F18 = 129, + + /// + /// F19 Key. + /// + F19 = 130, + + /// + /// F20 Key. + /// + F20 = 131, + + /// + /// F21 Key. + /// + F21 = 132, + + /// + /// F22 Key. + /// + F22 = 133, + + /// + /// F23 Key. + /// + F23 = 134, + + /// + /// F24 Key. + /// + F24 = 135, + + /// + /// NUM LOCK key. + /// + NUMLOCK = 144, + + /// + /// SCROLL LOCK key. + /// + SCROLL = 145, + + /// + /// '=' key on numpad (NEC PC-9800 kbd definitions). + /// + OEM_NEC_EQUAL = 146, + + /// + /// 'Dictionary' key (Fujitsu/OASYS kbd definitions). + /// + OEM_FJ_JISHO = OEM_NEC_EQUAL, + + /// + /// 'Unregister word' key (Fujitsu/OASYS kbd definitions). + /// + OEM_FJ_MASSHOU = 147, + + /// + /// 'Register word' key (Fujitsu/OASYS kbd definitions). + /// + OEM_FJ_TOUROKU = 148, + + /// + /// 'Left OYAYUBI' key (Fujitsu/OASYS kbd definitions). + /// + OEM_FJ_LOYA = 149, + + /// + /// 'Right OYAYUBI' key (Fujitsu/OASYS kbd definitions). + /// + OEM_FJ_ROYA = 150, + + /// + /// Left SHIFT key. + /// + /// + /// Used only as parameters to User32.GetAsyncKeyState and User32.GetKeyState. No other API or message will distinguish left and right keys in this way. + /// + LSHIFT = 160, + + /// + /// Right SHIFT key. + /// + RSHIFT = 161, + + /// + /// Left CONTROL key. + /// + LCONTROL = 162, + + /// + /// Right CONTROL key. + /// + RCONTROL = 163, + + /// + /// Left MENU key. + /// + LMENU = 164, + + /// + /// Right MENU key. + /// + RMENU = 165, + + /// + /// Browser Back key. + /// + BROWSER_BACK = 166, + + /// + /// Browser Forward key. + /// + BROWSER_FORWARD = 167, + + /// + /// Browser Refresh key. + /// + BROWSER_REFRESH = 168, + + /// + /// Browser Stop key. + /// + BROWSER_STOP = 169, + + /// + /// Browser Search key. + /// + BROWSER_SEARCH = 170, + + /// + /// Browser Favorites key. + /// + BROWSER_FAVORITES = 171, + + /// + /// Browser Start and Home key. + /// + BROWSER_HOME = 172, + + /// + /// Volume Mute key. + /// + VOLUME_MUTE = 173, + + /// + /// Volume Down key. + /// + VOLUME_DOWN = 174, + + /// + /// Volume Up key. + /// + VOLUME_UP = 175, + + /// + /// Next Track key. + /// + MEDIA_NEXT_TRACK = 176, + + /// + /// Previous Track key. + /// + MEDIA_PREV_TRACK = 177, + + /// + /// Stop Media key. + /// + MEDIA_STOP = 178, + + /// + /// Play/Pause Media key. + /// + MEDIA_PLAY_PAUSE = 179, + + /// + /// Start Mail key. + /// + LAUNCH_MAIL = 180, + + /// + /// Select Media key. + /// + LAUNCH_MEDIA_SELECT = 181, + + /// + /// Start Application 1 key. + /// + LAUNCH_APP1 = 182, + + /// + /// Start Application 2 key. + /// + LAUNCH_APP2 = 183, + + /// + /// Used for miscellaneous characters; it can vary by keyboard.. + /// + /// + /// For the US standard keyboard, the ';:' key. + /// + OEM_1 = 186, + + /// + /// For any country/region, the '+' key. + /// + OEM_PLUS = 187, + + /// + /// For any country/region, the ',' key. + /// + OEM_COMMA = 188, + + /// + /// For any country/region, the '-' key. + /// + OEM_MINUS = 189, + + /// + /// For any country/region, the '.' key. + /// + OEM_PERIOD = 190, + + /// + /// Used for miscellaneous characters; it can vary by keyboard.. + /// + /// + /// For the US standard keyboard, the '/?' key. + /// + OEM_2 = 191, + + /// + /// Used for miscellaneous characters; it can vary by keyboard.. + /// + /// + /// For the US standard keyboard, the '`~' key. + /// + OEM_3 = 192, + + /// + /// Used for miscellaneous characters; it can vary by keyboard.. + /// + /// + /// For the US standard keyboard, the '[{' key. + /// + OEM_4 = 219, + + /// + /// Used for miscellaneous characters; it can vary by keyboard.. + /// + /// + /// For the US standard keyboard, the '\|' key. + /// + OEM_5 = 220, + + /// + /// Used for miscellaneous characters; it can vary by keyboard.. + /// + /// + /// For the US standard keyboard, the ']}' key. + /// + OEM_6 = 221, + + /// + /// Used for miscellaneous characters; it can vary by keyboard.. + /// + /// + /// For the US standard keyboard, the 'single-quote/double-quote' (''"') key. + /// + OEM_7 = 222, + + /// + /// Used for miscellaneous characters; it can vary by keyboard.. + /// + OEM_8 = 223, + + /// + /// OEM specific. + /// + /// + /// 'AX' key on Japanese AX kbd. + /// + OEM_AX = 225, + + /// + /// Either the angle bracket ("<>") key or the backslash ("\|") key on the RT 102-key keyboard. + /// + OEM_102 = 226, + + /// + /// OEM specific. + /// + /// + /// Help key on ICO. + /// + ICO_HELP = 227, + + /// + /// OEM specific. + /// + /// + /// 00 key on ICO. + /// + ICO_00 = 228, + + /// + /// IME PROCESS key. + /// + PROCESSKEY = 229, + + /// + /// OEM specific. + /// + /// + /// Clear key on ICO. + /// + ICO_CLEAR = 230, + + /// + /// Used to pass Unicode characters as if they were keystrokes. The PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods.. + /// + /// + /// For more information, see Remark in User32.KEYBDINPUT, User32.SendInput, User32.WindowMessage.WM_KEYDOWN, and User32.WindowMessage.WM_KEYUP. + /// + PACKET = 231, + + /// + /// Nokia/Ericsson definition. + /// + OEM_RESET = 233, + + /// + /// Nokia/Ericsson definition. + /// + OEM_JUMP = 234, + + /// + /// Nokia/Ericsson definition. + /// + OEM_PA1 = 235, + + /// + /// Nokia/Ericsson definition. + /// + OEM_PA2 = 236, + + /// + /// Nokia/Ericsson definition. + /// + OEM_PA3 = 237, + + /// + /// Nokia/Ericsson definition. + /// + OEM_WSCTRL = 238, + + /// + /// Nokia/Ericsson definition. + /// + OEM_CUSEL = 239, + + /// + /// Nokia/Ericsson definition. + /// + OEM_ATTN = 240, + + /// + /// Nokia/Ericsson definition. + /// + OEM_FINISH = 241, + + /// + /// Nokia/Ericsson definition. + /// + OEM_COPY = 242, + + /// + /// Nokia/Ericsson definition. + /// + OEM_AUTO = 243, + + /// + /// Nokia/Ericsson definition. + /// + OEM_ENLW = 244, + + /// + /// Nokia/Ericsson definition. + /// + OEM_BACKTAB = 245, + + /// + /// Attn key. + /// + ATTN = 246, + + /// + /// CrSel key. + /// + CRSEL = 247, + + /// + /// ExSel key. + /// + EXSEL = 248, + + /// + /// Erase EOF key. + /// + EREOF = 249, + + /// + /// Play key. + /// + PLAY = 250, + + /// + /// Zoom key. + /// + ZOOM = 251, + + /// + /// Reserved constant by Windows headers definition. + /// + NONAME = 252, + + /// + /// PA1 key. + /// + PA1 = 253, + + /// + /// Clear key. + /// + OEM_CLEAR = 254, + } +} diff --git a/Dalamud/Interface/Internal/InterfaceManager.cs b/Dalamud/Interface/Internal/InterfaceManager.cs index 9ebe4ec86..1976ac336 100644 --- a/Dalamud/Interface/Internal/InterfaceManager.cs +++ b/Dalamud/Interface/Internal/InterfaceManager.cs @@ -8,6 +8,7 @@ using System.Threading; using Dalamud.Game; using Dalamud.Game.ClientState; +using Dalamud.Game.ClientState.GamePad; using Dalamud.Game.Internal.DXGI; using Dalamud.Hooking; using Dalamud.Hooking.Internal; diff --git a/Dalamud/Interface/Internal/Windows/DataWindow.cs b/Dalamud/Interface/Internal/Windows/DataWindow.cs index ac06d5139..75b1e8c18 100644 --- a/Dalamud/Interface/Internal/Windows/DataWindow.cs +++ b/Dalamud/Interface/Internal/Windows/DataWindow.cs @@ -8,6 +8,8 @@ using Dalamud.Game; using Dalamud.Game.ClientState; using Dalamud.Game.ClientState.Actors.Types; using Dalamud.Game.ClientState.Actors.Types.NonPlayer; +using Dalamud.Game.ClientState.Conditions; +using Dalamud.Game.ClientState.GamePad; using Dalamud.Game.ClientState.Structs.JobGauge; using Dalamud.Game.Gui.Addons; using Dalamud.Game.Gui.Toast; @@ -758,13 +760,13 @@ namespace Dalamud.Interface.Internal.Windows $"R3 {resolve(GamepadButtons.R3)} "); } #if DEBUG - ImGui.Text($"GamepadInput 0x{this.dalamud.ClientState.GamepadState.GamepadInput.ToInt64():X}"); + ImGui.Text($"GamepadInput 0x{this.dalamud.ClientState.GamepadState.GamepadInputAddress.ToInt64():X}"); if (ImGui.IsItemHovered()) ImGui.SetMouseCursor(ImGuiMouseCursor.Hand); if (ImGui.IsItemClicked()) - ImGui.SetClipboardText($"0x{this.dalamud.ClientState.GamepadState.GamepadInput.ToInt64():X}"); + ImGui.SetClipboardText($"0x{this.dalamud.ClientState.GamepadState.GamepadInputAddress.ToInt64():X}"); #endif DrawHelper( diff --git a/Dalamud/Interface/UiBuilder.cs b/Dalamud/Interface/UiBuilder.cs index e24ab8bc1..71ce244f7 100644 --- a/Dalamud/Interface/UiBuilder.cs +++ b/Dalamud/Interface/UiBuilder.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Diagnostics; using Dalamud.Game.ClientState; +using Dalamud.Game.ClientState.Conditions; using Dalamud.Interface.Internal; using ImGuiNET; using ImGuiScene;