yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::project::YazeProject Struct Reference

Modern project structure with comprehensive settings consolidation. More...

#include <project.h>

Classes

struct  AgentSettings
 
struct  MusicPersistence
 

Public Member Functions

 YazeProject ()=default
 
 YazeProject (const YazeProject &)=default
 
 YazeProject (YazeProject &&)=default
 
YazeProject & operator= (const YazeProject &)=default
 
YazeProject & operator= (YazeProject &&)=default
 
 ~YazeProject ()
 
absl::Status Create (const std::string &project_name, const std::string &base_path)
 
absl::Status Open (const std::string &project_path)
 
absl::Status LoadFromString (const std::string &content, const std::string &project_path)
 
absl::Status Save ()
 
absl::Status SaveNew ()
 
absl::Status SaveAs (const std::string &new_path)
 
absl::Status ImportZScreamProject (const std::string &zscream_project_path)
 
absl::Status ExportForZScream (const std::string &target_path)
 
absl::Status LoadAllSettings ()
 
absl::Status SaveAllSettings ()
 
absl::Status ResetToDefaults ()
 
absl::Status InitializeEmbeddedLabels (const std::unordered_map< std::string, std::unordered_map< std::string, std::string > > &labels)
 
std::string GetLabel (const std::string &resource_type, int id, const std::string &default_value="") const
 
absl::Status ImportLabelsFromZScream (const std::string &filepath)
 Import labels from a ZScream DefaultNames.txt file.
 
absl::Status ImportLabelsFromZScreamContent (const std::string &content)
 Import labels from ZScream format content directly.
 
void InitializeResourceLabelProvider ()
 Initialize the global ResourceLabelProvider with this project's labels.
 
absl::Status Validate () const
 
std::vector< std::string > GetMissingFiles () const
 
absl::Status RepairProject ()
 
void NormalizePathsToAbsolute ()
 
std::string GetDisplayName () const
 
std::string GetRelativePath (const std::string &absolute_path) const
 
std::string GetAbsolutePath (const std::string &relative_path) const
 
std::vector< std::string > AtlasAnnotationPaths () const
 
std::string AtlasSymbolsPath () const
 
std::string PlanningFilePath () const
 
bool IsEmpty () const
 
std::string MakeStorageKey (absl::string_view suffix) const
 
bool project_opened () const
 
void ReloadHackManifest ()
 
void ReloadZ3dkSettings ()
 
bool HasZ3dkConfig () const
 
std::string GetZ3dkArtifactPath (absl::string_view artifact_name) const
 

Static Public Member Functions

static std::string ResolveBundleRoot (const std::string &path)
 

Public Attributes

ProjectMetadata metadata
 
std::string name
 
std::string filepath
 
ProjectFormat format = ProjectFormat::kYazeNative
 
std::string rom_filename
 
std::string rom_backup_folder
 
std::vector< std::string > additional_roms
 
RomMetadata rom_metadata
 
std::string code_folder
 
std::string assets_folder
 
std::string patches_folder
 
std::string labels_filename
 
std::string symbols_filename
 
std::string cutscene_shots
 
std::string overworld_graphics_preview
 
std::string dungeon_tile_patterns
 
std::string custom_collision_json
 
std::string custom_objects_folder
 
std::string hack_manifest_file
 
std::string sprite_catalog_file
 
std::string sprite_source_root
 
std::vector< SpriteAssetBinding > sprite_assets
 
std::string terrain_catalog_file
 
std::string palette_catalog_file
 
std::unordered_map< int, std::vector< std::string > > custom_object_files
 
core::FeatureFlags::Flags feature_flags
 
WorkspaceSettings workspace_settings
 
DungeonOverlaySettings dungeon_overlay
 
GraphicsSheetSettings graphics_sheets
 
AtlasSettings atlas
 
PlanningSettings planning
 
core::RomAddressOverrides rom_address_overrides
 
std::unordered_map< std::string, std::unordered_map< std::string, std::string > > resource_labels
 
bool use_embedded_labels = true
 
core::HackManifest hack_manifest
 
Z3dkSettings z3dk_settings
 
std::string build_script
 
std::string output_folder
 
std::vector< std::string > build_configurations
 
std::string build_target
 
std::string asm_entry_point
 
std::vector< std::string > asm_sources
 
std::string git_repository
 
bool track_changes = true
 
std::string last_build_hash
 
int build_number = 0
 
struct yaze::project::YazeProject::AgentSettings agent_settings
 
std::string zscream_project_file
 
std::map< std::string, std::string > zscream_mappings
 
struct yaze::project::YazeProject::MusicPersistence music_persistence
 
ProjectFilePassthrough file_passthrough
 

Private Member Functions

absl::StatusOr< std::string > SerializeToString () const
 
absl::Status ParseFromString (const std::string &content)
 
absl::Status LoadFromYazeFormat (const std::string &project_path)
 
absl::Status SaveToYazeFormat (bool replace_existing=true)
 
absl::Status ImportFromZScreamFormat (const std::string &project_path)
 
void InitializeDefaults ()
 
void TryLoadZ3dkConfig ()
 
void TryLoadHackManifest ()
 
std::string GenerateProjectId () const
 

Detailed Description

Modern project structure with comprehensive settings consolidation.

Definition at line 287 of file project.h.

Constructor & Destructor Documentation

◆ YazeProject() [1/3]

yaze::project::YazeProject::YazeProject ( )
default

Referenced by LoadFromString().

◆ YazeProject() [2/3]

yaze::project::YazeProject::YazeProject ( const YazeProject & )
default

◆ YazeProject() [3/3]

yaze::project::YazeProject::YazeProject ( YazeProject && )
default

◆ ~YazeProject()

yaze::project::YazeProject::~YazeProject ( )

Definition at line 448 of file project.cc.

References yaze::zelda3::GetResourceLabels(), hack_manifest, and resource_labels.

Here is the call graph for this function:

Member Function Documentation

◆ operator=() [1/2]

YazeProject & yaze::project::YazeProject::operator= ( const YazeProject & )
default

◆ operator=() [2/2]

YazeProject & yaze::project::YazeProject::operator= ( YazeProject && )
default

◆ ResolveBundleRoot()

std::string yaze::project::YazeProject::ResolveBundleRoot ( const std::string & path)
static

◆ Create()

◆ Open()

absl::Status yaze::project::YazeProject::Open ( const std::string & project_path)

Definition at line 537 of file project.cc.

References assets_folder, code_folder, yaze::project::ProjectMetadata::created_by, yaze::project::ProjectMetadata::created_date, filepath, format, GenerateProjectId(), ImportFromZScreamFormat(), InitializeDefaults(), yaze::project::kYazeNative, yaze::project::kZScreamCompat, labels_filename, yaze::project::ProjectMetadata::last_modified, LoadFromYazeFormat(), LOG_DEBUG, MakeStorageKey(), metadata, name, NormalizePathsToAbsolute(), output_folder, ParseFromString(), patches_folder, yaze::project::ProjectMetadata::project_id, ResolveBundleRoot(), rom_backup_folder, rom_filename, SaveToYazeFormat(), symbols_filename, TryLoadHackManifest(), TryLoadZ3dkConfig(), yaze::project::ProjectMetadata::version, yaze::project::ProjectMetadata::yaze_version, and YAZE_VERSION_STRING.

