Anders Jenbo
908fb47073
Merge limitFPS and vSync options ( #7646 )
1 year ago
Gleb Mazovetskiy
916b67141a
Settings: Use the full height and up to 720 width
...
This makes it easier to navigate sections, such as gameplay and
keymapping.
1 year ago
Gleb Mazovetskiy
bbcda12792
Move QuickMessages to its own library
...
Eliminates an options->diablo dependency.
1 year ago
Gleb Mazovetskiy
651c70f54b
A few more dependency cleanup
...
We still have some issues preventing even data_file_test from depending
on the world:
1. `options` transitively depends on everything because of the change
handlers.
2. `sound` depends on `monster` via `sgbSaveSoundOn` and
`monster` depends on `sound` via `gbSoundOn`.
1 year ago
Gleb Mazovetskiy
736a69ce8d
Lua: Add i18n module
...
Adds bindings for i18n functions.
Does not yet add support for loading mod-specific translations.
1 year ago
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