Anders Jenbo
6a4c5e42ec
Clean up const and shadow variables
7 months ago
Andrettin
cfb52ee239
Added support for mods to add unique monsters without replacing any data ( #8092 )
7 months ago
Anders Jenbo
7b2de562c2
Extract more Hellfire into data
8 months ago
Eric Robinson
e538b457bf
Refactor Missile direction/frame group handling
10 months ago
Anders Jenbo
3b18dd35d9
Move some Hellfire differences to data files ( #7943 )
...
Co-authored-by: Gleb Mazovetskiy <glex.spb@gmail.com>
11 months ago
staphen
887f68e2a7
Validate stash size to avoid in-game corruption
11 months ago
Yggdrasill
176819a072
Make RecreateItem() take whole dwBuff flag as argument ( #7870 )
1 year ago
staphen
234606ad9d
Validate player/item names coming from save file
1 year ago
staphen
c798253587
Use constexpr for length of item names
1 year ago
Gleb Mazovetskiy
3e6b501d82
Fix pathfinding and increase player path limit
...
The previous implementation didn't behave quite like A-* is supposed to.
After trying to figure out what's causing it and giving up,
I've reimplemented it in a straightforward manner.
Now it seems to work a lot better.
Also increases maximum player path length to 100 steps.
We still only store the first 25 steps in the save file for vanilla
compatibility.
1 year ago
Gleb Mazovetskiy
d7647d6c63
More dependency untangling
...
1. Moves more assets-related stuff from `init` to `engine/assets`.
2. Removes `SDL_audiolib` dependency from `soundsample.h`.
3. Cleans up some unused/missing includes.
1 year ago
Gleb Mazovetskiy
c31836eab8
Split up `engine.{h,cpp}`
...
Untangles dependencies by splitting up `engine.{h,cpp}` into 3 files:
1. `primitive_render`
2. `ticks` -- only contains `GetAnimationFrame` for now.
3. `GetWidth2` renamed to `CalculateSpriteTileCenterX` and moved to `levels/dun_tile.hpp`.
1 year ago
Gleb Mazovetskiy
dd76f17e4b
Rename endian.hpp to endian_read.hpp
...
Following #7620 , which split the write functions into a separate header.
1 year ago
Gleb Mazovetskiy
a49b1f2d58
Extract Is{Any,None}Of out of engine.hpp
...
Untangles some of the dependencies
1 year ago
staphen
6215de6e76
Compute monster toHit on the fly
1 year ago
Eric Robinson
cfac786daf
Make invalid items unusable ( #7506 )
1 year ago
Gleb Mazovetskiy
7b0558146e
Async load: Handle errors
1 year ago
Gleb Mazovetskiy
f15fbcf61a
Async loading
...
Does the loading on a separate thread, so we're
now loading while fading in and while updating
the progress bar.
1 year ago
Eric Robinson
9f197f5ebc
Rename Missile::_mirange to Missile::duration ( #7214 )
2 years ago
Eric Robinson
e90855b3c4
Rename stores.cpp global variables ( #7425 )
2 years ago
Eric Robinson
6396af1ff5
Cleanup panel code (Part 2) ( #7421 )
2 years ago
Stephen C. Wills
cfe9a8ccdd
Introduce xoshiro RNG to generate dungeon seeds ( #7030 )
2 years ago
Anders Jenbo
e949f41d83
Clean up selection type
2 years ago
qndel
24f108f193
fix many typos ( #7322 )
2 years ago
Gleb Mazovetskiy
e9c29fa806
Switch to ankerl::unordered_dense
2 years ago
Eric Robinson
557fd2a4a3
Fix illegal spell levels ( #7112 )
2 years ago
staphen
af07b71127
Fix crash loading game with Search missile
2 years ago
staphen
eb5e32aee5
Fix level conversion when migrating saves between Diablo and Hellfire
2 years ago
matheusgomes28
7848ab731e
Splitting CheckInvPaste() into smaller functions ( #6984 )
2 years ago
staphen
ba02a739da
Call the functions to save/load level seeds in the SP save files
2 years ago
staphen
3c5b298391
Capture the level seed and use it to skip failed dungeon layouts
2 years ago
staphen
9e682afe13
Rename glSeedTbl
2 years ago
Gleb Mazovetskiy
25c1c5b372
Fix a few -Wsign-compare warnings
2 years ago
staphen
c4792be763
Remove invalid items after loading heroitem data
2 years ago
staphen
293ad814e6
Restore packed item state when regenerating an item using heroitem data
2 years ago
Gleb Mazovetskiy
c5a5dc9f5c
Fix a few MSVC warnings
2 years ago
ephphatha
6a8f4b12da
Get base block bonus from data struct instead of storing a copy
3 years ago
ephphatha
5d50b5520d
Add PlayerData lookup helper to avoid manual casts
...
This lets us remove the PlayersData global, and we can use a helper in the player class for convenience.
3 years ago
Gleb Mazovetskiy
e090c8bf31
Extract some player attributes to data files
3 years ago
Gleb Mazovetskiy
5355146d51
Use structured bindings
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
Gleb Mazovetskiy
8c1a847f41
Remove utils/stdcompat/string_view.hpp
3 years ago
Gleb Mazovetskiy
c19bfe87fa
Remove utils/stdcompat/algorithm.hpp
3 years ago
Gleb Mazovetskiy
74755c8be7
Remove utils/stdcompat/cstddef.hpp
3 years ago
ephphatha
4e3f46603a
Remove unused attribute _pMaxLvl
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
obligaron
0eda8d9367
Convert town portal level type to vanilla hellfire logic
3 years ago
Anders Jenbo
09595cde5e
Only apply relevant oils in multiplayer
3 years ago