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
Anders Jenbo
64d7af2937
Fix loading new demo files and give better error messages when failing
3 years ago
obligaron
09bc43b0ed
Ensure warp and teleport target position is free
3 years ago
staphen
470c028c17
Make Bucklers available in shareware
3 years ago
staphen
b1711739c6
Immediately drop player who sends invalid player data
3 years ago
staphen
b43a8dc904
Fix empty item slot validation in UnPackNetItem()
3 years ago
obligaron
0eda8d9367
Convert town portal level type to vanilla hellfire logic
3 years ago
Anders Jenbo
b01670e1e4
Correct fields being validated
3 years ago
Eric Robinson
46824261f9
Validate iCreateInfo ( #6377 )
...
Co-authored-by: staphen <staphen@gmail.com>
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
Co-authored-by: Stephen C. Wills <swills@gridprotectionalliance.org>
3 years ago
Gleb Mazovetskiy
9d96eea86b
De-duplicate extra fonts version check code
...
Co-authored-by: Stephen C. Wills <swills@gridprotectionalliance.org>
3 years ago