summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/factories/bk64/BKAssetFactory.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/factories/bk64/BKAssetFactory.cpp b/src/factories/bk64/BKAssetFactory.cpp
index 6a0d903..ff346cc 100644
--- a/src/factories/bk64/BKAssetFactory.cpp
+++ b/src/factories/bk64/BKAssetFactory.cpp
@@ -704,12 +704,16 @@ std::optional<std::shared_ptr<IParsedData>> BKAssetFactory::parse(std::vector<ui
}
// Route a dialog-pack build to mods/lang/bk<region>.o2r when no explicit binary name is
-// given. Inert unless the rom config sets dialog_pack, so it's safe to call for any rom.
+// given. Inert unless dialog-pack mode is requested, so it's safe to call for any rom.
void BKAssetFactory::PreprocessConfig(YAML::Node& cfg, N64::Cartridge* cart) {
- if (!cfg || !cfg["dialog_pack"] || !cfg["dialog_pack"].as<bool>()) {
+ const bool requested = (cfg && cfg["dialog_pack"] && cfg["dialog_pack"].as<bool>()) ||
+ (Companion::Instance != nullptr && Companion::Instance->GetConfig().dialogPack);
+ if (!cfg || !requested) {
return;
}
+ cfg["dialog_pack"] = true;
+
std::string name;
if (cfg["output"] && cfg["output"]["binary"]) {
name = fs::path(cfg["output"]["binary"].as<std::string>()).filename().string();