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
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
8ebe2e0290
Fix -Wsign-compare warnings
3 years ago
Gleb Mazovetskiy
5960b20509
Remove a stray __cplusplus >= 201703L check
3 years ago
Gleb Mazovetskiy
e9b5ec77f9
Remove AppendStrView
3 years ago
Gleb Mazovetskiy
c19bfe87fa
Remove utils/stdcompat/algorithm.hpp
3 years ago
Gleb Mazovetskiy
f2c42924fe
Fix SDL.h includes
3 years ago
Gleb Mazovetskiy
5cc1f98b8d
Remove utils/stdcompat/invoke_result_t.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
Gleb Mazovetskiy
74755c8be7
Remove utils/stdcompat/cstddef.hpp
3 years ago
Gleb Mazovetskiy
53db86ee9a
Use `std::from_chars` instead of `std::stoi`
...
Adds a `ParseInt` function which uses `std::from_chars`.
From `std::from_chars` documentation:
> Unlike other parsing functions in C++ and C libraries,
> std::from_chars is locale-independent, non-allocating, and non-throwing.
Co-authored-by: Andrew James <ephphatha@thelettereph.com>
3 years ago
Gleb Mazovetskiy
703f3c2e6b
Clean up `IsAreaOk`
...
Follow-up to #6403
3 years ago
staphen
98927e7a6e
Sync potion drops from Divine shrine
3 years ago
staphen
69c4fde052
Don't use walk animation as preview frame for standing attack
3 years ago
Gleb Mazovetskiy
2f1290c5d2
Remove C++11 compatibility code
3 years ago
Eric Robinson
7f2010f77b
Level Up Sound ( #6275 )
3 years ago
qndel
728b632960
fix typos
3 years ago
qndel
41adc6a259
rename WarpDrop -> PortalTownPosition
3 years ago
qndel
4884da895c
rename AddWarpMissile -> AddPortalMissile
3 years ago
qndel
398d09477a
rename AddInTownPortal -> AddPortalInTown
3 years ago
qndel
b5ab3a10a2
correct IsTileWalkable to mark tiles out of bounds as not walkable
3 years ago
qndel
1e6277595d
deduplicate NPC sell/buy code
3 years ago
obligaron
97f9045c83
Introduce TrySelectPixelBased
3 years ago
obligaron
f59e3aaffb
Introduce IsPointWithinClx
3 years ago
obligaron
d5642daeb4
Introduce GetScreenPosition
3 years ago
obligaron
ac7c96b33f
Introduce PointOf operator /=
3 years ago
obligaron
578ce01432
Introduce Towner/Player/Object/Item/Monster::currentSprite/getRenderingOffset
3 years ago
obligaron
e8838a73d5
Refactor CheckCursMove()
3 years ago
Anders Jenbo
b25b6a1daa
Fix spawn location when using map debug command
3 years ago
Anders Jenbo
28b26da7fa
Fix spawning shrines on custom levels
3 years ago
Gleb Mazovetskiy
7a5e5f73e6
Support language-specific font variants
...
Refs #3538
3 years ago
ephphatha
4e3f46603a
Remove unused attribute _pMaxLvl
3 years ago
staphen
663c33475b
Introduce function to determine if ZT comms channel to peer is relayed
3 years ago
qndel
384a303afa
add IsAreaOk function instead of multiple manual checks
3 years ago
Gleb Mazovetskiy
8101e2c0ba
Add `c_any_of` and friends
...
Adds handy helpers for performing algorithms on the entire container.
They're prefixed with `c_` for container.
This naming convention is identical to some popular C++ libraries, such
as Abseil.
3 years ago
Gleb Mazovetskiy
999f44cf07
Point: Safer `operator-`
...
1. Require both operands to have the same signedness to avoid surprises.
2. Only allow unary negation on signed points.
Fixes #6409
Also fixes a potential bug in the sound position calculation.
3 years ago
qndel
1b42a17153
dont show hit indicator for 1 player
3 years ago
staphen
21af333d90
Fix missiles passing through enemies on SW/NE diagonal
3 years ago
staphen
36186ca9b5
Don't extrapolate missile position in collision interpolation logic
3 years ago
Stephen C. Wills
94c7e7fc01
Add bounds check to MonsterIdle() to prevent var2 overflow ( #6395 )
3 years ago