doomcc/dcc/eureka.py
yrriban 3fc029bf95 Define a load order method and use it in the dsda and eureka flags.
Also coerce the type of the complevel arg to string; subprocess won't
handle that for us.
2025-07-16 02:01:39 -04:00

30 lines
842 B
Python

import dcc.doom_base
import dcc.config
import subprocess
class Eureka(dcc.doom_base.WadMap):
def get_parser(self, prog_name):
parser = super().get_parser(prog_name)
parser.add_argument("--main")
return parser
def take_action(self, parsed_args):
iwad = self.iwad_path
pwadpath = self.pwads.joinpath(parsed_args.wad)
if parsed_args.main is not None:
mw = pwadpath.joinpath(parsed_args.main)
else:
mw = self.load_order()[0]
complevel = self.complevel()
port = "vanilla"
if complevel == "9":
port = "boom"
if complevel == "11" or complevel == "21":
port = "mbf"
subprocess.run(
["eureka"] + ["-iwad", iwad] + ["-w", parsed_args.map]
+ ["-p", port] + [mw]
)