Kelsidavis-WoWee/tools/asset_extract
Kelsi d4c69a2b46 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).
2026-05-06 10:36:14 -07:00
..
extractor.cpp feat(extract): emit WHM+WOT+WOC for ADT terrain tiles 2026-05-06 10:36:14 -07:00
extractor.hpp feat(extract): emit WHM+WOT+WOC for ADT terrain tiles 2026-05-06 10:36:14 -07:00
main.cpp feat(extract): emit WHM+WOT+WOC for ADT terrain tiles 2026-05-06 10:36:14 -07:00
manifest_writer.cpp Replace MPQ runtime with loose file asset system 2026-02-12 20:32:14 -08:00
manifest_writer.hpp Replace MPQ runtime with loose file asset system 2026-02-12 20:32:14 -08:00
open_format_emitter.cpp feat(extract): emit WHM+WOT+WOC for ADT terrain tiles 2026-05-06 10:36:14 -07:00
open_format_emitter.hpp feat(extract): emit WHM+WOT+WOC for ADT terrain tiles 2026-05-06 10:36:14 -07:00
path_mapper.cpp refactor path mapper 2026-04-04 14:34:23 -03:00
path_mapper.hpp refactor path mapper 2026-04-04 14:34:23 -03:00