Kelsidavis-WoWee/tools/editor/wowee_terrain.hpp
Kelsi 7177463df1 feat(editor): Wowee Open Terrain format (.wot/.whm) — no Blizzard formats
Novel open terrain format unique to wowee:

.wot (Wowee Open Terrain) — JSON metadata:
- Tile coordinates, chunk grid dimensions, texture list
- Per-chunk layer assignments and hole bitmasks
- Water data per chunk (type, height)
- Format version "wot-1.0"

.whm (Wowee HeightMap) — binary heightmap:
- "WHM1" magic header
- 256 chunks × (baseHeight + 145 float heights) = 148KB
- Direct float storage, no compression, fully portable

Both formats are entirely novel — no ADT, no WDT, no Blizzard
structures. The WCP content pack can bundle .wot/.whm instead of
ADT/WDT for fully open redistribution.

Import/export functions: WoweeTerrain::exportOpen() / importOpen()
2026-05-05 09:32:13 -07:00

22 lines
656 B
C++

#pragma once
#include "pipeline/adt_loader.hpp"
#include <string>
namespace wowee {
namespace editor {
// Wowee Open Terrain Format (.wot)
// JSON + binary heightmap — no Blizzard formats, fully open
class WoweeTerrain {
public:
// Export terrain to open format: .wot (JSON metadata) + .whm (binary heightmap)
static bool exportOpen(const pipeline::ADTTerrain& terrain,
const std::string& basePath, int tileX, int tileY);
// Import terrain from open format back to ADTTerrain
static bool importOpen(const std::string& basePath, pipeline::ADTTerrain& terrain);
};
} // namespace editor
} // namespace wowee