Gleb Mazovetskiy
7d4332c78c
Split more things into libraries
...
This does not fully address the issue of most everything
being a giant library but it's a start.
Note that the libraries are OBJECT libraries, so they
may (and currently do) contain references to missing
symbols.
Also fixes the implementation of transitive dependency
support for OBJECT libraries.
1 year ago
Gleb Mazovetskiy
7668de36a4
Add a default clock mod
...
This mod renders a clock in the top-right corner
and is always available (disabled by default).
It is useful to have a mod available by default
as we work on mod support.
1 year ago
Gleb Mazovetskiy
4b38771263
Lua render: add screen_width/height()
1 year ago
staphen
3b841b5800
Reload Lua mods when enabling/disabling
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
b76feb2be3
Extract game mode out of init.cpp
...
Untangles some dependencies
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
Gleb Mazovetskiy
19ccf7ce88
Split endian_write from endian
...
Only `endian_write` functions require SDL, splitting them out
will allow us to clean up the dependencies a bit.
1 year ago
staphen
4931cc6386
Lua mod ini file configuration
1 year ago
Gleb Mazovetskiy
affd7e86e6
Move MPQs from init to engine/assets
...
Untangles some of the dependencies.
1 year ago
staphen
459e814f14
Fix tile incorrectly marked as solid next to crypt stairs down
1 year ago
staphen
028d32fb7a
Fix nonsolid fence tiles
1 year ago
staphen
0d188dd073
Don't apply dungeon item validation to town items
1 year ago
Gleb Mazovetskiy
a12b5368c3
Extract sound effects enum into its own file
...
Avoids depending on all of `effects` in places where we only need the
enum.
1 year ago
Apaczer
fc0f58c839
storm_svid: use DISPLAY_TEXTURE_FORMAT for PlayEnd
...
otherwise we get incorrect menu graphics
1 year ago
Andrew James
aec1769858
account for held items in ResetInvCursorPosition
1 year ago
Andrew James
9c1a3b7b55
improve movement to body slots
1 year ago
Andrew James
99014d4ce7
allow moving from stash to inv from left side of wide items
1 year ago
Andrew James
3a3498f766
dedupe code for moving from inv to stash
...
also reorganising belt to stash checks to match
1 year ago
staphen
09411784d2
Fix value of items bought from Wirt's shop
1 year ago
Sophie Alberti
21b12f7632
improve gamepad stash control, fix #7019
1 year ago
Gleb Mazovetskiy
164ebb46bd
Big-endian networking fixes
1 year ago
Gleb Mazovetskiy
940ce3fb64
Test paths fixes
...
1. Load assets from the bundle on Mac.
2. In timedemo_test, load MPQs before overriding pref path,
so that they can also be loaded from the user/system location.
3. Fix various double directory separators ("build//assets" etc).
1 year ago
Gleb Mazovetskiy
f798556169
Work around broken event pushing on Tiger
...
Pushing events from a background thread on Tiger + SDL1
does not appear to do anything at all.
I don't know if the issue is limited to Tiger,
so apply the workaround on all macOS when using SDL1.
1 year ago
Gleb Mazovetskiy
b68f59d002
OSX: Fix base/pref/config paths on Tiger
1 year ago
Eric Robinson
8d1fb2bd63
Move Game Mode to own category
1 year ago
staphen
f20c6bf74a
Check missile source type to determine death reason
1 year ago
staphen
6215de6e76
Compute monster toHit on the fly
1 year ago
staphen
e81121a458
Divorce town seed from game seed
1 year ago
staphen
d8811ebc13
Do not apply item validation to Single Player games
1 year ago
staphen
9427513489
Revert changes to price validation logic in cfac786
1 year ago
Gleb Mazovetskiy
36e0abfc35
Fix -Wunused-const-variable in controller_buttons
1 year ago
Gleb Mazovetskiy
836bd4b3e6
Fix -Wnarrowing in DrawInfoBox
1 year ago
Eric Robinson
f1d48d7124
Debug: Insivible ( #7543 )
1 year ago
Eric Robinson
1b522fe260
Fix divide-by-zero crash in `getAnimationProgress()` ( #7532 )
1 year ago
Gleb Mazovetskiy
31c28e719a
Avoid `strnlen`
...
`strnlen` is not available on some platforms, such as macOS 10.4.
1 year ago
Gleb Mazovetskiy
a838078341
macOS 10.4: Guard non-existing APIs
...
Based on @AJenbo's patch.
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
Eric Robinson
228aa7e210
Revise Teleport Target ( #7531 )
...
* Revise teleport target
---------
Co-authored-by: Stephen C. Wills <staphen@gmail.com>
1 year ago
staphen
09ba7532ea
At shutdown, free surfaces and textures allocated for virtual gamepad graphics
1 year ago
Gleb Mazovetskiy
66b0f43731
Add a threshold for skipping the loading screen
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
Gleb Mazovetskiy
f7a93f4cd3
Improve `dev.display.path()`
...
1. Do not draw foliage with the pause trn.
2. Display the number of steps.
3. If the tile is not walkable (allowed for destination tile), display
the number of steps in yellow.
1 year ago
Gleb Mazovetskiy
e692acb049
Pathfinding: Rename functions
...
Rename functions to better reflect what they do.
1 year ago
staphen
bfd289db88
Clear unique item flags in LoadGameLevel()
1 year ago