audiogame-manager

Installer and launcher for Windows based audio games under wine for Linux.

Usage

./audiogame-manager.sh -c

Check your system for components needed by the audiogame manager program.

./audiogame-manager.sh -h

Get usage instructions.

./audiogame-manager.sh -i

Select from a list of games to install.

With no arguments, the list of installed games will be displayed. In all the menus, both installer and launcher, use the up and down arrow keys to find the game you want. Press enter on the game to perform the action. For more detailed help, try the -h flag.

Use ./audiogame-manager.sh -s to open the launcher without automatically replacing NVDA controller DLLs with the nvda2speechd versions. This also works with launch options, for example ./audiogame-manager.sh -s -l bottle-name. Uppercase -S remains the speech-rate option.

To skip replacement on every launch, add skipDllReplace="true" to ${XDG_CONFIG_HOME:-$HOME/.config}/storm-games/audiogame-manager/settings.conf. Replacement is also skipped when wine-access.exe is running under the current user, regardless of which screen reader started it. Wine Access starts on demand, so use the flag or setting when it has not started yet. These controls leave already-replaced DLLs as they are and apply to launch-time changes; individual game installers and update scripts still install their speech support, including Tolk DLLs, as before.

Language and Keyboard

if you are using a language on your system other than English, you may need to temperarily change the keyboard layout while playing some games. To find out which keyboard layout you are currently using, run the following command:

setxkbmap -print -verbose 10 | grep -m1 'layout:'

If the layout is not us, and if you are having some problems with keys not working, before you launch the game, run the following command to switch keyboard layout:

setxkbmap us

When you are done with the game, switch back to your original layout so things will work as expected. The following example will switch your keyboard back to the Czech layout.

setxkbmap cz

Default Voice

Check help for flags and configuration file options.

./audiogame-manager.sh -h

Voice names used must exactly match the way they appear in the set-voice.sh menu. Here are a few examples.

  • MSMike
  • 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.

Tekken 3

Choose Tekken 3 from ./audiogame-manager.sh -i. This is a Windows game running under Wine and belongs in audiogame-manager. It uses the normal shared ~/.local/wine64 bottle, not a separate emulator or native Linux game.

You must supply your own Tekken 3 (USA), three-track BIN/CUE disc dump. The installer displays an alert with the location and expected filenames. Place these four files together in ${XDG_DATA_HOME:-$HOME/.local/share}/audiogame-manager/tekken-3-disc/:

  • Tekken 3 (USA).cue
  • Tekken 3 (USA) (Track 1).bin
  • Tekken 3 (USA) (Track 2).bin
  • Tekken 3 (USA) (Track 3).bin

The CUE must refer to those names. Other regions, ISO, CHD, and combined BIN layouts are not supported. Missing files, unexpected track sizes, and a disc executable that differs from the tested USA release stop installation before downloads. The disc files are read without modification, outside AGM's download cache. After installation, the extracted game data is sufficient for play.

The installer downloads the tested PC-port commit b6e941378ad03dbd834fef340bd8d90bae6e430b and the latest stable Access release from GitHub. It verifies the mod archive against GitHub's published SHA-256 checksum, checks the supported mod layout and Prism DLL, verifies the pinned port executable/extractor, and uses native Linux Python 3 to extract game data. Allow approximately 1 GB for installed files, in addition to your original dump. Python 3 is an additional installer dependency.

Speech uses the same Prism 0.18.3 Speech Dispatcher Wine bridge as Arcadelux, with the build requirements listed above. The bridge is prepared on launch and cached for reuse. No NVDA replacement DLL or Windows Python is needed. The base port stays pinned because the access mod hooks its executable. Mod releases are resolved automatically; a changed Prism DLL or unsupported archive layout stops installation or updating until AGM's integration is updated.

The game installs in ~/.local/wine64/drive_c/Program Files/Tekken 3 Access/. Select Tekken 3 in AGM to launch the access executable. It starts in a window with p1_device = "auto", using the first connected controller. Connect your controller before launching. Options/Start starts the game, the D-pad moves, and Cross confirms menus on a PlayStation controller.

