A cross-platform, classic style DOOM launcher for Master Levels for DOOM II. :feelsgood:
This proyect runs using the Textual
Python library to run. It should work with the compiled release, but due to python being an interpreted language it should by using the source and the python IDLE.
- Any compatible Doom launcher. DSDA-Doom is highly recommended but you can use any of them as long as it's compatible.
- Have a copy of Master Levels for DOOMII. You can purchase it through Steam or GOG
- Optional: iTerm2 for MacOS or Windows Terminal. Default Windows Powershell or cmd.exe surprisingly looks very cool, but if you want a cleaner experience I recommend installing this.
This program is made to work and launch with the Steam release using DSDA-Doom, but it includes a config file. See Configuration for more info.
-
Get the latest MLauncher release from the releases tab at your right. Download the one that suits you well.
-
Go to the main game directory for "Master Levels for Doom 2". Guide on how to look it.
-
Extract both files (
_internal
andMLauncher.exe
) inside the main game directory. -
Rename
doxbox.exe
todosbox.exe.old
. RenameMlauncher.exe
todosbox.exe
. This will trick steam on loading this program instead of dosbox. Keep the old dosbox as backup. -
Go to dsda-doom repository and download or compile your binaries. Read their README.md file to find out useful info.
-
Extract the dsda-doom zip inside
Master Levels of Doom\dsda-doom\
directory. Please extract it inside a directory!. The source port executable should be at.\dsda-doom\dsda-doom.exe
You are good to go! If you have any problems, check the configuration file inside config.ini
created inside the game folder. I've ended up with this tree inside the main game folder:
Master Levels of Doom
│ AUTHORS.txt
│ config.ini
│ COPYING.txt
│ dosbox-0.71.tar.gz
│ dosbox.conf
│ dosbox.exe
│ dosbox.exe.old
│ INSTALL.txt
│ master.bat
│ master.conf
│ NEWS.txt
│ README.txt
│ SDL.dll
│ SDL_net.dll
│ testapp.bat
│ THANKS.txt
│ uninstall.exe
├───capture
├───doom2
├───dsda-doom
├───master
├───zmbv
│ README.txt
│ zmbv.dll
│ zmbv.inf
└───_internal
Inside config.ini
file the info is organized inside keys. GUI settings are planned but not avaliable yet, please wait!.
sourceport
= Relative path to your favorite source port. By default is set to.\dsda-doom\dsda-doom.exe
.iwad
= Relative path of DOOM2 iwad. Default is:./doom2/DOOM2.WAD
ml_path
= Relative path of all the wads. Default is./master/wads
You can easily add any other map you want or even add the rejected levels to the list by editing the _internal/src/ml_info.json
file and add your levels there:
{
"WAD": "WADNAME.WAD",
"Name": "Title of the wad fil",
"Author": "It is obvious",
"PC": 1,
"PSX": null,
"Xbox": 14,
"PSN": 21
}
PC is the map slot where the map is located. Fill this if you want the auto-warp button to work properly. PSX and xbox are irrelevant. PSN is used to order all the levels in other order than A-Z. Use this to custom order your wads. TEETH.WAD uses the last slot, 21.
Building is a mess right now because of some differences between OS and Textual not been detected by default on my system. A work is on the way to fix this.
- Clone this repository and open a terminal inside the folder. Creating a virtual environment is very recommended if you don't want to install extra apps on your system.
- Install
python 3.11
andpyinstaller
using your package manager or other ways. Make sure it's on the terminal PATH. - Run
pip3 install -r requirements.txt
- Run
python3.11 src/main.py
and make sure if it works correctly. - If you want to freeze the proyect, run
pyinstaller build.sh
. or usebuild.bat
instead on Windows.