mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-06 00:53:52 +00:00
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
This commit is contained in:
parent
954894460e
commit
d10d962e31
3 changed files with 95 additions and 0 deletions
31
include/pipeline/custom_zone_discovery.hpp
Normal file
31
include/pipeline/custom_zone_discovery.hpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
#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
|
||||
Loading…
Add table
Add a link
Reference in a new issue