feat(editor): WMO-only instance loading (Dire Maul, dungeons, raids)

Many WoW instances (Dire Maul, Blackrock Depths, etc.) are WMO-only
maps with no ADT terrain tiles. The editor now handles these:

- loadWMOInstance(): reads WDT, detects WDTF_GLOBAL_WMO flag, loads
  the root WMO path from MWMO chunk, places it as an object with
  correct position/rotation from MODF chunk
- Automatic fallback: when loadADT fails to find tiles, tries
  WMO-only loading before showing error
- Load dialog: "Find Tile" detects WMO-only instances and shows
  "WMO-only instance — click Load to open" instead of "not found"
- Camera positioned near the WMO for immediate editing
- Blank terrain floor generated as ground reference
This commit is contained in:
Kelsi 2026-05-05 22:44:38 -07:00
parent 072d0f78c2
commit d773109b50
3 changed files with 71 additions and 1 deletions

View file

@ -799,7 +799,14 @@ void EditorUI::renderLoadDialog(EditorApp& app) {
}
}
}
if (!found) app.showToast("No ADT tiles found for this map");
if (!found) {
// Check if it's a WMO-only instance
std::string wdtPath = "world\\maps\\" + mapLower + "\\" + mapLower + ".wdt";
if (app.getAssetManager()->getManifest().hasEntry(wdtPath))
app.showToast("WMO-only instance — click Load to open");
else
app.showToast("No ADT tiles found for this map");
}
}
if (ImGui::IsItemHovered()) ImGui::SetTooltip("Auto-find first available tile");