Last active
August 23, 2024 18:23
-
-
Save Siphonay/f6441aae0b6dc7d554b0643e846db73a to your computer and use it in GitHub Desktop.
BAT DOOM launcher for Windows that can load various IWADs and source ports, with enhancements like Smooth DOOM, Voxel DOOM II, set the language to French, and save pre-configure batch files for quick further access to setup. Feel free to adapt the hardcoded values to your own setup. Also includes a standalone loader for loopMIDI with SC-55 emula…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:: DOOM_LAUNCHER.BAT by Siph is marked with CC0 1.0. To view a copy of this license, visit https://creativecommons.org/publicdomain/zero/1.0/ | |
@ECHO OFF | |
:loopmidi | |
CLS | |
CHOICE /C:YN /N /M "Launch loopMIDI and Nuked-SC55? (Y/N)" | |
IF %ERRORLEVEL% EQU 1 ( | |
START /B "" "C:\Program Files (x86)\Tobias Erichsen\loopMIDI\loopMIDI.exe" | |
timeout /t 1 /nobreak > NUL | |
START "" "F:\User\Logiciels\nuked-sc55\nuked-sc55.exe" | |
) | |
:sourceport | |
CLS | |
SET CAN_VOXEL=0 | |
ECHO Choose your source port | |
ECHO 1. Chocolate Doom [Vanilla] | |
ECHO 2. Crispy Doom [Limit-removing] | |
ECHO 3. Woof! [Previous + Boom + MBF21] | |
ECHO 4. GZDoom [Previous + UDMF + ZDoom] | |
ECHO B. Go back | |
CHOICE /C:1234B /N | |
IF %ERRORLEVEL% EQU 1 ( | |
SET DOOM_EXE=F:\User\Jeux\chocolate-doom\chocolate-doom.exe | |
SET SP_PWAD_ARG=merge | |
) ELSE IF %ERRORLEVEL% EQU 2 ( | |
SET DOOM_EXE=F:\User\Jeux\crispy-doom\crispy-doom.exe | |
SET SP_PWAD_ARG=merge | |
) ELSE IF %ERRORLEVEL% EQU 3 ( | |
SET DOOM_EXE=F:\User\Jeux\Woof\woof.exe | |
SET CAN_VOXEL=1 | |
SET SP_PWAD_ARG=file | |
) ELSE IF %ERRORLEVEL% EQU 4 ( | |
SET DOOM_EXE=F:\User\Jeux\gzdoom\gzdoom.exe | |
SET CAN_VOXEL=1 | |
SET SP_PWAD_ARG=file | |
) ELSE IF %ERRORLEVEL% EQU 5 GOTO :loopmidi | |
:iwad | |
CLS | |
SET IWAD_DEH= | |
SET IWAD_PWAD= | |
SET CAN_SMOOTH=0 | |
ECHO Selected source port: %DOOM_EXE% | |
ECHO. | |
ECHO Choose your IWAD | |
ECHO 1. DOOM | |
ECHO 2. The Ultimate DOOM | |
ECHO 3. DOOM II | |
ECHO 4. TNT: Evilution | |
ECHO 5. The Plutonia Experiment | |
ECHO 6. Chex Quest | |
ECHO 7. Chex Quest 3: Vanilla Edition | |
ECHO 8. Freedoom: Phase 1 | |
ECHO 9. Freedoom: Phase 2 | |
ECHO. | |
ECHO B. Go back | |
CHOICE /C:123456789B /N | |
IF %ERRORLEVEL% EQU 1 ( | |
SET CAN_SMOOTH=1 | |
SET IWAD=DOOM.WAD | |
) ELSE IF %ERRORLEVEL% EQU 2 ( | |
SET CAN_SMOOTH=1 | |
SET IWAD=DOOMU.wad | |
) ELSE IF %ERRORLEVEL% EQU 3 ( | |
SET CAN_SMOOTH=1 | |
SET IWAD=DOOM2.wad | |
) ELSE IF %ERRORLEVEL% EQU 4 ( | |
SET CAN_SMOOTH=1 | |
SET IWAD=TNT.WAD | |
) ELSE IF %ERRORLEVEL% EQU 5 ( | |
SET CAN_SMOOTH=1 | |
SET IWAD=PLUTONIA.WAD | |
) ELSE IF %ERRORLEVEL% EQU 6 ( | |
SET IWAD=CHEX.wad | |
SET IWAD_DEH=CHEX.deh | |
) ELSE IF %ERRORLEVEL% EQU 7 ( | |
SET IWAD=CHEX3V.wad | |
SET IWAD_PWAD=CHEX3V_wide.wad | |
) ELSE IF %ERRORLEVEL% EQU 8 ( | |
SET IWAD=freedoom-0.13.0\freedoom1.wad | |
) ELSE IF %ERRORLEVEL% EQU 9 ( | |
SET IWAD=freedoom-0.13.0\freedoom2.wad | |
) ELSE IF %ERRORLEVEL% EQU 10 GOTO sourceport | |
:enhancements | |
CLS | |
SET WADS_DIR="F:\User\Jeux\WADs" | |
IF NOT DEFINED VOXEL SET VOXEL=0 | |
IF NOT DEFINED SMOOTH SET SMOOTH=0 | |
IF NOT DEFINED FRENCH SET FRENCH=0 | |
ECHO Selected source port: %DOOM_EXE% | |
ECHO Selected IWAD: %IWAD% | |
ECHO. | |
IF %CAN_VOXEL% EQU 1 ( | |
IF %VOXEL% EQU 0 ECHO V. Enable Voxel DOOM II [Don't enable if custom enemies or modified enemy sprites] | |
IF %VOXEL% EQU 1 ECHO V. Disable Voxel DOOM II [Don't enable if custom enemies or modified enemy sprites] | |
) | |
IF %CAN_SMOOTH% EQU 1 ( | |
IF %SMOOTH% EQU 0 ECHO S. Enable Smooth DOOM [Don't enable if custom weapons or modified weapon sprites] | |
IF %SMOOTH% EQU 1 ECHO S. Disable Smooth DOOM [Don't enable if custom weapons or modified weapon sprites] | |
) | |
IF %FRENCH% EQU 0 ECHO F. Enable French DOOM [Don't enable if custom HUD, menu graphics or messages] | |
IF %FRENCH% EQU 1 ECHO F. Disable French DOOM [Don't enable if custom HUD, menu graphics or messages] | |
ECHO. | |
ECHO D. Add one or several DEHs | |
IF DEFINED USER_DEH ( | |
ECHO Currently loaded DEHs: %USER_DEH% | |
) | |
ECHO P. Add one or several PWADs | |
IF DEFINED USER_PWAD ( | |
ECHO Currently loaded PWADs: %USER_PWAD% | |
) | |
ECHO. | |
ECHO B. Go back | |
ECHO L. Launch the game | |
CHOICE /C:VSFDPBL /N | |
IF %ERRORLEVEL% EQU 1 ( | |
IF %CAN_VOXEL% EQU 1 ( | |
IF %VOXEL% EQU 0 ( | |
SET VOXEL=1 | |
) ELSE ( | |
SET VOXEL=0 | |
) | |
) | |
GOTO enhancements | |
) ELSE IF %ERRORLEVEL% EQU 2 ( | |
IF %CAN_SMOOTH% EQU 1 ( | |
IF %SMOOTH% EQU 0 ( | |
SET SMOOTH=1 | |
) ELSE ( | |
SET SMOOTH=0 | |
) | |
) | |
GOTO enhancements | |
) ELSE IF %ERRORLEVEL% EQU 3 ( | |
IF %FRENCH% EQU 0 ( | |
SET FRENCH=1 | |
) ELSE ( | |
SET FRENCH=0 | |
) | |
GOTO enhancements | |
) ELSE IF %ERRORLEVEL% EQU 4 ( | |
SET /P "USER_DEH=DEHs located in %WADS_DIR% separated by spaces: " | |
GOTO enhancements | |
) ELSE IF %ERRORLEVEL% EQU 5 ( | |
SET /P "USER_PWAD=PWADs located in %WADS_DIR% separated by spaces: " | |
GOTO enhancements | |
) ELSE IF %ERRORLEVEL% EQU 6 GOTO iwad | |
SET DOOM_CMD="%DOOM_EXE%" -iwad %IWAD% | |
IF %SMOOTH% EQU 1 ( | |
IF NOT DEFINED DEH ( | |
SET DEH=vsmooth.deh | |
) ELSE ( | |
SET DEH=vsmooth.deh %DEH% | |
) | |
IF NOT DEFINED PWAD ( | |
SET PWAD=vsmooth.wad | |
) ELSE ( | |
SET PWAD=vsmooth.wad %PWAD% | |
) | |
) | |
IF %VOXEL% EQU 1 ( | |
IF NOT DEFINED PWAD ( | |
SET PWAD=VoxelDoom_v2.4.pk3 | |
) ELSE ( | |
SET PWAD=VoxelDoom_v2.4.pk3 %PWAD% | |
) | |
) | |
IF %FRENCH% EQU 1 ( | |
IF NOT DEFINED DEH ( | |
SET DEH=french.deh | |
) ELSE ( | |
SET DEH=french.deh %DEH% | |
) | |
IF NOT DEFINED PWAD ( | |
SET PWAD=doom2f.wad | |
) ELSE ( | |
SET PWAD=doom2f.wad %PWAD% | |
) | |
) | |
CLS | |
IF DEFINED IWAD_DEH SET DEH=%IWAD_DEH% %DEH% | |
IF DEFINED IWAD_PWAD SET PWAD=%IWAD_PWAD% %PWAD% | |
IF DEFINED USER_DEH SET DEH=%DEH% %USER_DEH% | |
IF DEFINED USER_PWAD SET PWAD=%PWAD% %USER_PWAD% | |
IF DEFINED DEH SET DOOM_CMD=%DOOM_CMD% -deh %DEH% | |
IF DEFINED PWAD SET DOOM_CMD=%DOOM_CMD% -%SP_PWAD_ARG% %PWAD% | |
ECHO Ready to launch with the following command: | |
ECHO %DOOM_CMD% | |
CHOICE /C:YN /N /M "Proceed with launch? (Y/N)" | |
IF %ERRORLEVEL% EQU 2 ( | |
SET DOOM_CMD= | |
SET DEH= | |
SET PWAD= | |
GOTO enhancements | |
) | |
SET SCRIPT_DIR=%CD% | |
CD %WADS_DIR% | |
%DOOM_CMD% | |
CLS | |
CD %SCRIPT_DIR% | |
ECHO. | |
ECHO Hope you had a good time! | |
CHOICE /C:YN /N /M "Do you want to save that launch command in a .BAT file? (Y/N)" | |
IF %ERRORLEVEL% EQU 2 GOTO exit | |
ECHO File name (.bat extension will be appended, existing files will be overwritten): | |
SET /P "USER_FILENAME=" | |
SET BAT_FILENAME=%USER_FILENAME%.bat | |
ECHO @ECHO OFF > %BAT_FILENAME% | |
ECHO CD %WADS_DIR% >> %BAT_FILENAME% | |
ECHO %DOOM_CMD% >> %BAT_FILENAME% | |
ECHO EXIT /B >> %BAT_FILENAME% | |
:exit | |
EXIT /B |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ECHO OFF | |
START /B "" "C:\Program Files (x86)\Tobias Erichsen\loopMIDI\loopMIDI.exe" | |
timeout /t 1 /nobreak > NUL | |
START "" "F:\User\Logiciels\nuked-sc55\nuked-sc55.exe" | |
EXIT /B |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment