morfidon
9302677ad2
Fix light radius runtime desync
...
Add runtime desync detection to CalcPlrLightRadius function.
Now checks if player's vision and light system states are out of sync
with the expected radius and updates them accordingly.
Prevents visual inconsistencies when player light radius changes
during gameplay.
Improve variable names for readability
Change visionOutOfSync to visionRadiusOutOfSync
and lightOutOfSync to lightRadiusOutOfSync
for better code clarity and self-documentation.
2 days ago
Eric Robinson
5937734b85
Move *dat files to tables dir
2 months ago
Eric Robinson
e6032a69a8
Split control.cpp ( #8347 )
3 months ago
Eric Robinson
ee6ce0588a
Update _iStatFlag on HoldItem
3 months ago
Eric Robinson
7e8173e6ff
Add Player hasNoLife helper ( #8302 )
3 months ago
Yggdrasill
753b566350
Use StaticVector for all vendors
4 months ago
Gleb Mazovetskiy
1bbe8bfe08
SDL3: Even more migration
5 months ago
staphen
cd18ec35fb
Fix compiler warnings: NUM_MAX_CLASSES not handled in switch
6 months ago
Gleb Mazovetskiy
3bcc869d85
Replace fmt with utils/str_cat in a few places
...
`fmt::format_to` is overkill for our simple formatting needs.
6 months ago
Andrettin
d87c0dcf8a
Player Class Flags ( #8173 )
6 months ago
Andrettin
f6b4665e94
Make Player Class Data Data-Driven ( #8167 )
6 months ago
Andrettin
528c1ad0e6
Use the size of the AllItemsList vector instead of IDI_LAST for getting how many items are there
7 months ago
Anders Jenbo
04ce8a97c5
clang-tidy: simple cleanup of items
7 months ago
Anders Jenbo
1c76897f2c
Apply simple const rules using clang-tidy
7 months ago
Anders Jenbo
6a4c5e42ec
Clean up const and shadow variables
7 months ago
Anders Jenbo
5fce934bdc
Fix linting
7 months ago
Andrettin
0da7f26ceb
Small Refactor for the Item Floating/Non-Floating Infobox Writing Code ( #8107 )
...
Refactored the code which writes item info to the floating or non-floating infobox depending on settings, simplifying it
7 months ago
Andrettin
0e005c87a4
Fixed item properties not being written to the "normal" infobox if the floating infobox option is disabled
7 months ago
Eric Robinson
e303a82b1c
Floating Item Info Box ( #8000 )
7 months ago
Anders Jenbo
88efadfce8
Make affixes data driven
8 months ago
Anders Jenbo
7b2de562c2
Extract more Hellfire into data
8 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
Yggdrasill
2df2c95839
Fix items.cpp:SortVendor() buffer overflow ( #7875 )
...
* Fix items.cpp:SortVendor() buffer overflow
A recent commit seems to have exposed a buffer overflow problem
in SortVendor(). This commit aims to fix that by not counting
the array members within the function, but passing it as an
argument instead.
* Rename nmemb to count in SortVendor()
* Subtract PinnedItemCount from item count
1 year ago
Yggdrasill
176819a072
Make RecreateItem() take whole dwBuff flag as argument ( #7870 )
1 year ago
Eric Robinson
f5d430fbf1
Stores - Unhardcode shop values
...
Use constexpr instead of #define, and unhardcode values used in towner stores.
1 year ago
Eric Robinson
56fc060c89
Stores - Rename Global Vars
1 year ago
staphen
c798253587
Use constexpr for length of item names
1 year ago
Eric Robinson
173c662723
Remove CalcPlrStaff()
1 year ago
staphen
2d27363228
Use padmapper input names for item descriptions
1 year ago
staphen
8f2154faca
Update gamepad scroll descriptions to match logic in plrctrls
1 year ago
staphen
ba773259cd
Fix gcc/MSVC compiler warnings
1 year ago
Gleb Mazovetskiy
f7be00cea6
`DrawUniqueInfo`: Word-wrap long lines
...
Pre-wraps the string at spaces, otherwise `DrawString` would hard wrap in the middle of words.
1 year 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
3bb1d685af
Extract current input mode into its own library
...
Removes a transitive dependency on the entire plrctrl from options.
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
staphen
7a6a6a6c32
Don't send spell level in spell casting network message
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
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
a49b1f2d58
Extract Is{Any,None}Of out of engine.hpp
...
Untangles some of the dependencies
1 year ago
Eric Robinson
cfac786daf
Make invalid items unusable ( #7506 )
1 year ago
Andrew James
1412e25eff
Allow for item drop rates up to 255 ( #7533 )
1 year ago
staphen
bfd289db88
Clear unique item flags in LoadGameLevel()
1 year ago
Andrew James
c7abf2f778
Extract logic from CheckInvCut/AutoPlaceItemInInventory ( #7494 )
...
* Remove unnecessary namespace
* Extract FindSlotUnderCursor
* Split logic for finding a space in the inventory to dedicated functions
1 year ago
Eric Robinson
baaa906583
Remove CheckCheatStats() ( #7461 )
1 year ago
Eric Robinson
0fd4a7b348
Fix Life/Mana bugs ( #5777 )
1 year ago
Eric Robinson
793eb7a835
Fix 0 charge staff in speed spell ( #6502 )
...
* Fix 0 charge staff in speed spell
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
Eric Robinson
d8e58b2547
Fix Elemental Arrows vs Objects ( #6507 )
2 years ago