diff --git a/dcc/doom_base.py b/dcc/doom_base.py index 7ef5f5b..44983fe 100644 --- a/dcc/doom_base.py +++ b/dcc/doom_base.py @@ -19,7 +19,14 @@ class Wad(dcc.config.Base): wcp = self.pwads.joinpath(self.wad).joinpath(self.config_name) if wcp.exists(): self._wad_config = tomlkit.toml_file.TOMLFile(wcp).read() - self._config.update(self._wad_config.value) + for k,v in self._wad_config.items(): + if isinstance(v, dict): + if not k in self._config: + self._config[k] = {} + for sk in v: + self._config[k][sk] = v[sk] + else: + self._config[k] = v def run(self, parsed_args): self.wad_init(parsed_args) diff --git a/dcc/text.py b/dcc/text.py index 8e1ace9..a349a62 100644 --- a/dcc/text.py +++ b/dcc/text.py @@ -32,7 +32,12 @@ class Text(dcc.doom_base.WadMap): return parser def take_action(self, parsed_args): - text = sys.stdin.read().rstrip() + text = None + map_names = self._config["map_names"] + if map_names is not None: + text = map_names[f"map{parsed_args.map}"] + if text is None: + text = sys.stdin.read().rstrip() if not parsed_args.nomap: text = "MAP{}: {}".format(parsed_args.map, text) text = "{}\n{}".format(text, parsed_args.demotype)