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
Gleb Mazovetskiy
703f3c2e6b
Clean up `IsAreaOk`
...
Follow-up to #6403
3 years ago
staphen
98927e7a6e
Sync potion drops from Divine shrine
3 years ago
Anders Jenbo
28b26da7fa
Fix spawning shrines on custom levels
3 years ago
qndel
384a303afa
add IsAreaOk function instead of multiple manual checks
3 years ago
KPhoenix
9dcf264d65
Fix Book requirements not updating from Objects #2
3 years ago
Eric Robinson
5ebedafd83
Fix Book requirements not updating from Objects ( #6316 )
3 years ago
Anders Jenbo
13e3217578
Only play the dialogs for the initating player ( #6173 )
...
* Only play the The Chamber of Bone lore for the reader
* Only play dialog for the player who is having the conversation
* Allow rock quest when skipping to level 5
3 years ago
obligaron
c8f1804d04
Spawn Optic Amulet and Arkaine's Valor always at the same tile ( #6167 )
...
* Spawn Optic Amulet and Arkaine's Valor always at the same tile
* Multiplayer: To complete Halls of Blind and Arkaine's Valor also check drop position, because quest rewards items can be randomized
3 years ago
qndel
5e47dd57db
refresh staff after using stone shrine
3 years ago
obligaron
d2cf2083a2
Sync Na-Krul Quest
3 years ago
obligaron
d055aa5cbd
Sync break crux correctly
3 years ago
ephphatha
3bbb80d849
Introduce temporary function to advance the global rng state and discard results
3 years ago
staphen
9c3b005c2c
Sync multiplayer door state in ObjChangeMap
3 years ago
Stephen C. Wills
acae4d0ee9
Fix state of doors after ObjChangeMapResync ( #6085 )
3 years ago
staphen
defc52f9a4
Fixes for book lever synchronization
3 years ago