mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-08 10:03:51 +00:00
feat(extract): emit WHM+WOT+WOC for ADT terrain tiles
Final piece of the open-format emit pipeline:
--emit-terrain foo.adt → foo.whm + foo.wot + foo.woc
With this, --emit-open now produces a fully open-format zone
alongside every Blizzard MPQ extraction:
BLP → PNG (textures)
DBC → JSON (data tables)
M2 → WOM (models, with skin merge)
WMO → WOB (buildings, with group merge)
ADT → WHM/WOT (terrain heights + metadata)
→ WOC (collision mesh derived from heights)
Originals stay on disk and indexed by manifest.json so private
servers continue to load proprietary formats; wowee runtime/editor
read the open formats directly. One extraction now feeds both
audiences with no separate conversion pass.
Implementation:
- Inline WHM+WOT writer in open_format_emitter.cpp (mirrors the
editor's WoweeTerrain::exportOpen but without the PNG-preview /
normal-map deps so the extractor stays editor-independent).
- Tile coords (x,y) parsed from <map>_<x>_<y>.adt filename.
- Collision mesh derived via WoweeCollisionBuilder::fromTerrain
(terrain triangles only — WMO collision overlays would need
asset manager and aren't worth the extractor complexity).
This commit is contained in:
parent
e6ace7cce5
commit
d4c69a2b46
6 changed files with 182 additions and 4 deletions
|
|
@ -36,6 +36,7 @@ public:
|
|||
bool emitJsonDbc = false; // DBC → JSON side-files
|
||||
bool emitWom = false; // M2 (+skin) → WOM side-files
|
||||
bool emitWob = false; // WMO (+groups) → WOB side-files
|
||||
bool emitTerrain = false; // ADT → WHM + WOT + WOC side-files
|
||||
};
|
||||
|
||||
struct Stats {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue