Add an demo attempt selector to run-it-back mode.

Also fix a type conversion issue for when secs_before is set to a
nondefault value.
This commit is contained in:
yrriban 2025-08-09 11:23:59 -04:00
parent e4c5c8b475
commit 92e830b664

View file

@ -9,6 +9,7 @@ class RIB(dcc.doom_base.WadMap):
def get_parser(self, prog_name):
parser = super().get_parser(prog_name)
parser.add_argument("-s", "--secs_before", default=10)
parser.add_argument("-a", "--attempt")
return parser
# TODO: the root path should probably be configurable.
@ -25,7 +26,11 @@ class RIB(dcc.doom_base.WadMap):
demodir = demodir.joinpath(w.stem.lower())
demodir = demodir / "failed_demos"
for f in demodir.glob(f"*map{self.map}*", case_sensitive=False):
glob = f"*map{self.map}*"
if parsed_args.attempt is not None:
glob += f"{parsed_args.attempt}*"
for f in demodir.glob(glob, case_sensitive=False):
st = os.stat(f)
if st.st_mtime > dt:
demo = f
@ -40,5 +45,5 @@ class RIB(dcc.doom_base.WadMap):
subprocess.run(
[self.dsda] + self.dsda_preamble(warp=False)
+ ["-playdemo", demo]
+ ["-skiptic", str(-35 * parsed_args.secs_before)]
+ ["-skiptic", str(-35 * int(parsed_args.secs_before))]
)