Anders Jenbo
d9d72fbbc7
[ios] Enable high resolution support
4 years ago
qndel
82a5b6315c
fix typo 'prefered' ( #3677 )
4 years ago
Anders Jenbo
157570a1f2
Handle screen orientation
4 years ago
obligaron
2e5a488d5f
Add OptionEntry for graphics
4 years ago
obligaron
eb7b9d7054
Introduce ResizeWindow()
4 years ago
obligaron
b5aab383d9
Introduce ReinitializeRenderer() and GetPreferedWindowSize()
4 years ago
obligaron
945ee04f62
Add OptionEntry Language
4 years ago
obligaron
0ac065dbaa
Make LanguageInitialize() reentry capable
4 years ago
Gleb Mazovetskiy
c57644970f
Move `UiFlags` and `UiPanels` into their own files
...
The first breaks circular dependency between `DiabloUI` and `text_render`.
The latter one moves `UiPanels` to a more appropriate place.
4 years ago
Gleb Mazovetskiy
7e1fea6f76
clang-format all files in {Source,test}/
...
Also includes a few manual tweaks to comments and newlines for better results.
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
4 years ago
obligaron
21e04d3352
Add OptionEntry Grab Input
4 years ago
obligaron
af4f732ef1
Add OptionEntry Scaling Quality
4 years ago
staphen
25afdee39b
Replace libsmacker with libsmackerdec
4 years ago
Anders Jenbo
799f1763af
Performce UTF8 aware limited string copies
4 years ago
ephphatha
c206b7cce8
Return Utf8DecodeError when passed an incomplete code point
...
Also ensure that len set in all code paths, otherwise it leads to a call to remove_prefix with garbage.
4 years ago
obligaron
677303cba9
Reduce use of view globals in game menu
4 years ago
Gleb Mazovetskiy
4f64b87330
Fix talk/store text overlap for Chinese and Japanese
...
We ensure that selectable lines are placed at the same vertical
coordinates but space out unselectable text lines at the cost
of reduced heigh of empty space between the store items.
We also have to move the back button in scrollable lists to the
lower right.
This can definitely be improved further but at least it solves
the problem for now.
Refs #3162
4 years ago
Gleb Mazovetskiy
fa90679416
game_assets.* -> assets.*
4 years ago
Gleb Mazovetskiy
720d210d95
utils/mpq* -> mpq/*
4 years ago
Gleb Mazovetskiy
23406b6fc5
Replace mpqapi.h with the MpqWriter class
...
This is a cleanup, heading in the direction of allowing us to reuse
some of the code between reading and writing MPQs.
4 years ago
Gleb Mazovetskiy
c3d2d7e3cb
Move LoggedFStream to its own file
4 years ago
Gleb Mazovetskiy
4ee81f805f
OpenDingux: Minor fixes
4 years ago
Gleb Mazovetskiy
63dd136e6a
Disable RLE compression for PCX surfaces
...
With 1.3.0, we switched from CEL to PCX for fonts.
This resulted in significant performance drops when rendering lots of
text, because SDL RLE implementation is not as optimized as our CEL
implementation.
Disabling RLE significantly reduces the performance drop.
The font surfaces are fairly small, so we do not lose out much on RAM.
The menu surfaces are also PCX, so the RAM usage there is
greater, but the game itself uses a lot more RAM than the menu anyway.
Thanks to @AJenbo for discovering the RLE flag as the root cause
of font rendering performance issues!
4 years ago
Gleb Mazovetskiy
e9a9daa794
DrawString: Stop allocating
...
Switch to a state-machine UTF-8 decoder from the branchless one.
This allows us to avoid copying the string on every `DrawString` call.
4 years ago
Andrew James
796e2813cf
Use scoped enums for DungeonFlags/BFLAG ( #3135 )
4 years ago
Gleb Mazovetskiy
3d308983a8
Migrate to libmpq
...
libmpq is a much simpler alternative to StormLib for reading MPQ archives.
We use our own fork of libmpq: https://github.com/diasurgical/libmpq
Impact:
* DevilutionX is now a lot more portable. Unlike StormLib, libmpq only
needs platform-specific code for Windows.
* Locks around file access **removed** (instead we duplicate the file descriptor for streamed audio only).
* RAM usage is **300 KiB** lower than StormLib.
* Stripped release linux_x86_64 binary is **32 KiB** smaller.
* Amiga build now hangs instead of crashing.
4 years ago
staphen
5e49d08ba5
Close SDL_RWops in LoadPNG()
4 years ago
staphen
b5d96665c9
Enable SDL1 build option for Windows
4 years ago
staphen
7782621ee4
Close SDL_RWops in LoadPNG()
4 years ago
Anders Jenbo
f1efc205ff
Add support for Romanian plural forms
4 years ago
qndel
8b0808bd4a
fix error spam
4 years ago
Gleb Mazovetskiy
a97ffd1640
Load MPQ file overrides without StormLib
...
Also logs the overrides in verbose mode.
4 years ago
Gleb Mazovetskiy
7d91bc461a
Improve asset file opening
...
Avoid wrapping asset files via StormLib, open them directly via SDL
instead.
4 years ago
Anders Jenbo
3b229a8275
Check for translation in the same place as they are loaded from
4 years ago
Gleb Mazovetskiy
3448eab2d3
Translations: Restore support for ".mo" files
...
Note that they now need to go into the "assets/" subdirectory of the
build directory.
4 years ago
Gleb Mazovetskiy
5e675dcd6a
Handle translations like other assets
...
Load translations from the MPQ or the assets directory, same as we do
with other DevilutionX assets.
4 years ago
Gleb Mazovetskiy
8e5b18378c
SDL1: Fix `SDL_RWsize` backport
...
Subtract start position from the end position instead of assuming the
end position is 0.
4 years ago
Anders Jenbo
b2b7f51ce0
Implement SDL_RWsize for SDL1.2
4 years ago
Anders Jenbo
8df5912dc6
Always use SDL wrapper for file access
4 years ago
Anders Jenbo
f77d0b3665
Close translation-file handler
4 years ago
Anders Jenbo
d88a8f401f
Fix parsing of translation file header
4 years ago
Anders Jenbo
dd5ec18ca7
Remove dead code from translation parser
4 years ago
Anders Jenbo
af046864de
Properly handle plural forms for Czech and Polish
4 years ago
ephphatha
a13cb6ec7e
Providing a basic template specialisation approach to using enums as flags only for certain types.
...
Now hopefully works with GCC 6?
4 years ago
Anders Jenbo
50c65abec0
Word wrap text in main menu dialogs
4 years ago
staphen
fd2f0e3f0d
Validate gamepad button count
4 years ago
obligaron
a532d0fc21
Introduce paths::AppPath
5 years ago
Bernd Stellwag
0e8ca7121f
change http links to https where possible
5 years ago
Gleb Mazovetskiy
0c694edaba
WordWrapString: Wrap on punctuation
...
Useful for Chinese and Japanese, which do not have spaces between words,
nor whitespace after punctuation.
5 years ago
Anders Jenbo
4dd8b121ec
Replace TTF with PCX font
5 years ago