Refactor project structure and enhance project management features

- Updated the Rom class to use core::ResourceLabelManager for better namespace clarity.
- Introduced a comprehensive YazeProject structure consolidating project metadata, settings, and resource management.
- Enhanced project management capabilities with methods for creating, opening, saving, and validating projects.
- Implemented support for ZScream project format import and export, improving compatibility with existing projects.
- Added workspace settings and feature flags to streamline user configurations and project setup.
This commit is contained in:
scawful
2025-09-26 18:02:04 -04:00
parent d21df011ae
commit 281fc84499
6 changed files with 1111 additions and 222 deletions

View File

@@ -192,7 +192,7 @@ class Rom {
return palette_groups_.dungeon_main.mutable_palette(i);
}
ResourceLabelManager* resource_label() { return &resource_label_manager_; }
core::ResourceLabelManager* resource_label() { return &resource_label_manager_; }
zelda3_version_pointers version_constants() const {
return kVersionConstantsMap.at(version_);
}
@@ -222,7 +222,7 @@ class Rom {
std::vector<uint8_t> graphics_buffer_;
// Label manager for unique resource names.
ResourceLabelManager resource_label_manager_;
core::ResourceLabelManager resource_label_manager_;
// All palette groups in the game
gfx::PaletteGroupMap palette_groups_;