Kelsidavis-WoWee/tools/editor/wowee_terrain.hpp
Kelsi 77a91de9f1 feat(editor): heightmap preview PNG export for zone documentation
- Exports 129x129 grayscale PNG showing terrain elevation
- Auto-normalizes to 0-255 based on actual height range
- Useful for zone documentation, thumbnails, and previews
- Auto-exported alongside WOT/WHM/normals on every save
2026-05-05 11:14:58 -07:00

34 lines
1.2 KiB
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);
// Export normal map as PNG (129x129 RGB)
static bool exportNormalMap(const pipeline::ADTTerrain& terrain,
const std::string& path);
// Export alpha maps as individual 64x64 grayscale PNGs per chunk layer
static int exportAlphaMaps(const pipeline::ADTTerrain& terrain,
const std::string& outputDir);
// Export heightmap as grayscale PNG preview (129x129)
static bool exportHeightmapPreview(const pipeline::ADTTerrain& terrain,
const std::string& path);
// Import terrain from open format back to ADTTerrain
static bool importOpen(const std::string& basePath, pipeline::ADTTerrain& terrain);
};
} // namespace editor
} // namespace wowee