Commit graph

133 commits

Author SHA1 Message Date
ephphatha
db1d776539 Deduplicate PItem and DItem 2022-01-24 21:12:13 +01:00
obligaron
234a053863 Change Missiles Array to std::list 2022-01-20 23:12:48 +01:00
ephphatha
3bc2eb8471 Use ObjectAtPosition when highlighting from gamepad movement 2022-01-19 03:05:27 +01:00
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
2022-01-19 03:05:27 +01:00
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.
2022-01-02 11:37:38 +01:00
Anders Jenbo
576d946581 Allow use of touch to select world objects 2022-01-02 11:37:38 +01:00
Anders Jenbo
6b2481a76c Touch support on all SDL2 platforms 2022-01-02 11:37:38 +01:00
qndel
be0b79f9f5
Add IsWallSpell helper 2021-12-07 12:00:52 +01:00
Anders Jenbo
28ad032a2f 🐛 [gamepad] Fix casting lightningwalls
Fixes #3694
2021-12-07 01:37:58 +01:00
Vladimir Olteanu
861fb99e9d Quick cast 2021-12-04 15:38:58 +01:00
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.
2021-11-25 12:22:27 +01:00
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>
2021-11-24 23:44:12 +01:00
Gleb Mazovetskiy
8d1708358f Extract spell list and book into separate files
Moves the spell list/book UI from `control.cpp` code into separate files.
2021-11-23 21:38:06 +00:00
Anders Jenbo
56170b3372 Clean up id normalization 2021-11-07 23:15:10 +01:00
Andrew James
796e2813cf
Use scoped enums for DungeonFlags/BFLAG (#3135) 2021-11-07 03:11:16 +01:00
Gleb Mazovetskiy
12b73076b8
Fix build error in plrctrl.cpp (#3374)
Follow-up to #3370
2021-11-03 10:59:10 +01:00
Stephen C. Wills
423441c3dc
Fix speedbook navigation on gamepad 2021-11-03 10:50:35 +01:00
staphen
884f9ed46b [Virtual Gamepad] Turn player when stand button is pressed 2021-11-03 10:21:55 +01:00
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.
2021-10-31 14:21:57 +01:00
Anders Jenbo
c0c97bf224 [gamepad] Operate object as last option for primery action
Fixes #3307
2021-10-28 22:47:47 +02:00
staphen
f090da3ca8 [Gamepad] Prevent player applying stat points to maxed stat 2021-10-28 08:36:19 +02:00
qndel
9c10f43019 disable using crippling shrines with controller 2021-10-26 22:31:16 +02:00
staphen
85f0e7b8c3 Add button for standing still to attack 2021-10-26 07:54:51 +02:00
Anders Jenbo
488acf0eba [touch] Fix some button faces 2021-10-25 08:05:07 +02:00
staphen
a6807beb59 Improve gamepad cursor positioning when picking up items in inventory 2021-10-25 06:03:26 +02:00
Anders Jenbo
284f0347cc [touch] Add additional button faces
Apply color correciton
2021-10-25 05:49:53 +02:00
staphen
76de43fb0a [Gamepad] Use secondary action button to apply oils 2021-10-25 02:46:17 +02:00
staphen
900af16a9e Fix distributing stat points using gamepad 2021-10-21 13:25:19 +02:00
Anders Jenbo
d5999e6027 [gamepad] Only warp the cursor if item was moved 2021-10-20 05:08:45 +02:00
Anders Jenbo
8e70cd7a37 [gamepad] Fix OOB when using equiped items 2021-10-20 05:08:45 +02:00
Anders Jenbo
3d38e6ce88 [gamepad] Correctly jump over items horizontally 2021-10-20 05:08:45 +02:00
Anders Jenbo
2f925bfeb7 [gamepad] Prevent warping from row 9 and 10 to belt 2021-10-20 05:08:45 +02:00
Anders Jenbo
1ba7e07b29 Do not show the cursor when using a touch device 2021-10-20 05:08:45 +02:00
Anders Jenbo
b3a9a2ddce [gamepad] Allow for mixed mode navigation in inventory 2021-10-20 05:08:45 +02:00
Anders Jenbo
78c4f06e9e [gamepad] Remove item warping 2021-10-20 05:08:45 +02:00
Anders Jenbo
808702fe92 [gamepad] Make horizontal inventory navigation stable 2021-10-17 07:59:32 +02:00
staphen
5a75e076b6 [Gamepad] Don't treat special cursors as items 2021-10-14 23:18:53 +02:00
staphen
ab13fba13f Use Rune Bomb or Cathedral Map to open Hive or Crypt 2021-10-12 15:21:37 +02:00
staphen
ee23f41e0c Enable opening Hive and Crypt using gamepad 2021-10-12 04:40:43 +02:00
Yuri Pourre
7d74336e6b Enhance ctrl + drop 2021-10-09 16:16:51 +02:00
Yuri Pourre
071206a9e4
Fix ctrl + drop garbage 2021-10-07 03:36:09 +02:00
Yuri Pourre
b8450dc792 Assign ctrl to drop items 2021-09-29 18:15:26 +02:00
obligaron
0818c55b88 Holding mouse when shift is held shouldn't lock to a target (Spells) 2021-09-27 11:58:51 +02:00
Gleb Mazovetskiy
ec13c333a9 Refactor: Use item iterators for scroll checks
Refs #2586
2021-09-24 01:56:44 +01:00
Juliano Leal Goncalves
379a27b64a ♻️ Convert 'ItemType' enum to enum class
🎨 Rename 'ItemType' elements to enum class standards
2021-09-13 00:25:49 +02:00
ephphatha
4158651eb4 Simplify IsPathBlocked logic
This could make use of path.cpp::path_solid_pieces if it weren't for path directions being completely unrelated to the Direction enum values.
2021-09-12 02:27:47 +02:00
ephphatha
b12de6fe12 Use scoped enum for Direction
Identified and removed an instance of Direction being used as an argument for a bool parameter

Removed a single-use temporary variable being cast from sprite frame to direction to size_t

Co-authored-by: Anders Jenbo <anders@jenbo.dk>

Fix alignment of WalkSettings array
2021-09-12 02:27:47 +02:00
Juliano Leal Goncalves
32e22a16b3 ♻️ Leverage conversion constructor for 'Direction' to 'Displacement'
This makes code more consistent overall as we use the same pattern for dealing with Sizes.
2021-09-06 12:57:59 +02:00
Juliano Leal Goncalves
20db8d1a11 🚚 Rename 'MonsterStruct' to 'Monster' 2021-09-01 22:26:37 +02:00
Juliano Leal Goncalves
bb2dfdfb73 🚚 Rename 'ItemStruct' to 'Item' 2021-08-30 13:40:08 +02:00