2026-05-05 05:06:41 -07:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
#include <vector>
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
|
|
namespace wowee {
|
|
|
|
|
namespace editor {
|
|
|
|
|
|
|
|
|
|
struct ZoneManifest {
|
|
|
|
|
std::string mapName;
|
|
|
|
|
std::string displayName;
|
|
|
|
|
uint32_t mapId = 9000; // Custom map IDs start high to avoid conflicts
|
|
|
|
|
std::vector<std::pair<int, int>> tiles; // (tileX, tileY) pairs
|
|
|
|
|
std::string biome;
|
|
|
|
|
float baseHeight = 100.0f;
|
|
|
|
|
bool hasCreatures = false;
|
|
|
|
|
std::string description;
|
|
|
|
|
|
2026-05-05 15:52:59 -07:00
|
|
|
// Zone gameplay flags
|
|
|
|
|
bool allowFlying = false;
|
|
|
|
|
bool pvpEnabled = false;
|
|
|
|
|
bool isIndoor = false;
|
|
|
|
|
bool isSanctuary = false;
|
|
|
|
|
|
2026-05-05 15:48:49 -07:00
|
|
|
// Audio configuration
|
|
|
|
|
std::string musicTrack; // Background music file path
|
|
|
|
|
std::string ambienceDay; // Daytime ambient sound
|
|
|
|
|
std::string ambienceNight; // Nighttime ambient sound
|
|
|
|
|
float musicVolume = 0.7f;
|
|
|
|
|
float ambienceVolume = 0.5f;
|
|
|
|
|
|
2026-05-05 05:06:41 -07:00
|
|
|
bool save(const std::string& path) const;
|
|
|
|
|
bool load(const std::string& path);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace editor
|
|
|
|
|
} // namespace wowee
|