ephphatha
64a2c41b2c
Set clang-tidy config for MethodCase option
...
Previously this was falling back to FunctionCase, leading to inconsistent casing of class methods throughout the codebase. Applied to Item as an example.
4 years ago
ephphatha
7a3722d63b
Add helper for clearing an item and using it's old value
...
Used when moving from one persistent variable to another where we want the source variable to be marked empty. Defining as a function instead of move constructor/assignment operator as we only really need to mark the source for xvalues. Detecting that in the constructor/assignment would be needlessly complicated.
4 years ago
ephphatha
8d3f39d2e5
Clear the held item if it is used to open a quest entrance
4 years ago
Anders Jenbo
dc706e8ed5
Use HoldItem for determining if an item is held
...
This cleans up a bit of code and solves a few edge cases where an item
could be lost, the game be unresponsive, or miss fire an event during
lag cause of the cursor not reflecting the currently held item.
4 years ago
ephphatha
0595593f6f
Move the adjustment for large items out of InvGetEquipSlotCoord
4 years ago
ephphatha
c0a7f35bb9
Only attempt to lookup mouse position if the slot changes
4 years ago
ephphatha
b2127d07dc
Change InventoryMoveToBody side-effect to return value
...
This makes the call sites use the same pattern as every other inventory movement. See the next commit for why :D
4 years ago
ephphatha
40a0d6dda3
Replace uses of icursSize28 with local itemSize variable
...
Re-ordered the last couple of if conditions to make it clearer what the impact of the adjustments to mouse position are.
4 years ago
ephphatha
0adf0fb1f3
Use GetInventorySize in GetItemSizeOnSlot
4 years ago
ephphatha
907e1376b0
Add function to get item id at grid coords
...
Also introduced a few helper types and values to hopefully help document behaviour
correct spelling in comment
Co-authored-by: qndel <stefan551@o2.pl>
4 years ago
ephphatha
5f788a6e04
Be explicit about the cursor overlap checks when acting on inventory cells
4 years ago
Gleb Mazovetskiy
ade8aba822
Fix some more warnings
4 years ago
Anders Jenbo
66d7a3c222
[gamepad] Reuse repeat logic from mouse
4 years ago
Gleb Mazovetskiy
235451ae5a
Reduce debug log output of Control
4 years ago
staphen
2759eb130b
Update player's spell target when using quick cast on gamepad
4 years ago
Gleb Mazovetskiy
4c2fa76e49
Controller mouse emulation fixes
...
1. Do not interrupt mouse mode on virtual clicks.
2. Handle virtual clicks directly instead of sending an SDL event.
3. Fix D-Pad mouse emulation state handling.
4. Hides the modifier hints during D-Pad mouse emulation.
4 years ago
Felipe Wannmacher
889cc04f95
Enhanced attack using controllers ( #4019 )
4 years ago
Gleb Mazovetskiy
79c7eee10a
Mouse/Gamepad fixes
...
Introduces a `ControlDevice` global which is distinct from `ControlMode`
in that it is set to `Gamepad` even when simulating a mouse.
This allows us to avoid a number of edge cases related to mode changes.
Fixes #4242
4 years ago
staphen
e6182709d1
Allow casting Town Portal, Teleport, and Guardian scrolls from inventory
4 years ago
staphen
6a30cd3950
Add gamepad support for stash
4 years ago
Anders Jenbo
8235380ef9
[gamepad] Avoid OOB on empty belt
4 years ago
Anders Jenbo
9d65580294
[gamepad] Fix managing belt
4 years ago
obligaron
481f15ded5
Introduce StashStruct.GetPage/SetPage
4 years ago
Anders Jenbo
6d28810dc7
Change infostr from char[128] to std::string
4 years ago
Anders Jenbo
fbabb96464
[gamepad] Align cursor after using item
4 years ago
Anders Jenbo
a48f89007d
Implement stash
4 years ago
qndel
48f102eff1
Chat log
4 years ago
ephphatha
db1d776539
Deduplicate PItem and DItem
4 years ago
obligaron
234a053863
Change Missiles Array to std::list
4 years ago
ephphatha
3bc2eb8471
Use ObjectAtPosition when highlighting from gamepad movement
4 years ago
ephphatha
5c4f6d80e8
Use Point/range iterator in FindItemOrObject
...
This addresses a todo comment, though not in the way that was originally intended as we no longer use Direction::Omni
4 years ago
Anders Jenbo
b0252b3339
Make Gamepad cursor independant of hardware mouse
...
The gamepad cursor (inventory, spells etc) no longer relies on warping a
real mouse cursor. This should make things work better on platforms that
do not support this, like Wayland.
4 years ago
Anders Jenbo
576d946581
Allow use of touch to select world objects
4 years ago
Anders Jenbo
6b2481a76c
Touch support on all SDL2 platforms
4 years ago
qndel
be0b79f9f5
Add IsWallSpell helper
4 years ago
Anders Jenbo
28ad032a2f
🐛 [gamepad] Fix casting lightningwalls
...
Fixes #3694
4 years ago
Vladimir Olteanu
861fb99e9d
Quick cast
4 years ago
Gleb Mazovetskiy
c57644970f
Move `UiFlags` and `UiPanels` into their own files
...
The first breaks circular dependency between `DiabloUI` and `text_render`.
The latter one moves `UiPanels` to a more appropriate place.
4 years ago
Gleb Mazovetskiy
7e1fea6f76
clang-format all files in {Source,test}/
...
Also includes a few manual tweaks to comments and newlines for better results.
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
4 years ago
Gleb Mazovetskiy
8d1708358f
Extract spell list and book into separate files
...
Moves the spell list/book UI from `control.cpp` code into separate files.
4 years ago
Anders Jenbo
56170b3372
Clean up id normalization
4 years ago
Andrew James
796e2813cf
Use scoped enums for DungeonFlags/BFLAG ( #3135 )
4 years ago
Gleb Mazovetskiy
12b73076b8
Fix build error in plrctrl.cpp ( #3374 )
...
Follow-up to #3370
4 years ago
Stephen C. Wills
423441c3dc
Fix speedbook navigation on gamepad
4 years ago
staphen
884f9ed46b
[Virtual Gamepad] Turn player when stand button is pressed
4 years ago
ephphatha
6d545868d2
Move objectIsDisabled to a member function
...
While it does reference a global configuration option it's mainly concerned with the properties of the object itself, so makes sense to be a member of the object class.
4 years ago
Anders Jenbo
c0c97bf224
[gamepad] Operate object as last option for primery action
...
Fixes #3307
4 years ago
staphen
f090da3ca8
[Gamepad] Prevent player applying stat points to maxed stat
4 years ago
qndel
9c10f43019
disable using crippling shrines with controller
4 years ago
staphen
85f0e7b8c3
Add button for standing still to attack
4 years ago