summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeod <47716344+JeodC@users.noreply.github.com>2026-07-11 22:05:48 -0400
committerGitHub <noreply@github.com>2026-07-11 20:05:48 -0600
commitd2ac4a4500217ed31b7705cfb92b4255860521d9 (patch)
treec33596e8f29673e75452d06b7eb035fe758e6402
parentb62fa5db1540d565dad4ffb6985bd5f7e74da10e (diff)
BK: Honor runtime dialog-pack flag in addition to modder flag (#226)
-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();