Controller mode disables ordinary game keyboard input, even without a connected controller; the mod's function keys still work. To play with the keyboard, set p1_device = "keyboard" in settings.toml and restart. Keyboard controls are Enter for Start, arrows to move, and Z/A/X/S for Square/Triangle/Cross/Circle. The documentation button opens the bundled manual, including the mod keys.

To update an existing AGM installation, close Tekken 3 and run from this checkout:

bash game-scripts/tekken3-update.sh

This resolves the latest stable Access release on each run, without the original disc dump or another game-data extraction. It checks the installed port executable, preserves settings, controller selection, memory cards, logs and mod preferences, and refreshes the manual. Replaced files are backed up beside the game folder; the completion message gives the version and backup path. GitHub API failures, missing release assets or checksums, and incompatible archives stop the update; there is no fallback to a stale release. Routine mod releases need no version or checksum edits in AGM. A published checksum verifies the download's integrity, but does not establish that a future mod release works correctly under Wine.

In 1.0.1, Shift+F1 raises the distance hum volume and Control+F1 lowers it, with ten steps and zero for off. The chosen level is remembered. Fight sounds go quiet while the pause menu or command list is open and resume with the fight.

In 1.0.2, Shift+F2 raises music volume and Control+F2 lowers it. Level ten is the normal game volume; zero turns music off. The level is remembered and also applies to movie audio. Fighters' voices, hits, menu sounds and mod sounds keep their existing volume.

Before submitting changes, test installation with missing or incorrect disc files and with a valid USA dump. In the installed game, check the loaded announcement, menu and character selection, F1 distance/F2 health, fight sounds, pause/resume, controller input if available, and saving/relaunching. Also check Arcadelux speech if modifying the shared Prism helper. Logs are T3Access/T3Access.log and T3Access/launch.log in the game folder; copy them before another launch overwrites them. After updating, check both hum-volume shortcuts, level zero, and persistence after restarting. Check sound suppression and resumption in a normal fight, Tekken Force and Tekken Ball, including the pause command list. Confirm your controller/keyboard selection and existing memory-card saves still work. Check both music-volume shortcuts, levels zero and ten, and persistence after restarting. Check music in fights and movies, and confirm voices, hits, menu sounds and mod sounds are unaffected.

Run the offline release, installer and updater checks with python3 tests/tekken3_setup_tests.py. These use temporary fixtures and do not access the network, start Wine or change installed games.

City of Division

Choose City of Division from ./audiogame-manager.sh -i. The installer downloads the Windows setup from BlindGames and runs it silently in the shared Wine64 bottle. The game installs to C:\Program Files\City of Division and uses Windows 10 compatibility. AGM adds its launcher only after setup succeeds and cityofdivision.exe exists. The bundled NVDA controller DLLs use AGM's existing launch-time speech handling, including the -s option described above.

On X11, AGM uses xdotool to move the game's hidden 1-by-1 window on-screen once per launch. Without this, the language menu can speak but ignore keys, even after selecting Wine in the window manager. Recovery targets only the new game process, stops after restoring its window, and does not switch workspaces. You can then switch away and back using your normal window list. The window recovery requires xdotool and does not run in the -g debugger mode.

Before submitting, review the diff and test installation and launch using both console and graphical menus. Check keyboard navigation, screen-reader speech, game audio, connecting to the game service, and quitting/relaunching. Confirm an existing game in the shared Wine64 bottle still launches and speaks. A disposable Wine installation verified setup and the executable path; live gameplay and screen-reader behavior still require testing. Run the isolated failure checks with bash tests/city_of_division_tests.sh; these do not start Wine or use the network or installed games. Run bash tests/city_of_division_focus_tests.sh for the isolated window-recovery and launch checks. For live acceptance, close and relaunch City of Division twice, check the language menu and main menu keys, then switch away and back using the window list. Confirm the game accepts keys after returning and does not pull focus back while you use another window.

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.

S
Description
Installer and launcher for Windows based audio games under wine for Linux.
Readme
1.5 MiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 99%
C++ 0.5%
C 0.3%
Makefile 0.2%