Gleb Mazovetskiy
66b0f43731
Add a threshold for skipping the loading screen
1 year ago
Gleb Mazovetskiy
b8ab6d2faa
Migrate from SimpleIni to our own implementation
...
Our implementation has a more modern interface and only
supports the features that we care about.
It always outputs `\n` as newlines and does not output BOM.
The modern interface eliminates awkward `c_str()/data()` conversions.
This implementation preserves comments and the file order of sections
and keys. New keys are written in insertion order.
We now also support modifying and adding default comments,
which may be a useful thing to do for the especially tricky
ini options (this PR doesn't add any but adds the ability to do so).
Sadly, this increases the RG99 binary size by 24 KiB.
I'm guessing this is because the map implementation generates
quite a bit of code.
Note that while it might seem that using `std::string` for every key and
value would do a lot of allocations, most of these strings are
small and thus benefit from Small String Optimization (= no allocations).
1 year ago
Gleb Mazovetskiy
e9c29fa806
Switch to ankerl::unordered_dense
2 years ago
djvs
a6e2481a3e
Option to not pause the game when the window loses focus ( #7046 )
2 years ago
obligaron
426dd4c4af
Add scroll wheel support to keymapper
2 years ago
Gleb Mazovetskiy
5355146d51
Use structured bindings
3 years ago
Gleb Mazovetskiy
8c1a847f41
Remove utils/stdcompat/string_view.hpp
3 years ago
Gleb Mazovetskiy
14540164a7
Remove utils/stdcompat/optional.hpp
3 years ago
DakkJaniels
ad19caf667
Move hp/mana display and item graphics to gameplay options
3 years ago
DakkJaniels
e485493a3d
Fix print screen for different print screen key bindings ( #6060 )
3 years ago
staphen
8b6b898493
Defer d-pad inputs to movement handlers
3 years ago
staphen
6bcb4d70e4
Use padmapper bindings on spell icons
3 years ago
obligaron
adeeae2c52
Add option to enable singleplayer quests in multiplayer
3 years ago
staphen
b46482f414
Clear padmapper state when changing event handlers
3 years ago
staphen
92361f9f6d
Display resolution height when FitToScreen is on
3 years ago
Gleb Mazovetskiy
1788d2f8ec
Remove miniwin
...
Event handling code moved to `engine/events.{hpp,cpp}`.
3 years ago
Trihedraf
624d5be3d2
make Floating Numbers an enum for random, vertical or off
3 years ago
Bubio
81c7d0618d
Fixed spelling errors ( #5714 )
...
Corrected a spelling error in the "Show Item Graphics in Stores" description
(desription -> description)
3 years ago
Anders Jenbo
c99f7cf644
Floating numbers ( #5639 )
...
Co-authored-by: qndel <stefan551@o2.pl>
Co-authored-by: Stephen C. Wills <staphen@gmail.com>
3 years ago
staphen
d707f07e8f
Make item graphics in stores optional
3 years ago
staphen
f17ea8db98
Implement settings menu for gamepad customization
3 years ago
Gleb Mazovetskiy
a2a8b1c706
Padmapper: Simplify `buttonTo*` data structures
...
Use an `std::array` instead of `std::unordered_map`.
3 years ago
Gleb Mazovetskiy
e7c0d2943f
KeyMapper: Use forward_list instead of vector
...
Similar to how we do this for Padmapper.
3 years ago
staphen
6a565d3755
Further improve simulated mouse interaction
3 years ago
staphen
198dec9412
Iron out interactions between simulated mouse movement and character movement
3 years ago
staphen
d7908d82f4
Always remove release actions from padmapper regardless of whether the action can be invoked
3 years ago
staphen
4579324726
Ensure that padmapper actions are in the correct order after initialization
3 years ago
staphen
c83f7d3958
Avoid copy construction of PadmapperOptions::Action
3 years ago
staphen
e67e4934cc
Add padmapper for gamepad customization
3 years ago
Gleb Mazovetskiy
4cf0053ece
Set underlying type for all the enums
...
Reduces rg99 binary size by 3 KiB.
4 years ago
Yuvraj Tetarwal
59482b5e9f
Auto oil pickup ( #5159 )
...
* Fixed formatting
4 years ago
Gleb Mazovetskiy
5ad03478dc
Missing fonts.mpq: Show an error, fall back to en
...
If the language is set to one of the locales that requires extra fonts
and `fonts.mpq` is missing, show an error dialog and fall back to English.
4 years ago
Gleb Mazovetskiy
a4ac41cece
Replace `DVL_VK` virtual key codes with `SDLK`
4 years ago
Anders Jenbo
3ae834148a
Split event handeling from general miniwin features
4 years ago
Anders Jenbo
2d21fc372e
Remove more miniwin code
4 years ago
Trihedraf
5ee6e5dd3a
Make zoom a setting in the menu ( #4931 )
4 years ago
Gleb Mazovetskiy
254806e027
Optimize translation RAM usage
...
1. Store all key data and all values data as 2 char arrays.
2. Change map keys to char pointers.
3. Change map values to offsets into the values array.
Example savings for Russian: 460 KiB -> 374.2 KiB (-85.8 KiB)
* Map: 68.5 KiB (with `string_view` keys it would be 101.5 KiB)
* Keys array: 108.7 KiB
* Values array: 197.0 KiB
4 years ago
Trihedraf
e002de4d69
show item labels toggle in menu
...
Co-Authored-By: obligaron <25415264+obligaron@users.noreply.github.com>
4 years ago
Anders Jenbo
99181fd709
Move more files to the engine folder
4 years ago
staphen
83168f7954
Add option for selecting audio device
4 years ago
Gleb Mazovetskiy
99d490180c
Settings: Add Resampler
...
Makes the resampler algorithm configurable from the settings menu.
4 years ago
Gleb Mazovetskiy
ade8aba822
Fix some more warnings
4 years ago
Anders Jenbo
0f44da5487
[gamepad] Fix using quick spells with rebound keys
4 years ago
obligaron
b52a50f2e7
Add OptionEntry for alternative nest art and remove command line parameter --nestart
4 years ago
Anders Jenbo
1d04ac574a
Make game screen ZeroTier aware
4 years ago
obligaron
79b926c375
Move more options to OptionEntryBase
4 years ago
qndel
9536927301
Display hp/mana values on life/mana orbs ( #4006 )
4 years ago
ephphatha
000a04ad4d
Cleanups from https://github.com/diasurgical/devilutionX/pull/3980
4 years ago
staphen
df830f6495
Save settings before leaving the settings menu
4 years ago
obligaron
be943df46e
Keymapper: Add key released support
4 years ago