summaryrefslogtreecommitdiff
path: root/ZAPD/ZResource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ZAPD/ZResource.cpp')
-rw-r--r--ZAPD/ZResource.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/ZAPD/ZResource.cpp b/ZAPD/ZResource.cpp
index 0e8324d..768a066 100644
--- a/ZAPD/ZResource.cpp
+++ b/ZAPD/ZResource.cpp
@@ -335,8 +335,16 @@ std::string ZResource::GetSourceOutputHeader([[maybe_unused]] const std::string&
if (StringHelper::Contains(outName, "_room_") ||
StringHelper::Contains(outName, "_scene") ||
(StringHelper::Contains(parent->GetXmlFilePath().string(), "/scenes/") ||
- StringHelper::Contains(parent->GetXmlFilePath().string(), "\\scenes\\")))
- prefix = "scenes/nonmq";
+ StringHelper::Contains(parent->GetXmlFilePath().string(), "\\scenes\\"))) {
+ prefix = "scenes/shared";
+
+ // Regex for xml paths that are dungeons with unique MQ variants (only the main dungeon, not boss rooms)
+ std::regex dungeonsWithMQ(R"(((ydan)|(ddan)|(bdan)|(Bmori1)|(HIDAN)|(MIZUsin)|(jyasinzou)|(HAKAdan)|(HAKAdanCH)|(ice_doukutu)|(men)|(ganontika))\.xml)");
+
+ if (StringHelper::Contains(xmlPath, "dungeons/") && std::regex_search(xmlPath, dungeonsWithMQ)) {
+ prefix = "scenes/nonmq";
+ }
+ }
else if (StringHelper::Contains(xmlPath, "objects/"))
prefix = "objects";
else if (StringHelper::Contains(xmlPath, "textures/"))