Commit graph

242 commits

Author SHA1 Message Date
Gleb Mazovetskiy
48ff656dc0 Load monster graphics into a single buffer
Follow-up to a5e1fa5bbe, which loaded
the missiles into a single buffer.
2022-02-17 22:02:41 +00:00
staphen
8d5b709749 Restore default Windows audio driver (WASAPI) 2022-02-03 06:40:59 +01:00
Anders Jenbo
d11eeaa9ec
Log uninplemented plural expressions (#4017) 2022-02-01 08:30:08 +01:00
Gleb Mazovetskiy
a5e1fa5bbe Load missile frames into a single buffer
Previously, the memory for each frame was allocated separately.

Changes it to allocate a single buffer for all the frames.

This has the following advantages:

1. Less bookkeeping overhead in the allocator.
2. Less alignment overhead (allocator results are max-aligned by default).

We can follow this up with a similar treatment for other multi-file
animations.
2022-02-01 04:04:59 +00:00
Felipe Wannmacher
8efbcf2058
Xbox One/Series support (#3946) 2022-01-17 12:37:29 +01:00
ephphatha
6a1091ce09 Rename Korean/Romanian translation files so they are used in fallback resolution 2022-01-04 23:20:53 +01:00
Anders Jenbo
0c109cbfb1 [touch] Update interface scaling when switching fullscreen mode 2022-01-02 11:37:38 +01:00
Anders Jenbo
6b2481a76c Touch support on all SDL2 platforms 2022-01-02 11:37:38 +01:00
Andrew James
e1d01aad7c
Replace en_US code with en when searching for user preferred languages (#3859) 2021-12-30 04:12:17 +01:00
Anders Jenbo
68e5805f1b [touch] Adjust controller position after changing resolution
Fixes #3791
2021-12-21 12:55:30 +01:00
Anders Jenbo
cf9b5ae79d Split up graphics settings initializers 2021-12-21 12:55:30 +01:00
Anders Jenbo
0e2aac8cfe Allow for software based rendering 2021-12-21 12:55:30 +01:00
Anders Jenbo
24a15d90e2 Do not recreate the render when switching scalingn quality 2021-12-21 12:55:30 +01:00
staphen
b6a4f126d7 Modify the Windows implementation of printInConsole() to call OutputDebugString() 2021-12-20 05:43:14 +01:00
Gleb Mazovetskiy
a496b9d72b Emscripten: Fix assets/ loading 2021-12-20 04:07:34 +00:00
Anders Jenbo
7d239d9f89 Scale resolution to true values 2021-12-18 20:55:14 +01:00
ephphatha
530604c529 Prefer DX11 renderer if running on windows with vsync active
This works around a bug in DX9 on Win11.
2021-12-17 14:10:55 +01:00
Gleb Mazovetskiy
076b0c0c05 Overhaul tests
1. Adds a `libdevilution_so` target when tests are enabled.
2. Each test file is now a separate binary target linked against `libdevilutionx_so` (can now run tests in parallel).
3. Tests are now defined in a separate `test/CMakeLists.txt` file.
4. Building the tests is now controlled by the standard `BUILD_TESTING` option (defined by CTest).
5. Tests are now built by default.
6. On CI, test errors are now reported.

Also:

* `.clang-format`: Enable SortIncludes in tests
* `path_test.cpp`: Fix -Wsign-compare
2021-12-16 20:26:51 +00:00
Gleb Mazovetskiy
f5d8f513cb AssetsPath: Default to exe dir
Also adds `SetAssetsPath`, for use by tests.
2021-12-16 21:26:11 +01:00
Gleb Mazovetskiy
02902e5188 language.cpp: Fix -Wwrite-strings 2021-12-16 19:32:27 +00:00
Gleb Mazovetskiy
d3a523fa0b paths.cpp: Remove AppPath
It was redundant.
2021-12-16 19:19:04 +00:00
ephphatha
a1652bd5d6 Interleave non-regional fallback locales after last regional variation 2021-12-14 07:07:38 +01:00
ephphatha
c0ec4a845a Restore fallback for non-regional translation
Also adds an explicit check for en given this the base translation for the application and will never have a .mo/.gmo file.
2021-12-14 07:07:38 +01:00
obligaron
8a4d4b6375 Add OptionEntries for Audio 2021-12-14 04:10:16 +01:00
staphen
3a802ae270 Apply clang-format to display.cpp 2021-12-09 13:02:05 -05:00
Anders Jenbo
94fa772ce6
Fix SDL < 2.0.10 builds 2021-12-09 17:42:48 +01:00
Anders Jenbo
901d9aa435 Fix SDL < 2.0.6 builds 2021-12-09 16:50:47 +01:00
JoBergeron
6af1be7b13
[ios] Fixed bluetooth mouse support 2021-12-09 16:42:47 +01:00
Gleb Mazovetskiy
a4bc8fea7d Fix warnings: -Wsign-compare, -Wnarrowing 2021-12-08 23:03:20 +00:00
obligaron
5e2ad66e64 Add OptionEntry Resolution 2021-12-08 00:37:06 +01:00
staphen
f897f5fd92 Resize PalSurface when resizing the game window 2021-12-07 10:11:15 +00:00
Vladimir Olteanu
819271489d SDL1: Don't destroy surface in SDL_DestroyWindow 2021-12-06 22:11:15 +01:00
JBerg
f31258400a [ios] Expose app's data 2021-12-06 22:01:02 +01:00
Anders Jenbo
d9d72fbbc7 [ios] Enable high resolution support 2021-12-06 22:01:02 +01:00
qndel
82a5b6315c
fix typo 'prefered' (#3677) 2021-12-05 15:17:41 +01:00
Anders Jenbo
157570a1f2 Handle screen orientation 2021-12-05 15:09:30 +01:00
obligaron
2e5a488d5f Add OptionEntry for graphics 2021-12-05 02:00:27 +01:00
obligaron
eb7b9d7054 Introduce ResizeWindow() 2021-12-05 02:00:27 +01:00
obligaron
b5aab383d9 Introduce ReinitializeRenderer() and GetPreferedWindowSize() 2021-12-05 02:00:27 +01:00
obligaron
945ee04f62 Add OptionEntry Language 2021-11-28 19:08:10 +01:00
obligaron
0ac065dbaa Make LanguageInitialize() reentry capable 2021-11-28 19:08:10 +01:00
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.
2021-11-25 12:22:27 +01:00
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>
2021-11-24 23:44:12 +01:00
obligaron
21e04d3352 Add OptionEntry Grab Input 2021-11-24 09:31:39 +01:00
obligaron
af4f732ef1 Add OptionEntry Scaling Quality 2021-11-24 09:31:39 +01:00
staphen
25afdee39b Replace libsmacker with libsmackerdec 2021-11-23 21:04:10 +01:00
Anders Jenbo
799f1763af Performce UTF8 aware limited string copies 2021-11-22 03:28:51 +01:00
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.
2021-11-21 12:33:57 +00:00
obligaron
677303cba9
Reduce use of view globals in game menu 2021-11-20 21:57:32 +01:00
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
2021-11-20 02:31:21 +00:00