Referenced by yaze::cli::resources::CommandContext::ApplyProjectRuntimeContext(), yaze::cli::handlers::MessageSourceSyncCommandHandler::Execute(), yaze::cli::handlers::OverworldTerrainCatalogCommandHandler::Execute(), yaze::cli::handlers::ProjectBundleVerifyCommandHandler::Execute(), yaze::cli::handlers::ProjectBuildCommandHandler::Execute(), yaze::cli::handlers::AtlasRenderCommandHandler::ExecuteWithContext(), yaze::editor::ProjectManager::ImportProject(), yaze::cli::handlers::anonymous_namespace{dungeon_census_commands.cc}::LoadProjectFile(), yaze::editor::ProjectManager::LoadProjectFromFile(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::LoadProjectMutationContext(), yaze::editor::EditorManager::OpenProjectInternal(), yaze::editor::EditorManager::OpenRomOrProjectInternal(), and yaze::cli::agent::anonymous_namespace{general_commands.cc}::TryLoadProjectAndLabels().

◆ LoadFromString()

absl::Status yaze::project::YazeProject::LoadFromString ( const std::string & content,
const std::string & project_path )

◆ Save()

◆ SaveNew()

absl::Status yaze::project::YazeProject::SaveNew ( )

Definition at line 699 of file project.cc.

References SaveToYazeFormat().

Referenced by yaze::editor::ProjectManager::FinalizeProjectCreation().

Here is the call graph for this function:

◆ SaveAs()

absl::Status yaze::project::YazeProject::SaveAs ( const std::string & new_path)

Definition at line 734 of file project.cc.

References filepath, and Save().

Referenced by yaze::editor::ProjectManager::SaveProjectToFile().

Here is the call graph for this function:

◆ ImportZScreamProject()

absl::Status yaze::project::YazeProject::ImportZScreamProject ( const std::string & zscream_project_path)
Todo
Implement actual ZScream format parsing when format is known

Definition at line 1836 of file project.cc.

References format, InitializeDefaults(), yaze::project::kZScreamCompat, name, zscream_mappings, and zscream_project_file.

Referenced by yaze::editor::ProjectManager::ImportProject().

Here is the call graph for this function:

◆ ExportForZScream()

absl::Status yaze::project::YazeProject::ExportForZScream ( const std::string & target_path)

◆ LoadAllSettings()

absl::Status yaze::project::YazeProject::LoadAllSettings ( )

Definition at line 1881 of file project.cc.

References filepath, and LoadFromYazeFormat().

Here is the call graph for this function:

◆ SaveAllSettings()

absl::Status yaze::project::YazeProject::SaveAllSettings ( )

Definition at line 1887 of file project.cc.

References SaveToYazeFormat().

Here is the call graph for this function:

◆ ResetToDefaults()

absl::Status yaze::project::YazeProject::ResetToDefaults ( )

Definition at line 1892 of file project.cc.

References InitializeDefaults(), and Save().

Here is the call graph for this function:

◆ InitializeEmbeddedLabels()

absl::Status yaze::project::YazeProject::InitializeEmbeddedLabels ( const std::unordered_map< std::string, std::unordered_map< std::string, std::string > > & labels)

◆ GetLabel()

std::string yaze::project::YazeProject::GetLabel ( const std::string & resource_type,
int id,
const std::string & default_value = "" ) const

Definition at line 3013 of file project.cc.

References resource_labels.

◆ ImportLabelsFromZScream()

absl::Status yaze::project::YazeProject::ImportLabelsFromZScream ( const std::string & filepath)

Import labels from a ZScream DefaultNames.txt file.

Parameters
filepathPath to the DefaultNames.txt file
Returns
Status indicating success or parse errors

Definition at line 3028 of file project.cc.

References filepath, and ImportLabelsFromZScreamContent().

Here is the call graph for this function:

◆ ImportLabelsFromZScreamContent()

absl::Status yaze::project::YazeProject::ImportLabelsFromZScreamContent ( const std::string & content)

Import labels from ZScream format content directly.

Parameters
contentThe file content to parse
Returns
Status indicating success or parse errors

Definition at line 3048 of file project.cc.

References yaze::zelda3::GetResourceLabels(), LOG_DEBUG, yaze::project::WorkspaceSettings::prefer_hmagic_names, resource_labels, and workspace_settings.

Referenced by ImportLabelsFromZScream().

Here is the call graph for this function:

◆ InitializeResourceLabelProvider()

void yaze::project::YazeProject::InitializeResourceLabelProvider ( )

Initialize the global ResourceLabelProvider with this project's labels.

Definition at line 3072 of file project.cc.

References yaze::zelda3::GetResourceLabels(), hack_manifest, yaze::core::HackManifest::loaded(), LOG_DEBUG, yaze::project::WorkspaceSettings::prefer_hmagic_names, resource_labels, and workspace_settings.

Referenced by yaze::editor::RenameProjectResourceLabel().

Here is the call graph for this function:

◆ Validate()

◆ GetMissingFiles()

std::vector< std::string > yaze::project::YazeProject::GetMissingFiles ( ) const

Definition at line 1942 of file project.cc.

References GetAbsolutePath(), hack_manifest_file, labels_filename, rom_filename, and symbols_filename.

Referenced by yaze::project::ProjectManager::GetRecommendedFixesForProject().

Here is the call graph for this function:

◆ RepairProject()

absl::Status yaze::project::YazeProject::RepairProject ( )

Definition at line 1967 of file project.cc.

References assets_folder, code_folder, GetAbsolutePath(), labels_filename, output_folder, patches_folder, and rom_backup_folder.

Referenced by yaze::editor::EditorManager::RepairCurrentProject().

Here is the call graph for this function:

◆ NormalizePathsToAbsolute()

◆ GetDisplayName()

◆ GetRelativePath()

std::string yaze::project::YazeProject::GetRelativePath ( const std::string & absolute_path) const

◆ GetAbsolutePath()

std::string yaze::project::YazeProject::GetAbsolutePath ( const std::string & relative_path) const

Definition at line 2028 of file project.cc.

References filepath.

Referenced by yaze::editor::EditorManager::ApplyCurrentProjectRuntimeContext(), AtlasAnnotationPaths(), AtlasSymbolsPath(), yaze::editor::SpriteEditor::BindOracleBehaviorProfile(), yaze::editor::anonymous_namespace{editor_manager_sessions.cc}::BuildCustomObjectRuntimeState(), yaze::editor::SpriteEditor::CheckCurrentSpriteSource(), yaze::editor::RomLifecycleManager::CheckOracleRomSafetyPreSave(), yaze::editor::RomLifecycleManager::CheckRomRebindPolicy(), yaze::editor::AssemblyEditor::DrawFileBrowser(), yaze::editor::PopupManager::DrawRomBackupManagerPopup(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::EnsureConfiguredHackManifestLoaded(), yaze::cli::handlers::OverworldTerrainCatalogCommandHandler::Execute(), yaze::cli::handlers::ProjectBundleVerifyCommandHandler::Execute(), yaze::cli::handlers::AtlasRenderCommandHandler::ExecuteWithContext(), yaze::editor::SpriteEditor::ExportCurrentSpriteBehavior(), yaze::editor::anonymous_namespace{rom_lifecycle_manager.cc}::GetBuildOutputProjectRomPath(), yaze::editor::anonymous_namespace{rom_lifecycle_manager.cc}::GetEditableProjectRomPath(), yaze::cli::agent::tools::ProjectGraphTool::GetFileStructure(), GetMissingFiles(), yaze::editor::AssemblyEditor::JumpToReference(), yaze::editor::AssemblyEditor::JumpToSymbolDefinition(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::LoadProjectMutationContext(), yaze::editor::EditorManager::LoadProjectWithRom(), yaze::editor::SpriteEditor::LoadZsmFile(), NormalizePathsToAbsolute(), yaze::editor::EditorManager::OpenRomOrProjectInternal(), PlanningFilePath(), yaze::editor::SpriteEditor::ReloadSpriteCatalog(), yaze::editor::DungeonEditorV2::ReloadWaterFillZones(), yaze::editor::DungeonCanvasViewer::RenderSprites(), RepairProject(), yaze::editor::FeatureFlagEditorPanel::ResolveConfigPath(), yaze::editor::ManifestPanel::ResolveManifestPath(), yaze::editor::EditorManager::ResolveProjectBuildCommand(), yaze::editor::EditorManager::ResolveProjectRunTarget(), yaze::editor::EditorManager::SaveRomInternal(), SerializeToString(), yaze::editor::EditorManager::SwapProjectRom(), TryLoadHackManifest(), and Validate().

◆ AtlasAnnotationPaths()

std::vector< std::string > yaze::project::YazeProject::AtlasAnnotationPaths ( ) const

Definition at line 2089 of file project.cc.

References yaze::project::AtlasSettings::annotations, atlas, and GetAbsolutePath().

Referenced by yaze::cli::handlers::AtlasRenderCommandHandler::ExecuteWithContext().

Here is the call graph for this function:

◆ AtlasSymbolsPath()

std::string yaze::project::YazeProject::AtlasSymbolsPath ( ) const

Definition at line 2098 of file project.cc.

References atlas, GetAbsolutePath(), and yaze::project::AtlasSettings::symbols.

Referenced by yaze::cli::handlers::AtlasRenderCommandHandler::ExecuteWithContext().

Here is the call graph for this function:

◆ PlanningFilePath()

std::string yaze::project::YazeProject::PlanningFilePath ( ) const

Definition at line 2102 of file project.cc.

References yaze::project::PlanningSettings::file, GetAbsolutePath(), and planning.

Referenced by yaze::editor::PlanningEditor::SyncWithProject().

Here is the call graph for this function:

◆ IsEmpty()

bool yaze::project::YazeProject::IsEmpty ( ) const

Definition at line 2106 of file project.cc.

References code_folder, name, and rom_filename.

◆ MakeStorageKey()

◆ project_opened()

bool yaze::project::YazeProject::project_opened ( ) const
inline

Definition at line 505 of file project.h.

References filepath, and name.

Referenced by yaze::editor::EditorManager::ApplyCurrentProjectRuntimeContext(), yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildReportSessionSummary(), yaze::editor::RomLifecycleManager::CheckOracleRomSafetyPreSave(), yaze::editor::RomLifecycleManager::CheckRomOpenPolicy(), yaze::editor::RomLifecycleManager::CheckRomRebindPolicy(), yaze::editor::RomLifecycleManager::CheckRomWritePolicy(), yaze::editor::EditorManager::CreateNewProjectFromRom(), yaze::editor::MinecartTrackEditorPanel::Draw(), yaze::editor::EditorManager::DrawInterface(), yaze::editor::dungeon_project_labels::FindDungeonForRoom(), yaze::editor::EditorManager::HandleSessionCreated(), yaze::editor::EditorManager::InitializeSubsystems(), yaze::editor::RomLifecycleManager::IsRomHashMismatch(), yaze::editor::EditorManager::PrepareRawProjectFileSave(), yaze::editor::EditorManager::RefreshResourceLabelProvider(), yaze::editor::UICoordinator::RefreshWorkflowActions(), yaze::editor::EditorManager::ReloadProjectRom(), yaze::editor::RenameProjectResourceLabel(), yaze::editor::EditorManager::RepairCurrentProject(), yaze::editor::EditorManager::ResolveProjectBuildCommand(), yaze::editor::EditorManager::ResolveProjectRunTarget(), yaze::editor::EditorManager::SaveActiveProjectEditingWork(), yaze::editor::EditorManager::SaveProject(), yaze::editor::EditorManager::SaveProjectAs(), yaze::editor::MinecartTrackEditorPanel::SaveProjectSettings(), yaze::editor::EditorManager::SaveRomInternal(), yaze::editor::EditorManager::SwapProjectRom(), yaze::editor::EditorManager::SyncLayoutScopeFromCurrentProject(), and yaze::editor::EditorManager::UpdateSystemUIs().

◆ ReloadHackManifest()

void yaze::project::YazeProject::ReloadHackManifest ( )

Definition at line 2124 of file project.cc.

References TryLoadHackManifest().

Referenced by yaze::editor::ManifestPanel::DrawManifestStatus(), and yaze::editor::SettingsPanel::DrawProjectSettings().

Here is the call graph for this function:

◆ ReloadZ3dkSettings()

void yaze::project::YazeProject::ReloadZ3dkSettings ( )

Definition at line 2128 of file project.cc.

References TryLoadZ3dkConfig().

Here is the call graph for this function:

◆ HasZ3dkConfig()

bool yaze::project::YazeProject::HasZ3dkConfig ( ) const
inline

Definition at line 510 of file project.h.

References yaze::project::Z3dkSettings::loaded, and z3dk_settings.

◆ GetZ3dkArtifactPath()

◆ SerializeToString()

absl::StatusOr< std::string > yaze::project::YazeProject::SerializeToString ( ) const
private

Definition at line 995 of file project.cc.

References additional_roms, yaze::core::RomAddressOverrides::addresses, agent_settings, yaze::project::YazeProject::AgentSettings::ai_model, yaze::project::YazeProject::AgentSettings::ai_provider, yaze::project::AtlasSettings::annotations, asm_entry_point, asm_sources, assets_folder, atlas, yaze::project::ProjectMetadata::author, yaze::project::WorkspaceSettings::autosave_enabled, yaze::project::WorkspaceSettings::autosave_interval_secs, yaze::project::WorkspaceSettings::backup_keep_daily, yaze::project::WorkspaceSettings::backup_keep_daily_days, yaze::project::WorkspaceSettings::backup_on_save, yaze::project::WorkspaceSettings::backup_retention_count, build_configurations, build_number, build_script, build_target, yaze::project::YazeProject::AgentSettings::builder_blueprint_path, yaze::project::YazeProject::AgentSettings::chain_mode, code_folder, yaze::project::ProjectMetadata::created_by, yaze::project::ProjectMetadata::created_date, custom_collision_json, yaze::project::WorkspaceSettings::custom_keybindings, custom_object_files, custom_objects_folder, yaze::project::YazeProject::AgentSettings::custom_system_prompt, cutscene_shots, yaze::project::WorkspaceSettings::dark_mode, yaze::project::AtlasSettings::defaults, yaze::project::ProjectMetadata::description, yaze::core::FeatureFlags::Flags::dungeon, dungeon_overlay, dungeon_tile_patterns, yaze::project::WorkspaceSettings::editor_visibility, yaze::project::GraphicsSheetSettings::empty(), yaze::project::YazeProject::AgentSettings::enable_tool_dialogue, yaze::project::YazeProject::AgentSettings::enable_tool_dungeon, yaze::project::YazeProject::AgentSettings::enable_tool_emulator, yaze::project::YazeProject::AgentSettings::enable_tool_gui, yaze::project::YazeProject::AgentSettings::enable_tool_memory_inspector, yaze::project::YazeProject::AgentSettings::enable_tool_messages, yaze::project::YazeProject::AgentSettings::enable_tool_music, yaze::project::YazeProject::AgentSettings::enable_tool_overworld, yaze::project::YazeProject::AgentSettings::enable_tool_resources, yaze::project::YazeProject::AgentSettings::enable_tool_sprite, yaze::project::RomMetadata::expected_hash, yaze::project::AtlasSettings::export_folder, yaze::project::YazeProject::AgentSettings::favorite_models, feature_flags, yaze::project::PlanningSettings::file, file_passthrough, yaze::project::GraphicsSheetSettings::flagged_sheets, yaze::project::WorkspaceSettings::font_global_scale, yaze::project::YazeProject::AgentSettings::gemini_api_key, GetAbsolutePath(), GetRelativePath(), git_repository, graphics_sheets, hack_manifest_file, yaze::project::AtlasSettings::IsDefault(), yaze::project::PlanningSettings::IsDefault(), yaze::core::FeatureFlags::Flags::Overworld::kApplyZSCustomOverworldASM, yaze::core::FeatureFlags::Flags::kEnableCustomObjects, yaze::core::FeatureFlags::Flags::Overworld::kLoadCustomOverworld, yaze::core::FeatureFlags::Flags::kSaveAllPalettes, yaze::core::FeatureFlags::Flags::Dungeon::kSaveBlocks, yaze::core::FeatureFlags::Flags::Dungeon::kSaveChests, yaze::core::FeatureFlags::Flags::Dungeon::kSaveCollision, yaze::core::FeatureFlags::Flags::kSaveDungeonMaps, yaze::core::FeatureFlags::Flags::Dungeon::kSaveEntrances, yaze::core::FeatureFlags::Flags::kSaveGfxGroups, yaze::core::FeatureFlags::Flags::kSaveGraphicsSheet, yaze::core::FeatureFlags::Flags::kSaveMessages, yaze::core::FeatureFlags::Flags::Dungeon::kSaveObjects, yaze::core::FeatureFlags::Flags::Overworld::kSaveOverworldEntrances, yaze::core::FeatureFlags::Flags::Overworld::kSaveOverworldExits, yaze::core::FeatureFlags::Flags::Overworld::kSaveOverworldItems, yaze::core::FeatureFlags::Flags::Overworld::kSaveOverworldMaps, yaze::core::FeatureFlags::Flags::Overworld::kSaveOverworldProperties, yaze::core::FeatureFlags::Flags::Dungeon::kSavePalettes, yaze::core::FeatureFlags::Flags::Dungeon::kSavePits, yaze::core::FeatureFlags::Flags::Dungeon::kSavePotItems, yaze::core::FeatureFlags::Flags::Dungeon::kSaveRoomHeaders, yaze::core::FeatureFlags::Flags::Dungeon::kSaveSprites, yaze::core::FeatureFlags::Flags::Dungeon::kSaveTorches, yaze::core::FeatureFlags::Flags::Dungeon::kSaveWaterFillZones, labels_filename, last_build_hash, yaze::project::WorkspaceSettings::last_layout_preset, yaze::project::ProjectMetadata::last_modified, yaze::project::YazeProject::MusicPersistence::last_saved_at, yaze::project::ProjectMetadata::license, yaze::project::YazeProject::AgentSettings::max_output_tokens, yaze::project::YazeProject::AgentSettings::max_retry_attempts, yaze::project::YazeProject::AgentSettings::max_tool_iterations, metadata, yaze::project::DungeonOverlaySettings::minecart_sprite_ids, yaze::project::YazeProject::AgentSettings::model_chain, music_persistence, name, yaze::project::YazeProject::AgentSettings::ollama_host, output_folder, yaze::core::FeatureFlags::Flags::overworld, overworld_graphics_preview, palette_catalog_file, patches_folder, yaze::project::YazeProject::MusicPersistence::persist_custom_music, planning, yaze::project::WorkspaceSettings::prefer_hmagic_names, yaze::project::ProjectMetadata::project_id, yaze::project::WorkspaceSettings::recent_files, yaze::project::GraphicsSheetSettings::reserved_blocks, yaze::project::GraphicsSheetSettings::reserved_sheets, resource_labels, yaze::project::RomMetadata::role, rom_address_overrides, rom_backup_folder, rom_filename, rom_metadata, yaze::project::RomRoleToString(), yaze::project::RomWritePolicyToString(), yaze::project::WorkspaceSettings::saved_layouts, yaze::project::AtlasSettings::section_present, yaze::project::PlanningSettings::section_present, yaze::project::WorkspaceSettings::show_collision, yaze::project::WorkspaceSettings::show_grid, yaze::project::YazeProject::AgentSettings::show_reasoning, sprite_assets, sprite_catalog_file, sprite_source_root, yaze::project::SpriteAssetToJson(), yaze::project::YazeProject::MusicPersistence::storage_key, yaze::project::YazeProject::AgentSettings::stream_responses, yaze::project::AtlasSettings::symbols, symbols_filename, yaze::project::ProjectMetadata::tags, yaze::project::YazeProject::AgentSettings::temperature, terrain_catalog_file, yaze::project::YazeProject::AgentSettings::top_p, track_changes, yaze::project::DungeonOverlaySettings::track_object_ids, yaze::project::DungeonOverlaySettings::track_stop_tiles, yaze::project::DungeonOverlaySettings::track_switch_tiles, yaze::project::DungeonOverlaySettings::track_tiles, yaze::project::WorkspaceSettings::ui_theme, yaze::project::YazeProject::AgentSettings::use_custom_prompt, yaze::project::YazeProject::AgentSettings::verbose, yaze::project::ProjectMetadata::version, workspace_settings, yaze::project::RomMetadata::write_policy, yaze::project::ProjectMetadata::yaze_version, zscream_mappings, and zscream_project_file.

Referenced by SaveToYazeFormat().

◆ ParseFromString()

absl::Status yaze::project::YazeProject::ParseFromString ( const std::string & content)
private

Definition at line 1365 of file project.cc.

References additional_roms, yaze::core::RomAddressOverrides::addresses, agent_settings, yaze::project::YazeProject::AgentSettings::ai_model, yaze::project::YazeProject::AgentSettings::ai_provider, yaze::project::AtlasSettings::annotations, asm_entry_point, asm_sources, assets_folder, atlas, yaze::project::ProjectMetadata::author, yaze::project::WorkspaceSettings::autosave_enabled, yaze::project::WorkspaceSettings::autosave_interval_secs, yaze::project::WorkspaceSettings::backup_keep_daily, yaze::project::WorkspaceSettings::backup_keep_daily_days, yaze::project::WorkspaceSettings::backup_on_save, yaze::project::WorkspaceSettings::backup_retention_count, build_configurations, build_number, build_script, build_target, yaze::project::YazeProject::AgentSettings::builder_blueprint_path, yaze::project::YazeProject::AgentSettings::chain_mode, code_folder, yaze::project::ProjectMetadata::created_by, yaze::project::ProjectMetadata::created_date, custom_collision_json, yaze::project::WorkspaceSettings::custom_keybindings, custom_object_files, custom_objects_folder, yaze::project::YazeProject::AgentSettings::custom_system_prompt, cutscene_shots, yaze::project::WorkspaceSettings::dark_mode, yaze::project::AtlasSettings::defaults, yaze::project::ProjectMetadata::description, yaze::core::FeatureFlags::Flags::dungeon, dungeon_overlay, dungeon_tile_patterns, yaze::project::WorkspaceSettings::editor_visibility, yaze::project::YazeProject::AgentSettings::enable_tool_dialogue, yaze::project::YazeProject::AgentSettings::enable_tool_dungeon, yaze::project::YazeProject::AgentSettings::enable_tool_emulator, yaze::project::YazeProject::AgentSettings::enable_tool_gui, yaze::project::YazeProject::AgentSettings::enable_tool_memory_inspector, yaze::project::YazeProject::AgentSettings::enable_tool_messages, yaze::project::YazeProject::AgentSettings::enable_tool_music, yaze::project::YazeProject::AgentSettings::enable_tool_overworld, yaze::project::YazeProject::AgentSettings::enable_tool_resources, yaze::project::YazeProject::AgentSettings::enable_tool_sprite, yaze::project::RomMetadata::expected_hash, yaze::project::AtlasSettings::export_folder, yaze::project::YazeProject::AgentSettings::favorite_models, feature_flags, yaze::project::PlanningSettings::file, file_passthrough, yaze::project::GraphicsSheetSettings::flagged_sheets, yaze::project::WorkspaceSettings::font_global_scale, yaze::project::YazeProject::AgentSettings::gemini_api_key, GenerateProjectId(), git_repository, graphics_sheets, hack_manifest_file, yaze::core::FeatureFlags::Flags::Overworld::kApplyZSCustomOverworldASM, yaze::project::ProjectFilePassthrough::Line::kComment, yaze::core::FeatureFlags::Flags::kEnableCustomObjects, yaze::project::ProjectFilePassthrough::Line::kKnownKey, yaze::core::FeatureFlags::Flags::Overworld::kLoadCustomOverworld, yaze::project::ProjectFilePassthrough::Section::known, yaze::core::FeatureFlags::Flags::kSaveAllPalettes, yaze::core::FeatureFlags::Flags::Dungeon::kSaveBlocks, yaze::core::FeatureFlags::Flags::Dungeon::kSaveChests, yaze::core::FeatureFlags::Flags::Dungeon::kSaveCollision, yaze::core::FeatureFlags::Flags::kSaveDungeonMaps, yaze::core::FeatureFlags::Flags::Dungeon::kSaveEntrances, yaze::core::FeatureFlags::Flags::kSaveGfxGroups, yaze::core::FeatureFlags::Flags::kSaveGraphicsSheet, yaze::core::FeatureFlags::Flags::kSaveMessages, yaze::core::FeatureFlags::Flags::Dungeon::kSaveObjects, yaze::core::FeatureFlags::Flags::Overworld::kSaveOverworldEntrances, yaze::core::FeatureFlags::Flags::Overworld::kSaveOverworldExits, yaze::core::FeatureFlags::Flags::Overworld::kSaveOverworldItems, yaze::core::FeatureFlags::Flags::Overworld::kSaveOverworldMaps, yaze::core::FeatureFlags::Flags::Overworld::kSaveOverworldProperties, yaze::core::FeatureFlags::Flags::Dungeon::kSavePalettes, yaze::core::FeatureFlags::Flags::Dungeon::kSavePits, yaze::core::FeatureFlags::Flags::Dungeon::kSavePotItems, yaze::core::FeatureFlags::Flags::Dungeon::kSaveRoomHeaders, yaze::core::FeatureFlags::Flags::Dungeon::kSaveSprites, yaze::core::FeatureFlags::Flags::Dungeon::kSaveTorches, yaze::core::FeatureFlags::Flags::Dungeon::kSaveWaterFillZones, yaze::project::ProjectFilePassthrough::Line::kUnknownLine, labels_filename, last_build_hash, yaze::project::WorkspaceSettings::last_layout_preset, yaze::project::ProjectMetadata::last_modified, yaze::project::YazeProject::MusicPersistence::last_saved_at, yaze::project::ProjectMetadata::license, yaze::project::ProjectFilePassthrough::Section::lines, MakeStorageKey(), yaze::project::YazeProject::AgentSettings::max_output_tokens, yaze::project::YazeProject::AgentSettings::max_retry_attempts, yaze::project::YazeProject::AgentSettings::max_tool_iterations, metadata, yaze::project::DungeonOverlaySettings::minecart_sprite_ids, yaze::project::YazeProject::AgentSettings::model_chain, music_persistence, name, yaze::project::YazeProject::AgentSettings::ollama_host, output_folder, yaze::core::FeatureFlags::Flags::overworld, overworld_graphics_preview, palette_catalog_file, yaze::project::ParseRomRole(), yaze::project::ParseRomWritePolicy(), yaze::project::ParseSpriteAssetBinding(), patches_folder, yaze::project::YazeProject::MusicPersistence::persist_custom_music, planning, yaze::project::WorkspaceSettings::prefer_hmagic_names, yaze::project::ProjectMetadata::project_id, yaze::project::WorkspaceSettings::recent_files, yaze::project::GraphicsSheetSettings::reserved_blocks, yaze::project::GraphicsSheetSettings::reserved_sheets, resource_labels, yaze::project::RomMetadata::role, rom_address_overrides, rom_backup_folder, rom_filename, rom_metadata, yaze::project::WorkspaceSettings::saved_layouts, yaze::project::AtlasSettings::section_present, yaze::project::PlanningSettings::section_present, yaze::project::WorkspaceSettings::show_collision, yaze::project::WorkspaceSettings::show_grid, yaze::project::YazeProject::AgentSettings::show_reasoning, sprite_assets, sprite_catalog_file, sprite_source_root, yaze::project::YazeProject::MusicPersistence::storage_key, yaze::project::YazeProject::AgentSettings::stream_responses, yaze::project::AtlasSettings::symbols, symbols_filename, yaze::project::ProjectMetadata::tags, yaze::project::YazeProject::AgentSettings::temperature, terrain_catalog_file, yaze::project::YazeProject::AgentSettings::top_p, track_changes, yaze::project::DungeonOverlaySettings::track_object_ids, yaze::project::DungeonOverlaySettings::track_stop_tiles, yaze::project::DungeonOverlaySettings::track_switch_tiles, yaze::project::DungeonOverlaySettings::track_tiles, yaze::project::WorkspaceSettings::ui_theme, yaze::project::YazeProject::AgentSettings::use_custom_prompt, yaze::project::YazeProject::AgentSettings::verbose, yaze::project::ProjectMetadata::version, workspace_settings, yaze::project::RomMetadata::write_policy, yaze::project::ProjectMetadata::yaze_version, zscream_mappings, and zscream_project_file.

Referenced by LoadFromString(), LoadFromYazeFormat(), and Open().

◆ LoadFromYazeFormat()

absl::Status yaze::project::YazeProject::LoadFromYazeFormat ( const std::string & project_path)
private

Definition at line 1782 of file project.cc.

References MakeStorageKey(), and ParseFromString().

Referenced by LoadAllSettings(), and Open().

Here is the call graph for this function:

◆ SaveToYazeFormat()

absl::Status yaze::project::YazeProject::SaveToYazeFormat ( bool replace_existing = true)
private

◆ ImportFromZScreamFormat()

absl::Status yaze::project::YazeProject::ImportFromZScreamFormat ( const std::string & project_path)
private
Todo
Implement ZScream format parsing when format specification is

Definition at line 2110 of file project.cc.

References InitializeDefaults(), name, and zscream_project_file.

Referenced by Open().

Here is the call graph for this function:

◆ InitializeDefaults()

void yaze::project::YazeProject::InitializeDefaults ( )
private

Definition at line 2448 of file project.cc.

References asm_entry_point, asm_sources, yaze::project::WorkspaceSettings::autosave_enabled, yaze::project::WorkspaceSettings::autosave_interval_secs, yaze::project::WorkspaceSettings::backup_keep_daily, yaze::project::WorkspaceSettings::backup_keep_daily_days, yaze::project::WorkspaceSettings::backup_on_save, yaze::project::WorkspaceSettings::backup_retention_count, build_configurations, build_number, build_target, yaze::project::ProjectMetadata::created_by, yaze::project::WorkspaceSettings::dark_mode, yaze::core::FeatureFlags::Flags::dungeon, dungeon_overlay, dungeon_tile_patterns, yaze::project::RomMetadata::expected_hash, feature_flags, yaze::project::WorkspaceSettings::font_global_scale, GenerateProjectId(), yaze::core::FeatureFlags::Flags::Overworld::kApplyZSCustomOverworldASM, yaze::project::kDev, yaze::core::FeatureFlags::Flags::Overworld::kLoadCustomOverworld, yaze::core::FeatureFlags::Flags::Dungeon::kSaveBlocks, yaze::core::FeatureFlags::Flags::Dungeon::kSaveChests, yaze::core::FeatureFlags::Flags::Dungeon::kSaveCollision, yaze::core::FeatureFlags::Flags::kSaveDungeonMaps, yaze::core::FeatureFlags::Flags::Dungeon::kSaveEntrances, yaze::core::FeatureFlags::Flags::kSaveGraphicsSheet, yaze::core::FeatureFlags::Flags::Dungeon::kSaveObjects, yaze::core::FeatureFlags::Flags::Dungeon::kSavePalettes, yaze::core::FeatureFlags::Flags::Dungeon::kSavePits, yaze::core::FeatureFlags::Flags::Dungeon::kSavePotItems, yaze::core::FeatureFlags::Flags::Dungeon::kSaveRoomHeaders, yaze::core::FeatureFlags::Flags::Dungeon::kSaveSprites, yaze::core::FeatureFlags::Flags::Dungeon::kSaveTorches, yaze::project::kWarn, last_build_hash, yaze::project::YazeProject::MusicPersistence::last_saved_at, MakeStorageKey(), metadata, yaze::project::DungeonOverlaySettings::minecart_sprite_ids, music_persistence, yaze::core::FeatureFlags::Flags::overworld, palette_catalog_file, yaze::project::YazeProject::MusicPersistence::persist_custom_music, yaze::project::ProjectMetadata::project_id, yaze::project::RomMetadata::role, rom_metadata, yaze::project::WorkspaceSettings::show_collision, yaze::project::WorkspaceSettings::show_grid, sprite_assets, sprite_catalog_file, sprite_source_root, yaze::project::YazeProject::MusicPersistence::storage_key, terrain_catalog_file, track_changes, yaze::project::DungeonOverlaySettings::track_object_ids, yaze::project::DungeonOverlaySettings::track_stop_tiles, yaze::project::DungeonOverlaySettings::track_switch_tiles, yaze::project::DungeonOverlaySettings::track_tiles, yaze::project::WorkspaceSettings::ui_theme, workspace_settings, and yaze::project::RomMetadata::write_policy.

Referenced by Create(), ImportFromZScreamFormat(), ImportZScreamProject(), Open(), and ResetToDefaults().

Here is the call graph for this function:

◆ TryLoadZ3dkConfig()

void yaze::project::YazeProject::TryLoadZ3dkConfig ( )
private

Definition at line 2151 of file project.cc.

References yaze::project::Z3dkArtifactPaths::annotations_json, yaze::project::Z3dkSettings::artifact_paths, code_folder, yaze::project::Z3dkSettings::config_path, yaze::project::Z3dkSettings::defines, yaze::project::Z3dkSettings::emits, filepath, GetZ3dkArtifactPath(), hack_manifest_file, yaze::project::Z3dkArtifactPaths::hooks_json, yaze::project::Z3dkSettings::include_paths, yaze::project::Z3dkArtifactPaths::lint_json, yaze::project::Z3dkSettings::loaded, LOG_INFO, LOG_WARN, yaze::project::Z3dkSettings::lsp_log_enabled, yaze::project::Z3dkSettings::lsp_log_path, yaze::project::Z3dkSettings::main_files, yaze::project::Z3dkSettings::mapper, yaze::project::Z3dkSettings::preset, yaze::project::Z3dkSettings::prohibited_memory_ranges, yaze::project::Z3dkSettings::rom_path, yaze::project::Z3dkSettings::rom_size, yaze::project::Z3dkArtifactPaths::sourcemap_json, yaze::project::Z3dkSettings::std_defines_path, yaze::project::Z3dkSettings::std_includes_path, yaze::project::Z3dkSettings::symbols_format, yaze::project::Z3dkArtifactPaths::symbols_mlb, yaze::project::Z3dkSettings::symbols_path, yaze::project::Z3dkSettings::warn_branch_outside_bank, yaze::project::Z3dkSettings::warn_hook_return, yaze::project::Z3dkSettings::warn_org_collision, yaze::project::Z3dkSettings::warn_stack_balance, yaze::project::Z3dkSettings::warn_unauthorized_hook, yaze::project::Z3dkSettings::warn_unknown_width, yaze::project::Z3dkSettings::warn_unused_symbols, and z3dk_settings.

Referenced by LoadFromString(), Open(), and ReloadZ3dkSettings().

Here is the call graph for this function:

◆ TryLoadHackManifest()

◆ GenerateProjectId()

std::string yaze::project::YazeProject::GenerateProjectId ( ) const
private

Definition at line 2523 of file project.cc.

Referenced by Create(), InitializeDefaults(), Open(), and ParseFromString().

Member Data Documentation

◆ metadata

◆ name

◆ filepath

std::string yaze::project::YazeProject::filepath

Definition at line 301 of file project.h.

Referenced by yaze::project::ProjectManager::BackupProject(), yaze::core::VersionManager::BackupRomArtifact(), yaze::editor::anonymous_namespace{dungeon_canvas_issue_report.cc}::BuildReportSessionSummary(), yaze::editor::anonymous_namespace{message_source_sync.cc}::CanonicalProjectRoot(), yaze::editor::EditorManager::CommitRawProjectFileSave(), Create(), yaze::editor::ProjectManager::CreateFromTemplate(), yaze::editor::ProjectManager::CreateNewProject(), yaze::editor::ProjectManagementPanel::DrawProjectOverview(), yaze::editor::SettingsPanel::DrawProjectSettings(), yaze::editor::MenuTilemapEditorUI::DrawSourceBar(), yaze::editor::EditorManager::FinalizeNewProject(), yaze::editor::ProjectManager::FinalizeProjectCreation(), GetAbsolutePath(), yaze::cli::agent::tools::ProjectGraphTool::GetProjectInfo(), yaze::editor::ProjectManager::GetProjectPath(), GetRelativePath(), GetZ3dkArtifactPath(), yaze::editor::ProjectManager::HasActiveProject(), ImportLabelsFromZScream(), LoadAllSettings(), LoadFromString(), yaze::editor::EditorManager::LoadProjectWithRom(), MakeStorageKey(), NormalizePathsToAbsolute(), Open(), yaze::editor::EditorManager::PrepareRawProjectFileSave(), project_opened(), yaze::editor::EditorManager::ProjectFileDraftTargetsCurrentProject(), yaze::editor::EditorManager::QueueBuildCurrentProject(), yaze::editor::MinecartTrackEditorPanel::RefreshProjectBinding(), yaze::editor::MenuTilemapEditorUI::RefreshProjectFileList(), yaze::editor::PaletteEditor::ReloadPaletteCatalog(), yaze::editor::DungeonCanvasViewer::RenderSprites(), yaze::core::VersionManager::RepositoryRoot(), yaze::editor::MessageEditor::ResolveCanonicalBundlePath(), yaze::editor::MinecartTrackEditorPanel::ResolveTrackSourcePath(), yaze::core::VersionManager::RunCommand(), yaze::core::VersionManager::RunCommandOutput(), yaze::editor::EditorManager::RunProjectBuildCommand(), yaze::editor::EditorManager::SaveActiveProjectEditingWork(), SaveAs(), yaze::editor::EditorManager::SaveProject(), yaze::editor::ProjectManager::SaveProject(), yaze::editor::EditorManager::SaveProjectAs(), SaveToYazeFormat(), yaze::editor::MinecartTrackEditorPanel::SetProject(), yaze::editor::EditorManager::ShowProjectFileEditor(), yaze::editor::EditorManager::SwapProjectRom(), TryLoadHackManifest(), TryLoadZ3dkConfig(), and Validate().

◆ format

◆ rom_filename

std::string yaze::project::YazeProject::rom_filename

Definition at line 305 of file project.h.

Referenced by yaze::editor::OracleValidationPanel::DefaultRomPath(), yaze::editor::ProjectManagementPanel::DrawRomManagement(), yaze::cli::handlers::ProjectBundleVerifyCommandHandler::Execute(), yaze::cli::handlers::ProjectBuildCommandHandler::Execute(), ExportForZScream(), yaze::editor::anonymous_namespace{rom_lifecycle_manager.cc}::GetEditableProjectRomPath(), GetMissingFiles(), yaze::cli::agent::tools::ProjectGraphTool::GetProjectInfo(), yaze::project::ProjectManager::GetRecommendedFixesForProject(), yaze::editor::anonymous_namespace{rom_lifecycle_manager.cc}::GetRomTargetInfo(), yaze::editor::EditorManager::InitializeSubsystems(), IsEmpty(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::LoadProjectMutationContext(), yaze::editor::EditorManager::LoadProjectWithRom(), NormalizePathsToAbsolute(), Open(), yaze::editor::EditorManager::OpenProjectInternal(), yaze::editor::EditorManager::OpenRomOrProjectInternal(), ParseFromString(), yaze::editor::EditorManager::PrepareRawProjectFileSave(), yaze::editor::EditorManager::ReloadProjectRom(), yaze::editor::EditorManager::ResolveProjectBuildCommand(), yaze::editor::ProjectManager::ResolveProjectCreationPath(), yaze::editor::AssemblyEditor::ResolveZ3DisasmRomPath(), yaze::editor::EditorManager::SaveRomInternal(), SerializeToString(), yaze::editor::ProjectManager::SetProjectRom(), yaze::editor::EditorManager::SwapProjectRom(), Validate(), and yaze::editor::EditorManager::ValidateProjectRomSelection().

◆ rom_backup_folder

◆ additional_roms

std::vector<std::string> yaze::project::YazeProject::additional_roms

Definition at line 307 of file project.h.

Referenced by NormalizePathsToAbsolute(), ParseFromString(), and SerializeToString().

◆ rom_metadata

RomMetadata yaze::project::YazeProject::rom_metadata

Definition at line 308 of file project.h.

Referenced by yaze::editor::DungeonEditorV2::ApplyDoorConnection(), yaze::editor::RomLifecycleManager::CheckRomOpenPolicy(), yaze::editor::RomLifecycleManager::CheckRomRebindPolicy(), yaze::editor::RomLifecycleManager::CheckRomWritePolicy(), yaze::editor::SettingsPanel::DrawProjectSettings(), yaze::cli::handlers::ProjectBundleVerifyCommandHandler::Execute(), yaze::editor::EditorManager::GetProjectExpectedRomHash(), yaze::editor::EditorManager::GetProjectRomRole(), yaze::editor::EditorManager::GetProjectRomWritePolicy(), InitializeDefaults(), yaze::editor::RomLifecycleManager::IsRomHashMismatch(), yaze::editor::DungeonEditorV2::Load(), ParseFromString(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::PreflightExpandedMutation(), yaze::editor::DungeonEditorV2::PreflightObjectMutation(), yaze::editor::DungeonEditorV2::PreflightRoomTransfer(), yaze::editor::DungeonEditorV2::PreflightStreamMutation(), yaze::editor::DungeonEditorV2::Save(), yaze::editor::OverworldEditor::Save(), yaze::editor::PaletteEditor::Save(), yaze::editor::PaletteGroupPanel::SaveToRom(), SerializeToString(), yaze::editor::EditorManager::SwapProjectRom(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidateChestManifestConflicts(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidateCustomCollisionManifestConflicts(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidateDungeonEntranceSavePreflight(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidatePaletteManifestConflicts(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidatePotItemManifestConflicts(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::ValidateVanillaMutation(), and yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidateWaterFillManifestConflicts().

◆ code_folder

◆ assets_folder

◆ patches_folder

std::string yaze::project::YazeProject::patches_folder

◆ labels_filename

◆ symbols_filename

◆ cutscene_shots

std::string yaze::project::YazeProject::cutscene_shots

Definition at line 318 of file project.h.

Referenced by ParseFromString(), and SerializeToString().

◆ overworld_graphics_preview

std::string yaze::project::YazeProject::overworld_graphics_preview

◆ dungeon_tile_patterns

◆ custom_collision_json

std::string yaze::project::YazeProject::custom_collision_json

◆ custom_objects_folder

◆ hack_manifest_file

◆ sprite_catalog_file

◆ sprite_source_root

◆ sprite_assets

◆ terrain_catalog_file

std::string yaze::project::YazeProject::terrain_catalog_file

◆ palette_catalog_file

◆ custom_object_files

◆ feature_flags

◆ workspace_settings

◆ dungeon_overlay

◆ graphics_sheets

◆ atlas

◆ planning

PlanningSettings yaze::project::YazeProject::planning

◆ rom_address_overrides

◆ resource_labels

◆ use_embedded_labels

◆ hack_manifest

core::HackManifest yaze::project::YazeProject::hack_manifest

Definition at line 360 of file project.h.

Referenced by yaze::editor::DungeonEditorV2::ApplyDoorConnection(), yaze::editor::DungeonEditorV2::BuildContextSnapshot(), yaze::core::BuildGfxSheetInventoryOptions(), yaze::core::BuildGfxSheetWritePolicy(), yaze::editor::RomLifecycleManager::CheckOracleRomSafetyPreSave(), yaze::editor::RomLifecycleManager::CheckRomRebindPolicy(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::CollectDirtyPotItemWriteRanges(), yaze::editor::FeatureFlagEditorPanel::Draw(), yaze::editor::ManifestPanel::DrawManifestStatus(), yaze::editor::MessageEditor::DrawMessageSourceSync(), yaze::editor::SettingsPanel::DrawProjectSettings(), yaze::editor::ManifestPanel::DrawProtectedRegions(), yaze::editor::RoomTagEditorPanel::DrawQuickAssign(), yaze::editor::RoomTagEditorPanel::DrawTagTable(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::EnsureConfiguredHackManifestLoaded(), yaze::cli::handlers::ProjectBundleVerifyCommandHandler::Execute(), yaze::cli::OverworldAllocationCommandHandler::Execute(), yaze::cli::handlers::AtlasRenderCommandHandler::ExecuteWithContext(), yaze::editor::MessageEditor::ExpandedInspectionRange(), yaze::editor::dungeon_project_labels::FindDungeonForRoom(), yaze::cli::agent::tools::SpritesheetAnalysisTool::FindUnusedRegions(), yaze::editor::anonymous_namespace{rom_lifecycle_manager.cc}::GetBuildOutputProjectRomPath(), yaze::editor::DungeonEditorV2::GetDungeonRenderContextCensus(), yaze::editor::anonymous_namespace{rom_lifecycle_manager.cc}::GetEditableProjectRomPath(), yaze::editor::dungeon_project_labels::GetRoomTagLabel(), yaze::editor::MessageEditor::HasMessageSourceLayout(), yaze::editor::HasOracleCrumbleTag(), yaze::editor::DungeonEditorV2::Initialize(), yaze::editor::GraphicsEditor::Initialize(), InitializeResourceLabelProvider(), yaze::editor::dungeon_project_labels::LabelsForProject(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::LoadMessageSource(), yaze::cli::handlers::anonymous_namespace{dungeon_census_commands.cc}::LoadProjectFile(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::LoadProjectMutationContext(), yaze::editor::MinecartTrackEditorPanel::LoadTracks(), yaze::editor::SramViewerPanel::LoadVariablesFromManifest(), yaze::editor::workflow::anonymous_namespace{hack_workflow_backend_factory.cc}::LooksLikeOracleProject(), yaze::editor::DungeonEditorV2::PlanPendingRoomStreamRanges(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::PlanVanillaEdits(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::PreflightExpandedMutation(), yaze::editor::DungeonEditorV2::PreflightObjectMutation(), yaze::editor::DungeonEditorV2::PreflightRoomTransfer(), yaze::editor::DungeonEditorV2::PreflightStreamMutation(), yaze::editor::anonymous_namespace{dungeon_editor_v2.cc}::ProjectAdvertisesMinecartTracks(), yaze::editor::anonymous_namespace{minecart_track_editor_panel.cc}::ProjectSourceIdentity(), yaze::editor::ObjectCoveragePanel::RebuildIndex(), yaze::editor::FeatureFlagEditorPanel::RefreshFromManifest(), yaze::editor::EditorManager::RefreshResourceLabelProvider(), yaze::editor::DungeonCanvasViewer::RenderSprites(), yaze::editor::MessageEditor::ResolveCanonicalBundlePath(), yaze::editor::MessageEditor::ResolveExpandedMessageBaseId(), yaze::editor::OracleHackWorkflowBackend::ResolveManifest(), yaze::editor::workflow::ManifestOnlyHackWorkflowBackend::ResolveManifest(), yaze::editor::EditorManager::ResolveProjectBuildCommand(), yaze::editor::EditorManager::ResolveProjectRunTarget(), yaze::editor::MinecartTrackEditorPanel::ResolveTrackSourcePath(), yaze::editor::DungeonEditorV2::Save(), yaze::editor::OverworldEditor::Save(), yaze::editor::PaletteEditor::Save(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::SaveAllPotItemsForProject(), yaze::editor::EditorManager::SaveRomInternal(), yaze::editor::PaletteGroupPanel::SaveToRom(), yaze::editor::EditorManager::SwapProjectRom(), yaze::editor::SyncMessageSource(), TryLoadHackManifest(), Validate(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidateChestManifestConflicts(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidateCustomCollisionManifestConflicts(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidateDungeonEntranceSavePreflight(), yaze::editor::MinecartTrackEditorPanel::ValidateLoadedManifestIdentity(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidatePaletteManifestConflicts(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidatePotItemManifestConflicts(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::ValidateVanillaMutation(), yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::ValidateWaterFillManifestConflicts(), and ~YazeProject().

◆ z3dk_settings

◆ build_script

◆ output_folder

◆ build_configurations

std::vector<std::string> yaze::project::YazeProject::build_configurations

Definition at line 368 of file project.h.

Referenced by InitializeDefaults(), ParseFromString(), and SerializeToString().

◆ build_target

◆ asm_entry_point

std::string yaze::project::YazeProject::asm_entry_point

Definition at line 370 of file project.h.

Referenced by InitializeDefaults(), ParseFromString(), and SerializeToString().

◆ asm_sources

std::vector<std::string> yaze::project::YazeProject::asm_sources

Definition at line 371 of file project.h.

Referenced by InitializeDefaults(), ParseFromString(), and SerializeToString().

◆ git_repository

◆ track_changes

bool yaze::project::YazeProject::track_changes = true

◆ last_build_hash

std::string yaze::project::YazeProject::last_build_hash

◆ build_number

int yaze::project::YazeProject::build_number = 0

Definition at line 377 of file project.h.

Referenced by InitializeDefaults(), ParseFromString(), and SerializeToString().

◆ agent_settings

struct yaze::project::YazeProject::AgentSettings yaze::project::YazeProject::agent_settings

◆ zscream_project_file

std::string yaze::project::YazeProject::zscream_project_file

◆ zscream_mappings

std::map<std::string, std::string> yaze::project::YazeProject::zscream_mappings

Definition at line 415 of file project.h.

Referenced by ImportZScreamProject(), ParseFromString(), and SerializeToString().

◆ music_persistence

◆ file_passthrough

ProjectFilePassthrough yaze::project::YazeProject::file_passthrough

Definition at line 426 of file project.h.

Referenced by ParseFromString(), and SerializeToString().


The documentation for this struct was generated from the following files: