Turns out, `add_custom_target`'s `DEPENDS` argument can only
refer to outputs of custom commands in the same directory (i.e. the same
CMakeLists.txt scope).
Interestingly, this worked with all generators except parallel
make, so perhaps there some ongoing work in CMake to allow
cross-directory `DEPENDS`.
Works around this limitation by moving tests to the same scope
(`CMakeLists.txt` file) as assets.
This doesn't implement full sound support but stubs out most of the
sound code under SDL3, so that we can implement it piecemeal.
Implemented here:
1. Sound device initialization.
2. SVid sound playback.
Does not add a dependency on `SDL_mixer`: SDL3 built-ins
are enough to play SVid audio.
* Update from source
* Update ru.po
• Translated new lines
• Some formulations have been changed
• Diablo Strike Team no longer has a "translation"
• Rouge is signed in a female person (Разбойница)
• The translation of the words "spell", "spells" (now it's магия)
has been changed • The word "Level" (Уровень) in the "char" tab has been split (Уро- вень), part of the word has been correctly moved to another line (the word does not fit in one line)
This does not actually add SDL3 support but adds enough
CMake stuff to make the following succeed:
```bash
cmake -S. -Bbuild-sdl3 -DUSE_SDL3=ON -DDEVILUTIONX_SYSTEM_SDL3=OFF -DDEVILUTIONX_STATIC_SDL3=ON -DNOSOUND=ON
```
`NOSOUND` is needed because `SDL_audiolib` does not support SDL3.
Previously, an override font had to contain all the 256 glyphs in the
row that it was overriding. Experiments have shown that this would
cause huge file increase in CJK scripts (+200MiB or so).
Instead, allows the override font to only override some glyphs in a row.
For all glyphs (sprites) that have width 0, we now fall back to
the base font.
When rendering directly to output surface, PalSurface may need to be
updated after a flip. This is not actually needed on DOS but may be
needed on other platforms in the future.
I tried the interrupt handler approach but couldn't get it to work,
so for now we're back to loading and updating the progress bar
synchronously on DOS.