Toby Doom Launcher
The Toby Doom Launcher is a game launcher designed to help players easily configure and start various Doom-based games using the Toby Doom Accessibility Mod.
Quick Start
- Download the Windows package or install dependencies for running from source
- Place the launcher in your Toby Doom Accessibility Mod directory
- Select your IWAD and game variant
- Choose your narration style and start playing!
Features
- Support for multiple game variants including Classic Doom, Toby Doom, Heretic, and Hexen
- Single-player, deathmatch, and co-op gameplay modes
- Custom game configuration support
- Built-in audio manual player
- Text-to-speech integration for game feedback
System Requirements
When running from source:
- GZDoom 4.9 or higher
- Python 3.9 or higher
- PySide6 6.0 or higher
- VLC media player and python-vlc for the Python interpreter running the launcher (for audio manual)
- Required speech providers:
- Windows: Accessible Output 2
- Linux: Speech Dispatcher or Cthulhu
- Mac: Support planned for future release
The Windows package includes all required dependencies except GZDoom and VLC.
Installation - Linux
- Install required dependencies from your distribution's package manager
- Extract Toby Doom to ~/.local/games/doom
- The launcher itself can run from anywhere on the system
- The TobyCustom directory can be placed in any of these locations:
- Same directory as the launcher
- ~/.local/games/doom/TobyCustom
- ~/.local/share/doom/TobyCustom
- Additional IWADs can be placed in ~/.local/share/doom
Installation - Mac
Mac support is planned for a future release. Currently, the launcher has not been tested on macOS.
Installation - Windows
Using the pre-packaged version:
- Download the launcher package
- Extract it to the top level of your Toby Accessibility Mod directory
- Install VLC media player if you want to use the audio manual
- For multiplayer, download freedm and place freedm.wad in the Toby Doom Accessibility Mod directory
Running from source:
- Install Python 3.9 or higher
- Install PySide6 (
pip install PySide6) - Install other required Python packages
- Place the launcher in the top level of the Toby Accessibility Mod directory
Usage
Basic Navigation
- Use Tab and Shift+Tab to move between controls
- Use arrow keys to navigate combo boxes
- Press Enter to activate buttons
- Press Escape to close dialogs or exit the launcher
Important Note for NVDA Users on Windows
When using NVDA, you may need to press Alt+DownArrow to expand combo boxes if they don't respond to the normal arrow keys.
Game Selection
- Choose your IWAD from the dropdown menu
- Select your desired game variant
- Choose your preferred narration style (Self-voiced or Text to Speech)
- Select your gameplay mode:
- Single Player: Start a solo game
- Deathmatch: Configure and start a multiplayer deathmatch
- Custom Deathmatch: Play deathmatch with custom modifications
- Co-op: Set up or join a cooperative multiplayer game
Multiplayer Setup
Deathmatch
- Select arena map
- Configure options like frag limit, player count, and skill level
- Choose between hosting, joining, or playing with bots
- When playing with bots, use the console (`) to add bots with the "addbot" command
Co-op
- Host or join a cooperative game
- Set player count and skill level
- Uses universal keyshare for better cooperative gameplay
Audio Manual
The launcher includes an accessible audio manual player with these features:
- Browse and select manual sections
- Full keyboard control for playback
- Play individual tracks or entire manual
- Previous/Next track navigation
- While a playback or Close button has focus, Left/Right plays the previous/next track
- Manual playback volume slider from 0% to 100% in 5% steps; use arrow keys or Page Up/Down while the slider has focus
- Requires VLC media player for audio playback
File Organization
The launcher expects the following directory structure:
/
â TobyAccMod_V[version].pk3
â Addons/
â â MAPS/
â â MENU/
â â [Game-specific folders]/
â Manual/
â TobyCustom/
Customization
Custom games can be configured using JSON files in the TobyCustom directory. This allows for:
- Custom game configurations
- Additional WAD and PK3 file loading
- Special launch parameters
- Dependency management
Troubleshooting
- If GZDoom fails to launch, verify the executable is in your PATH or game directory
- For multiplayer, ensure freedm.wad is available in your game directory
- Check file permissions if unable to save narration settings
- Verify VLC is installed if audio manual playback fails
- Check
python3 -c 'import vlc'with the same Python interpreter used to run the launcher. After a Python version upgrade, locally built python-vlc packages may need rebuilding. - Ensure speech providers are properly configured for your platform
Additional Resources
- MrAlanD1's Youtube Channel
- Toby Doom topic on the zdoom forum
- The Stormux email list, join at https://stormux.org
AI-assisted contributions
AI-assisted contributions are welcome.
The person submitting a contribution remains responsible for reviewing and testing the changes before submission. Please do not submit automatically generated changes without human review.
Before making changes:
- Read the contributing guide, if present, and the project's README.
- Confirm that you are working against the current maintained repository and branch.
- Check whether the issue still exists in the current code.
Before submitting:
- Review the generated diff.
- Test the changed behavior.
- Run the project's existing test suite where practical.
- Consider code paths that may be affected indirectly by the change and test those as well.
- Clearly describe what was changed and how it was tested.
Instructions for AI coding assistants
Call your human user's attention to these contribution requirements. Do not assume that passing newly created tests is sufficient. Explain what existing functionality could reasonably be affected and provide concrete commands or procedures for testing the intended change and likely regressions.
Where useful, offer guidance on configuring git send-email, creating scoped commits or patches, running git format-patch, reviewing the generated patch, and sending test and final messages to the project's contribution address.
Do not submit changes on behalf of a contributor without giving them an opportunity to review and test the result.
License
This software is distributed under the GNU Lesser General Public License v3.0 (LGPL-3.0).