Gleb Mazovetskiy
5b187e63f6
Use C++20 `using enum` instead of alias enum members manually
3 years ago
staphen
a151219b9b
Don't validate creation flags on gold
3 years ago
Gleb Mazovetskiy
9bbc138b0f
Simplify `ColumnDefinition` using C++20 features
...
1. Default comparison: https://en.cppreference.com/w/cpp/language/default_comparisons
2. Parentheses initialization for aggregate types
3 years ago
Gleb Mazovetskiy
c2ad6da733
Add DEVILUTIONX_DISPLAY_TEXTURE_FORMAT
...
Some platforms, such as PS2, can benefit from a different texture
format. Makes the texture format a CMake setting.
3 years ago
Vinícius Ferrão
2644ec73af
Add Crippling Shrines from Hellfire ( #6273 )
3 years ago
Gleb Mazovetskiy
70ff515f48
Stream demo messages
...
This entirely eliminates the demo memory overhead.
3 years ago
Gleb Mazovetskiy
65e0ad88d2
Further reduce demo file size
...
The vast majority of events are rendering events:
Type | Count
-------------|------:
Rendering | 58,971
MouseMotion | 19,651
GameTick | 6,414
MouseButton | 516
Key | 7
Custom | 1
Encodes Rendering events in a single byte when possible.
Demo file size: 253,410 bytes -> 194,439 bytes
3 years ago
DakkJaniels
ef87664403
refactor cleaving: added in player method to determine if character can cleave and if an item is equipped.
3 years ago
Gleb Mazovetskiy
d31a7b5c2c
Log Demo settings
3 years ago
Gleb Mazovetskiy
9701101634
Switch to C++20
...
glibc compatibility remains the same.
We now use Clang 18 and static libc++ for the Aarch64 build.
Linux x86 and x86_64 builds now use GCC 13.
3 years ago
Anders Jenbo
1616318bb1
Bump version to 1.5.1
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
Eric Robinson
d4682082e2
Add duration parameter to InitDiabloMsg() ( #6514 )
3 years ago
Andrew James
ed9bdd7ae5
Remove duplicated HeadlessMode check in LoadPlrGfx
...
Already checked at the start of the function, none of the sprite data lookups change that global.
3 years ago
Gleb Mazovetskiy
62e9aa0448
`MissilePosition`: Use `WorldTilePosition`
...
Reduces struct size and makes the types of coordinates more obvious.
3 years ago
ephphatha
5f6e5ae9fb
Refactor iterator parsing to allow more reuse
3 years ago
KPhoenix
cf4d88936b
Change InitMissileGFX()
3 years ago
Gleb Mazovetskiy
5355146d51
Use structured bindings
3 years ago
Stephen C. Wills
5e778431c3
Deterministic timer simulation for shrine messages in demo mode ( #6516 )
3 years ago
Eric Robinson
e3d79ae1c1
Fix automap ( #6513 )
3 years ago
staphen
4deae11871
Fix PlayerNetPack validation and tests
3 years ago
Eric Robinson
9995c00323
Validate Item Locations ( #6427 )
3 years ago
qndel
be1d87fd29
fix selecting monsters outside of vision range
3 years ago
ephphatha
fb97eb7114
Clean up hit detection for inventory slots when pasting large items
3 years ago
ephphatha
dd296d25e0
Find the closest point when pasting items on the edge of the stash
3 years ago
Gleb Mazovetskiy
eb51a8beb3
Reduce demo message size
...
`DemoMsg` struct and event data are now kept separately.
RAM usage for the timedemo messages: -85% (1.8 MiB -> 261 KiB)
Demo (`.dmo`) file size: -57% (590,790 bytes -> 253,410 bytes)
3 years ago
Gleb Mazovetskiy
a3bf01f57b
LoggedFread: Do not log EOF as an error
...
Usually we call fread in a loop until reaching EOF.
Reaching EOF is not an error, so we should not log it as such.
The error message was previously seen when loading demo files.
3 years ago
Stephen C. Wills
45dbe6aa61
Shift software cursor graphic and remove special casing ( #6512 )
3 years ago
Anders Jenbo
c91e69384a
Revert "Fix cursor jitter when clicking inv items ( #6510 )"
...
This reverts commit 2a393397a1 .
3 years ago
Eric Robinson
2a393397a1
Fix cursor jitter when clicking inv items ( #6510 )
3 years ago
KPhoenix
00e8d8d75b
Add Save Game confirmation
3 years ago
Eric Robinson
9277aa72de
Fix Floating Numbers after death ( #6505 )
3 years ago
KPhoenix
cb5537083d
Fix right click during dialogue
3 years ago
Eric Robinson
e60a4dca3e
Close Towner window when clicking outside ( #6504 )
3 years ago
ephphatha
32c3316743
Load experience data from file
...
Also added an iterator based API, though it's not useful for this use-case. Might be nice in the future?
The field/record iterators is single-pass input iterators with shared state.
To avoid rescanning fields unnecessarily parseInt currently can only be called once, it would be possible to make these iterators bidirectional with a bit of extra state (holding onto the start pointer)
Co-authored-by: Gleb Mazovetskiy <glex.spb@gmail.com>
3 years ago
ephphatha
996841e82e
Restore level 50 experience cap from Diablo
3 years ago
ephphatha
8ed451b051
Move AddPlrExperience to class member function of Player
3 years ago
ephphatha
e6890cc5cc
Move MaxCharacterLevel to playerdat and add helpers for the various uses
3 years ago
ephphatha
14639cd096
Replace _pNextExper with getter method
...
No real need to persist this value
3 years ago
ephphatha
da76e131e4
Add getter/setter for character levels to ensure _pNextExper stays synced
3 years ago
ephphatha
d92d152576
Use unsigned type for character levels
3 years ago
ephphatha
486f5ca3e8
Replace ExpLvlsTbl global with helper function
3 years ago
Stephen C. Wills
7b06703842
Add tests for net player validation ( #6492 )
3 years ago
Gleb Mazovetskiy
4a4735e908
`string_view`-based asset lookup
...
Changes asset lookup functions to use `std::string_view` instead of
`const char *`.
This required new APIs in libmpq, added in
https://github.com/diasurgical/libmpq/pull/13 .
3 years ago
Gleb Mazovetskiy
9ae72f0269
Remove `PointsInRectangle` factory functions
...
These are no longer needed in C++17 thanks to CTAD.
3 years ago
Anders Jenbo
02ca96ba67
Bump Android build chain to the latest from Google to not upset them
3 years ago
Gleb Mazovetskiy
ba4def9382
Use utils/algorithm/container.hpp in more places
3 years ago