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
SDL_mixer can only stream a single music track
SDL_audiolib has unlimited streams.
With this change, we finally have streaming sounds (respecting
sfx_STREAM).
Audio options can now also be set via diablo.ini, which should help us
better diagnose the static noise issues.
Unfortunately, OD Beta has a major regression with SDL joystick support,
as it always reports buttons as keyboard keys instead of actual buttons.
This partially breaks external keyboard support, where e.g. space no
longer acts as expected.
However, on balance, OD Beta is better than the 2014 firmware at this
point.
I've recently done some massive updates to the buildroot, necessitating
some minor changes to the defconfig here.
Good news: The buildroot use GCC 5.4 and newer binutils, so it now
builds with LTO.
1. Now that all the buildroots we need are open-source,
use defconfigs that ship with them instead of rolling our own.
2. New script: Packagaging/OpenDingux/build-all.sh
3. To avoid polluting top-level home directory, buildroot location
changed to `~/devilutionx-buildroot/$BUILDROOT_TARGET`.
4. Move OPK packaging script to its own file. This is to be able
to make a package for devilutionX in the buildroot itself.
I've recently done some massive updates to the buildroot, necessitating
some minor changes to the defconfig here.
Good news: The buildroot use GCC 5.4 and newer binutils, so it now
builds with LTO.
Start and Select are swapped in this version because Start + D-Pad controls backlight on the GKD350h.
There is nothing to map mouse emulation to in this version because of this but it isn't necessary to play the game.
This version looks uglier than on RG350 because it uses software scaling beacuse the IPU on the GKD350h doesn't work.
1. Makes START a modifier key.
2. Main modifier actions are now displayed as hints while the modifier is pressed.
3. Mouse simulation now available on all controllers:
SELECT + D-Pad to move mouse
SELECT + Left/Right should button to click
START + | Action
---------- | ------
SELECT | Menu
UP | Menu
DOWN | Map
LEFT | Character info
RIGHT | Inventory
B (Bottom) | Spell book
Y (Left) | Quest log
This makes all actions available on controllers without sticks and ZL/ZR.
1. Use RetroFW buildroot directly as it is now open-source.
2. Build in separate build directories.
This lets us build them in parallel and preserves cmake cache across build.
Previously, there was an issue with the RG350 buildroot that necessitated building the entire thing.
That issue has been fixed and we can now build only the minimal set of dependencies (same as we do for RetroFW).