Anders Jenbo
73fbadbbcb
baa
4 years ago
Gleb Mazovetskiy
72660d9189
Migrate snprintf to fmt ( #4845 )
...
* Migrate `app_fatal` from printf to libfmt
* Migrate snprintf to fmt
4 years ago
Vladimir Olteanu
5a5111f1d8
Refactor CrawlTable ( #4833 )
4 years ago
Anders Jenbo
54598e2a8f
CreatePlayer by reference
4 years ago
Anders Jenbo
72656b3011
Move path and palette to the engine folder
4 years ago
Anders Jenbo
99181fd709
Move more files to the engine folder
4 years ago
Anders Jenbo
6d56058708
Move level generation to subfolder
4 years ago
Gleb Mazovetskiy
39afeaf8b1
CMake: gc-sections + no-rtti/exceptions options
...
Turns out gc-sections helps significantly even with LTO (-84 KiB for the
MinSizeRel rg99 build).
Also adds options for disabling RTTI and exceptions.
4 years ago
Gleb Mazovetskiy
01ad1814ea
Make path finding index-based
...
Reduces the size of the `PathNodes` array from 28 KiB to just 8 KiB.
Also reduces the size of `pnode_tblptr` from `300 * sizeof(void *)` to
`300 * 2` bytes.
4 years ago
ephphatha
96c38c7f34
Add tests for path length edge case
4 years ago
ephphatha
0fc06924fb
Restructure test conditions to avoid tautology warnings
4 years ago
Andrew James
60b835214b
Address warnings in Utf8 functions ( #4748 )
...
* Use explicit typecasts to force signed char comparisons
Avoids warnings about tautological comparisons (either the >= 0 comparison for ARM/PowerPC or the <= 127 comparison for x86*)
* Remove unused function
4 years ago
Anders Jenbo
4cc3a5264c
Make dPiece zero-indexed
4 years ago
Anders Jenbo
860bd1cebf
Operate directly on SOL data
4 years ago
ephphatha
e246ac78db
Simplify character test in UiValidPlayerName
4 years ago
ephphatha
34b7d85263
Add IsLeadUtf8CodeUnit to complement trail byte detection
4 years ago
ephphatha
956fe7c093
Add tests for IsTrailUtf8CodeUnit
4 years ago
Gleb Mazovetskiy
563ee3af7c
Optimize `FormatInteger`
4 years ago
Gleb Mazovetskiy
f22d1d0149
Remove uses of deprecated codecvt
...
codecvt is deprecated in C++17 and we don't really need all of its heavy
machinery for simply converting to UTF-8.
4 years ago
Anders Jenbo
fd98aff9f1
Move shared dungeon level code to common function
4 years ago
ephphatha
8d0afac194
Don't preserve an unreachable vanilla bug
4 years ago
ephphatha
cf956aff96
Use identifiable messages when test cases fail
4 years ago
Anders Jenbo
e8ed195ef6
Place Anvil from the .dun rather then a hardcoded array
4 years ago
ephphatha
a6db96da57
Test betrayer portal position is set on dlvl 15
4 years ago
Anders Jenbo
6962fcd63e
Clean up PlaceMiniSet()
4 years ago
Anders Jenbo
b2278b85f8
Apply workaround for OOB in DRLG L1
4 years ago
Anders Jenbo
1203514383
Clean up use of currlevel
4 years ago
Anders Jenbo
e43cf251fb
Test Hell quest sets using dummies
4 years ago
Anders Jenbo
28d7c96063
Test reamaning Catacombs set levels using dummy sets
4 years ago
Anders Jenbo
50a222f1a2
Test generating a level for the butcher quests
4 years ago
Anders Jenbo
0e6a47e8c9
Test all entrances
4 years ago
Anders Jenbo
9181ba412b
Add tests for levels with quest sets using dummy maps
...
Banner1.DUN, Banner2.DUN, SKngDO.DUN, Blind1.DUN are custom maps made to
facilitate the tests that load map files as elements for generated
levels.
4 years ago
Anders Jenbo
54cd839cf6
Clean up drlg tests
4 years ago
Gleb Mazovetskiy
628406a44c
Refactor inventory/belt item presence and removal
...
Introduces new functions to check for presence of and remove player items.
These functions do not rely on or expose item indices.
They're implemented as free functions instead of Player methods due to
complicated include dependencies between `player.h`, `inv.h`, and
`inv_iterators.h`. We should probably look into cleaning this up at some
point.
4 years ago
Anders Jenbo
29a66f69e2
Test basic Caves and Nests levels
4 years ago
ephphatha
606cc162a1
Use helpers when calculating missile velocity
...
eventually maybe we can move to fixed point approximations instead of using hypot and casts to double/float? probably way slower than using the FPU on modern systems though :D
4 years ago
Anders Jenbo
0a71f1ffb3
Test basic Hell levels
4 years ago
Anders Jenbo
8b685c2f30
Remove duplicate objects from fixtures
4 years ago
ephphatha
fcb94b3505
Copy test fixtures to build directory
...
instead of trying to navigate back to the source directory. That's fragile and breaks if the build ends up one level deeper (e.g. MSVC with the default build/<config>/ structure)
4 years ago
ephphatha
d5622d5080
Add point constructor to allow comparison in test macros
4 years ago
Anders Jenbo
848222b8f3
Test Catacomb level generation ( #4651 )
4 years ago
Anders Jenbo
30a6d3412f
Test crypt level generator
4 years ago
qndel
be8a5c9180
fix dungeon test
4 years ago
qndel
d5744ba421
fix multiplayer
4 years ago
Anders Jenbo
c241cae9e3
Test cathedral level generation
4 years ago
Andrew James
1047e408bd
Simplify logic of UpdateMissilePos using helpers from 4620 ( #4621 )
4 years ago
qndel
354e329644
Players[MyPlayerId] -> MyPlayer
4 years ago
obligaron
bc15bdf3a9
Remove PANEL_ defines and replace them with GetMainPanel()
4 years ago
ephphatha
64a2c41b2c
Set clang-tidy config for MethodCase option
...
Previously this was falling back to FunctionCase, leading to inconsistent casing of class methods throughout the codebase. Applied to Item as an example.
4 years ago
DakkJaniels
dad46e1905
Item special effect enum ( #4129 )
4 years ago