Kelsidavis-WoWee/include/pipeline/custom_zone_discovery.hpp
Kelsi d10d962e31 feat: custom zone discovery system for client auto-detection
- CustomZoneDiscovery scans directories for zone.json manifest files
- Discovers custom zones in custom_zones/ and output/ directories
- Reports: name, author, description, creature/quest availability
- Client can list all available custom expansions at startup
- Foundation for a zone selection menu in the client UI
2026-05-05 10:01:05 -07:00

31 lines
726 B
C++

#pragma once
#include <string>
#include <vector>
#include <cstdint>
namespace wowee {
namespace pipeline {
struct CustomZoneInfo {
std::string name;
std::string author;
std::string description;
std::string directory;
uint32_t mapId = 9000;
std::vector<std::pair<int, int>> tiles;
bool hasCreatures = false;
bool hasQuests = false;
};
class CustomZoneDiscovery {
public:
// Scan directories for custom zones (checks for zone.json files)
static std::vector<CustomZoneInfo> scan(const std::vector<std::string>& searchPaths);
// Scan a single directory
static std::vector<CustomZoneInfo> scanDirectory(const std::string& path);
};
} // namespace pipeline
} // namespace wowee