hidwood
88b4338416
fix archway door position in auto-walk path detection
...
Use object->position instead of the archway tile position when reporting
door locations in FindFirstClosedDoorOnWalkPath and
FindFirstTrackerPathBlock. Archway tiles (negative dObject refs) resolve
to the parent door object, but the returned position was the archway
tile rather than the door itself, causing the player to stop one tile
short.
Also: move DOOR_CLOSED/DOOR_OPEN/DOOR_BLOCKED enum from objects.cpp to
objects.h so diablo.cpp can use the canonical constants directly instead
of maintaining duplicate constexpr values. Add static_assert for
MAXOBJECTS fitting in int8_t, defensive assertions in AddDoor(), and
clarify comments around door state checks.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2 months ago
hidwood
e31ece4f2a
update auto-walk in dungeons to detect closed doors
2 months ago
Eric Robinson
5937734b85
Move *dat files to tables dir
2 months ago
Eric Robinson
8d693507ae
Fix OperateShrineCostOfWisdom ( #8398 )
2 months ago
Eric Robinson
43edea4a37
Fix NaKrul book sequence
3 months ago
Eric Robinson
58be0fc570
Fix NaKrul Quest
3 months ago
Eric Robinson
bc0d60bff7
Add Player hasNoMana helper
3 months ago
Eric Robinson
7e8173e6ff
Add Player hasNoLife helper ( #8302 )
3 months ago
obligaron
78a3edb719
Change MonsterTrapHit and MonsterMHit from index to Monster reference
5 months ago
Gleb Mazovetskiy
a99cc9b40a
SDL3: Some more migration
5 months ago
staphen
cd18ec35fb
Fix compiler warnings: NUM_MAX_CLASSES not handled in switch
6 months ago
Andrettin
d87c0dcf8a
Player Class Flags ( #8173 )
6 months ago
Anders Jenbo
1c76897f2c
Apply simple const rules using clang-tidy
7 months ago
Nick Wicked
120993c9a9
Fix Automap movement being hardcoded to right stick on gamepad ( #7921 )
7 months ago
Anders Jenbo
5fce934bdc
Fix linting
7 months ago
Anders Jenbo
7b2de562c2
Extract more Hellfire into data
8 months ago
Gleb Mazovetskiy
ee16071761
Untangle pathfinding dependencies
...
1. Makes `path.cpp` concerned solely with the pathfinding algorithm.
2. Turns `path_test` into a standalone test.
1 year ago
Gleb Mazovetskiy
d94bc424df
`sgOptions` -> `GetOptions()`
...
In C++, globals initialization order accross translation units is not
defined. Accessing a global via a function ensures that it is initialized.
This will be needed for #7638 , which will statically initialize change
handlers after the Options object has been initialized.
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
a7651f15d9
Extract `HeadlessMode` from `diablo.h`
...
Untangles some dependencies.
Many places that use `HeadlessMode` do not need all of `diablo.h`.
1 year ago
Gleb Mazovetskiy
a49b1f2d58
Extract Is{Any,None}Of out of engine.hpp
...
Untangles some of the dependencies
1 year ago
Andrew James
1412e25eff
Allow for item drop rates up to 255 ( #7533 )
1 year ago
Gleb Mazovetskiy
7b0558146e
Async load: Handle errors
1 year ago
Anders Jenbo
e949f41d83
Clean up selection type
2 years ago
qndel
24f108f193
fix many typos ( #7322 )
2 years ago
Gleb Mazovetskiy
90732aa7be
Migrate objdat.cpp data to TSV
2 years ago
matheusgomes28
7848ab731e
Splitting CheckInvPaste() into smaller functions ( #6984 )
2 years ago
Eric Robinson
a4d8aea921
Clean up: AddShrine() [Second attempt] ( #7094 )
2 years ago
Eric Robinson
0ac30d101d
Refactor TileHasAny() ( #7085 )
2 years ago
staphen
9e682afe13
Rename glSeedTbl
2 years ago
staphen
8603696538
Avoid the use of SetRndSeed() in AddStoryBook()
2 years ago
staphen
706bc43f13
Isolate shrine RNG from global RNG state
2 years ago
obligaron
7c1688ba5b
Fix MSVC warnings in objects.cpp
2 years ago
obligaron
b42b72221f
Use PlayerAtPosition at more places
2 years ago
Anders Jenbo
34adaa66e7
Fix object layer height when loading in set levels
2 years ago
obligaron
42e1b82a91
Use GetDunSize in loops
2 years ago
obligaron
79a43dc1de
Introduce AddMissile overloads specific for player and monster
2 years ago
Anders Jenbo
bb2e189327
Convert _sfx_id in to class enum
2 years ago
Gleb Mazovetskiy
09ab58343c
Migrate gold drop/withdrawal to `text_input`
...
With this, all text input is handled in a unified way.
2 years ago
qndel
ad3a20692c
add trap sound to trapped chests
2 years ago
Gleb Mazovetskiy
88bbf4f913
Improve DiabloMsg handling
...
1. Simplified implementation.
2. Now adjusts the box size to fit the content (e.g. when wrapping
failed or when there are too many lines).
2 years ago
Gleb Mazovetskiy
d1d27c8368
Rename error -> diablo_msg
2 years ago
Vinícius Ferrão
2644ec73af
Add Crippling Shrines from Hellfire ( #6273 )
3 years ago
Gleb Mazovetskiy
5355146d51
Use structured bindings
3 years ago
ephphatha
8ed451b051
Move AddPlrExperience to class member function of Player
3 years ago
ephphatha
da76e131e4
Add getter/setter for character levels to ensure _pNextExper stays synced
3 years ago
Gleb Mazovetskiy
9ae72f0269
Remove `PointsInRectangle` factory functions
...
These are no longer needed in C++17 thanks to CTAD.
3 years ago
Gleb Mazovetskiy
ba4def9382
Use utils/algorithm/container.hpp in more places
3 years ago
Gleb Mazovetskiy
8c1a847f41
Remove utils/stdcompat/string_view.hpp
3 years ago
Gleb Mazovetskiy
62d067b653
Remove utils/stdcompat/abs.hpp
3 years ago