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
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
Gleb Mazovetskiy
ebe8c6e576
Add `tl::expected` and use it in `ParseInt`
...
`std::expected` has been standardized for C++23.
3 years ago
Gleb Mazovetskiy
cbf51cd5ab
`DrawStringFormatArg`: Use `std::variant`
3 years ago
Gleb Mazovetskiy
9e8465e152
Clean up spell book rendering
3 years ago
staphen
ab1af87bc9
Fix issues with light offset calculation
3 years ago
KPhoenix
ba6cc56ae8
None to Empty
3 years ago
KPhoenix
6dde0f8a23
Add enum class for spell icons
3 years ago
Gleb Mazovetskiy
26f42520fa
Fix unused variable warnings
3 years ago
Gleb Mazovetskiy
d262589021
Support `const` inventory iterators
...
Previously, inventory iterators could only be used with non-const
objects, leading to suboptimal const correctness.
Adds support for `const` objects to inventory iterators via
C++17 CTAD.
3 years ago
Gleb Mazovetskiy
ecdf7380a8
PushAulibDecoder: Support 8-bit samples directly
...
Previously, we converted 8-bit audio to 16-bit, and then to float.
Eliminates the 8->16 conversion step.
Also optimizes the 16-bit conversion a bit.
3 years ago