Gleb Mazovetskiy
848f234aed
Add automap type cycling controls
...
Makes cycling the automap type separate from toggling it on/off.
The TAB key can still be used for quick on/off as usual, while
the new Cycle key ("m" by default) can be used to switch between available
display types.
`Get/NextDebugMonster` debug keybind changed to "v" to avoid a conflict.
3 years ago
ephphatha
24a20ce8e2
Extract uses of MyPlayer to prevent future crashes in tests/game init
3 years ago
ephphatha
bd8aab0aff
handle stash item swapping using the gamepad a bit better
3 years ago
ephphatha
c85fcbdfb1
fix cursor alignment following gamepad movement in stash
...
align the cursor to the middle of the cell/region when moving through the stash to match the way we simulate mouse movement for inventory cells
3 years ago
ephphatha
0d292b10c4
Move to the first inventory column from the left hand while holding wide items
3 years ago
ephphatha
070a11901f
Fix handling of gamepad cursor movement following item cursor change
3 years ago
Gleb Mazovetskiy
26f42520fa
Fix unused variable warnings
3 years ago
Gleb Mazovetskiy
d5446f2f01
Use `std::variant` in `StringOrView`
...
We also add a direct string move-assignment (`operator=(std::string &&)`),
which results in better codegen.
As a consequence, we have to replace `= {}` assignments with `= StringOrView {}`
because `= {}` is now ambiguous.
3 years ago
Gleb Mazovetskiy
8c1a847f41
Remove utils/stdcompat/string_view.hpp
3 years ago
Gleb Mazovetskiy
c19bfe87fa
Remove utils/stdcompat/algorithm.hpp
3 years ago
Gleb Mazovetskiy
14540164a7
Remove utils/stdcompat/optional.hpp
3 years ago
Gleb Mazovetskiy
62d067b653
Remove utils/stdcompat/abs.hpp
3 years ago
staphen
11e0ccd854
Invoke padmap release handler in menus
3 years ago
Gleb Mazovetskiy
72d42143a1
Demo: Disable KBCTRL while the demo is running
...
KBCTRL can interfere with the demo mode.
For example, Escape maps to Select on most KBCTRL platforms.
3 years ago
Anders Jenbo
01a7966f1d
Empty cursor when closing inventory
...
Fixes #4205
3 years ago
Gleb Mazovetskiy
5bf0b8bc96
Add more missing <cstdint> includes
...
https://github.com/diasurgical/devilutionX/pull/6095 only added includes
for `uint32_t`, this PR also adds the includes for the remaining
integral types.
3 years ago
qndel
731ad1ada5
use std::rotate ( #6019 )
3 years ago
staphen
8b6b898493
Defer d-pad inputs to movement handlers
3 years ago
staphen
b537f677f9
Improve d-pad handling for in-game menus
3 years ago
staphen
71ccd415c5
Update gamepad motion state regardless of the active event handler
3 years ago
staphen
bfc54c9bd3
Add arena potions to the virtual gamepad renderer
3 years ago
qndel
ce2ce86070
inspect players command
3 years ago
obligaron
b916c8e428
Introduce Open/Close/ToggleCharPanel
3 years ago
obligaron
c4388b0d41
Remove unused pnum from UseInvItem
3 years ago
obligaron
1522dc7031
Multiplayer: Add arena potions
3 years ago
staphen
d2bc7c10ba
Fix stand ground for gamepad controls
3 years ago
Gleb Mazovetskiy
c71eb0ff54
Add support for new SDL 2.24.0 gamepad types
...
Fixes #5878
3 years ago
ephphatha
94c646ef8f
Use rectangles for inventory/belt hit areas
3 years ago
obligaron
2296bf5625
Use StashStruct::EmptyCell instead for empty stash item check
3 years ago
Gleb Mazovetskiy
ebcd6b222d
Optimize `SpellData` size: 40 bytes -> 24
3 years ago
KPhoenix
a1fbf5253f
`enum talk_id` -> `enum class TalkID`
3 years ago
Gleb Mazovetskiy
b61dac853b
Add `GetSpellData(SpellID)`
3 years ago
KPhoenix
d813f13700
`enum spell_id` -> `enum class SpellID`
3 years ago
Gleb Mazovetskiy
1788d2f8ec
Remove miniwin
...
Event handling code moved to `engine/events.{hpp,cpp}`.
3 years ago
Eric Robinson
ef3a57b7d9
`enum spell_type` -> `enum class SpellType` ( #5674 )
3 years ago
KPhoenix
8db521727d
`enum missile_id` -> `enum class MissileID`
...
Changes `enum missile_id` to `enum class MissileID`
3 years ago
Anders Jenbo
a29fc3a074
Correct casing for Player::isWalking()
3 years ago
staphen
b66b6c611b
Produce multiple controller button events for SDL_JOYHATMOTION events
3 years ago
staphen
f17ea8db98
Implement settings menu for gamepad customization
3 years ago
Gleb Mazovetskiy
46e755f680
Simplify spell icon handling
...
Hide the internals of spell icon rendering behind simple functions.
3 years ago
Gleb Mazovetskiy
74ca2ab0db
Use no-background spell icons with UNPACKED_MPQS
...
Spell icons size: 200 KiB -> 81 KiB
Fixes #5470
3 years ago
Gleb Mazovetskiy
a2a8b1c706
Padmapper: Simplify `buttonTo*` data structures
...
Use an `std::array` instead of `std::unordered_map`.
3 years ago
staphen
f60f704ecc
Reverse A and B in pad button to key translation functions
3 years ago
staphen
e1167350a2
Clean up handling for gamepad IGNORE/NONE buttons
3 years ago
staphen
6a565d3755
Further improve simulated mouse interaction
3 years ago
staphen
198dec9412
Iron out interactions between simulated mouse movement and character movement
3 years ago
staphen
d7908d82f4
Always remove release actions from padmapper regardless of whether the action can be invoked
3 years ago
staphen
33d4cc2544
Properly handle d-pad events for mouse simulation
3 years ago
Gleb Mazovetskiy
0498d7d3a7
Fix compilation warnings
3 years ago
Gleb Mazovetskiy
88289bb02e
Fix HAS_KBCTRL build
3 years ago