About This File
Automatically start DemulShooter when launching a game.
When launching a game, this will check for a valid DemulShooter emulator and associated ROM. If found, DemulShooter will be started with the appropriate command line parameters for that emulator/ROM.
This reduces the need for customized Additional Apps, batch files or AutoHotkey scripts to run DemulShooter. (See Notes)
If you don't have a lightgun or have never setup DemulShooter, there's really nothing more to see here.
Requirements:
- LaunchBox v13.19 or newer
- DemulShooter installed and setup**
- The plugin file (RunDemulShooter.dll)
- "settings.txt" in the plugin's folder and edited/saved (see below)
**See DemulShooter documentation for setting it up and its supported emulators & ROMs.
https://github.com/argonlefou/DemulShooter/wiki
Installing and Using:
-
Extract the contents of the zip file to the /Plugins/ folder
- e.g. D:\LaunchBox\Plugins\RunDemulShooter\RunDemulShooter.dll
-
In that plugins folder, create a new "settings.txt" file.
-
In the file, add "demulshooter = full/path/to/DemulShooterFolder" (without quotes)
- e.g. demulshooter = E:\My LightGun Files\DemulShooter
- The path can be a relative path to LaunchBox.
-
In the file, add "demulshooter = full/path/to/DemulShooterFolder" (without quotes)
- Start LaunchBox
- (optional: Start QMamehook or MAME Hooker or your alternative Hook flavor of choice)
- Launch a valid DemulShooter emulator/game.
How it works - What it does
When a game is launched, the plugin will...
- Check the game's emulator against a list of supported emulators
- Check the game's ROM file against a list of supported games for that emulator
- Check if DemulShooter.exe (or DemulShooterX64.exe) is inadvertently already running and then kill the process
- Start DemulShooter.exe (or DemulShooterX64.exe) with the corresponding parameters
- If the game's emulator is TeknoParrotUI, -noinput will be added to the parameters
- System 357 games will also have -pname=rpcs3.exe added to the parameters
Examples:
Game: Silent Hill: The Arcade
ROM file: SilentHill.xml
Emulator: TeknoParrot
Launches: DemulShooter.exe -target=ttx -rom=sha -noinput
Game: Ninja Assault (US)
ROM file: ninjasltu.zip
Emulator: Flycast
Launches: DemulShooterX64.exe -target=flycast -rom=ninjasltu
Game: Manic Panic Ghosts
ROM file: manicpnc.zip
Emulator: Demul
Launches: DemulShooter.exe -target=demul07a -rom=manicpnc
Game: Razing Storm
ROM file: RazingStorm.xml
Emulator: TeknoParrot
Launches: DemulShooterX64.exe -target=rpcs3 -rom=razstorm -pname=rpcs3.exe -noinput
Support emulators:
- Demul (Demul 07a or newer)
-
Model2 Emulator
- emulator.exe
- emulator_multicpu.exe
- Flycast
- TeknoParrot
Notes:
-
TeknoParrot games must use TP as the emulator (TeknoParrotUI.exe) and the ROM must point to the game's xml file.
- The xml file must be named for the games ROM (as TP names them).
- e.g. for Luigi's Mansion Arcade, "LuigisMansion.xml"
- Games that are standalone executables are not recognized by this plugin.
- When launching a game, a check is done to see if DemulShoorter is already running (e.g. if it didn't shut itself down from a previous launch). If it is, it will kill the existing process. This avoids the "Dude! You can't start DemulShoorter because it's already running".
Big special thanks to @magicray1028!! Without Ray's support, guidance and testing, I most likely would have never created this.
As always, all thoughts, views, suggestions, comments are welcome.