Kelsidavis-WoWee/tools/editor/editor_project.hpp
Kelsi 94e6d5276e feat(editor): git integration for collaborative expansion development
- File > Project > Git submenu: Init, Commit, Push, Pull operations
- Init Git Repo: initializes git in the project directory with initial commit
- Commit Changes: auto-saves zone then commits all changes
- Push/Pull: sync with remote repositories for team collaboration
- Git Status: shows current repo state directly in the menu
- Teams can collaborate on custom expansions using standard git workflows
2026-05-05 09:45:00 -07:00

39 lines
904 B
C++

#pragma once
#include <string>
#include <vector>
#include <cstdint>
namespace wowee {
namespace editor {
struct ProjectZone {
std::string mapName;
int tileX = 32, tileY = 32;
std::string biome;
std::string description;
};
struct EditorProject {
std::string name = "Untitled";
std::string author;
std::string description;
std::string version = "1.0";
std::string projectDir;
uint32_t startMapId = 9000;
std::vector<ProjectZone> zones;
bool save(const std::string& path) const;
bool load(const std::string& path);
std::string getZoneOutputDir(int zoneIdx) const;
// Git integration for collaborative expansion development
bool initGitRepo() const;
bool gitCommit(const std::string& message) const;
bool gitPush() const;
bool gitPull() const;
std::string gitStatus() const;
};
} // namespace editor
} // namespace wowee