Compare commits

...

2 commits

Author SHA1 Message Date
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
3cea4a3000 Fix text generation when it's not in the config. 2025-07-16 02:01:05 -04:00
3 changed files with 13 additions and 5 deletions

View file

@ -49,6 +49,14 @@ class Wad(dcc.config.Base):
iwad = self.iwads.joinpath(f.read().strip() + ".WAD")
return iwad
def load_order(self):
wads = self._config.get("load_order")
if wads is None:
wads = sorted(self.pwad_path.glob('*.wad', case_sensitive=False))
else:
wads = [self.pwad_path.joinpath(wad) for wad in wads]
return wads
class WadMap(Wad):
def get_parser(self, prog_name):
@ -75,7 +83,7 @@ class WadMap(Wad):
def dsda_preamble(self):
args = ["-iwad", self.iwad_path]
wads = sorted(self.pwad_path.glob('*.wad', case_sensitive=False))
wads = self.load_order()
if len(wads) > 0:
args = args + ["-file"] + wads
@ -83,7 +91,7 @@ class WadMap(Wad):
if len(dehs) > 0:
args = args + ["-deh"] + dehs
args = args + ["-complevel", self.complevel()]
args = args + ["-complevel", str(self.complevel())]
args = args + ["-skill", "4"]
args = args + ["-warp", self.map]
return args

View file

@ -15,7 +15,7 @@ class Eureka(dcc.doom_base.WadMap):
if parsed_args.main is not None:
mw = pwadpath.joinpath(parsed_args.main)
else:
mw = sorted(list(pwadpath.glob('*.wad', case_sensitive=False)))[0]
mw = self.load_order()[0]
complevel = self.complevel()
port = "vanilla"

View file

@ -33,9 +33,9 @@ class Text(dcc.doom_base.WadMap):
def take_action(self, parsed_args):
text = None
map_names = self._config["map_names"]
map_names = self._config.get("map_names")
if map_names is not None:
text = map_names[f"map{parsed_args.map}"]
text = map_names.get(f"map{parsed_args.map}")
if text is None:
text = sys.stdin.read().rstrip()
if not parsed_args.nomap: