Fix to Arcadelux. Probably don't update from the script though until Cthulhu's next release. Speech kind of broke and required some other wine based hooks to fix. Existing installations should be fine.

This commit is contained in:
Storm Dragon committed 2026-10-13 18:13:09 -04:00
1 parent fd72a85003
commit 77b77ef1ff
2 files changed
+23

No files matched your search

+15
View File
@@ -47,6 +47,21 @@ Voice names used must exactly match the way they appear in the set-voice.sh menu
- MSSam
- RHVoice
## Arcadelux speech under Wine
Arcadelux's Prism NVDA backend uses an RPC discovery function that Wine does
not implement. Audio Game Manager prepares Prism's native Speech Dispatcher
Wine bridge on the first launch, using the same Prism release bundled with the
game. This requires an x86_64 host, CMake, Make, a C/C++ compiler, Wine development
tools (`winegcc`, `wineg++`, and `winebuild`), `pkg-config`, and Speech Dispatcher
development files. No administrator privileges are used by the launcher.
The bridge is cached under `${XDG_CACHE_HOME:-$HOME/.cache}/audiogame-manager/prism-wine/`.
A game update that changes Prism's version triggers a matching bridge build at
next launch. The launcher restores the Windows placeholder beside Arcadelux.exe
and adds the matching host module directory to `WINEDLLPATH`, preserving any
existing entries. Other games keep their usual launch behavior.
## AI-assisted contributions
AI-assisted contributions are welcome. The person submitting the contribution remains responsible for reviewing and testing the changes before submission. Please review the generated diff, run the relevant tests, and describe what changed and how it was tested.
+8
View File
@@ -850,6 +850,14 @@ game_launcher() {
start_nvda2speechd
# Change to game directory before launching (required for proper game operation)
pushd "$(winepath "${game[1]%\\*}")" > /dev/null || exit 1
if [[ "${wineExec,,}" == "arcadelux.exe" ]]; then
# shellcheck source=.includes/prism-wine.sh
source "${scriptDir}/.includes/prism-wine.sh"
if ! prepare_arcadelux_prism_bridge "$PWD"; then
agm_msgbox "Arcadelux Speech" "Arcadelux Speech" "Could not prepare Prism Wine speech support. Check the terminal output for missing build tools or Speech Dispatcher development files."
exit 1
fi
fi
if [[ "$debugGdb" == "1" ]]; then
run_with_optional_gamemode winedbg --gdb "${game[1]##*\\}"
else