2024-08-31 06:01:55 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import os
|
|
|
|
from os.path import dirname, basename, join, exists
|
|
|
|
import shlex
|
|
|
|
import sys
|
|
|
|
import yaml
|
|
|
|
|
|
|
|
def read_config(path):
|
|
|
|
if path == '':
|
|
|
|
return {}
|
|
|
|
|
|
|
|
# Config deeper in the hierarchy can override config files from
|
|
|
|
# higher up in the hierarchy:
|
|
|
|
result = read_config(dirname(path))
|
|
|
|
config_file = join(path, ".democonfig")
|
|
|
|
if exists(config_file):
|
|
|
|
with open(config_file) as f:
|
|
|
|
result.update(yaml.safe_load(f))
|
|
|
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
lmp_file, out_file = sys.argv[1:]
|
|
|
|
cfg = read_config(lmp_file)
|
|
|
|
|
|
|
|
args = [
|
|
|
|
"chocolate-doom", "-iwad", cfg["iwad"],
|
|
|
|
"-statdump", out_file,
|
|
|
|
"-timedemo", lmp_file,
|
2024-08-31 06:09:35 +00:00
|
|
|
] + shlex.split(os.getenv("DOOMOPTS", ""))
|
2024-08-31 06:01:55 +00:00
|
|
|
|
|
|
|
if "pwad" in cfg:
|
|
|
|
args.extend(("-file", join("extract", cfg["pwad"])))
|
|
|
|
|
|
|
|
print(shlex.join(args))
|
|
|
|
sys.stdout.close()
|
|
|
|
os.spawnvp(os.P_WAIT, args[0], args)
|