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 ValidateSavedSourceBindings (const std::string &content) const
 
absl::StatusOr< std::optional< std::string > > ResolveExpandedBuildRunTarget (const std::string &editing_source_path) const
 
absl::StatusOr< std::string > SerializeToString () const
 
absl::Status Save ()
 
absl::Status SaveNew ()
 
absl::Status SaveAs (const std::string &new_path)
 
absl::Status SaveAsWithLyraTerrain (const std::string &new_path, const core::LyraTerrainDocument &terrain, const std::optional< std::string > &expected_source_bytes)
 
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
 
bool IsOracleCompatible () 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 lyra_terrain_file
 
std::string lyra_build_request_file
 
std::string native_save_producer_file
 
std::string native_save_transfer_proof_file
 
std::string native_save_receipt_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::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 290 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 518 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 607 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(), yaze::cli::handlers::anonymous_namespace{project_plan_commands.cc}::ResolvePlanPath(), 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 )

◆ ValidateSavedSourceBindings()

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

◆ ResolveExpandedBuildRunTarget()

◆ SerializeToString()

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

Definition at line 1586 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::kEnableSpecialWorldExpansion, 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::Overworld::kSaveOverworldSprites, 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::core::FeatureFlags::Flags::kSaveWithChangeQueue, 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, lyra_build_request_file, lyra_terrain_file, 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, native_save_producer_file, native_save_receipt_file, native_save_transfer_proof_file, 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 yaze::editor::EditorManager::ProjectDescriptorMatchesDisk(), SaveToYazeFormat(), and ValidateSavedSourceBindings().

◆ Save()

◆ SaveNew()

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

Definition at line 769 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 1195 of file project.cc.

References filepath, and Save().

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

Here is the call graph for this function:

◆ SaveAsWithLyraTerrain()

◆ 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 2483 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 2528 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 2534 of file project.cc.

References SaveToYazeFormat().

Here is the call graph for this function:

◆ ResetToDefaults()

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

Definition at line 2539 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 3677 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 3692 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 3712 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 3736 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 2589 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 2614 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 2675 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::LyraTerrainCanvas::Create(), yaze::editor::AssemblyEditor::DrawFileBrowser(), yaze::editor::OverworldEditor::DrawProjectGraphicsSource(), yaze::editor::PopupManager::DrawRomBackupManagerPopup(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::EnsureConfiguredHackManifestLoaded(), yaze::cli::handlers::LyraVerifyProjectCommandHandler::Execute(), yaze::cli::handlers::OverworldTerrainCatalogCommandHandler::Execute(), yaze::cli::handlers::ProjectBundleVerifyCommandHandler::Execute(), yaze::cli::handlers::DungeonWallProfileCommandHandler::ExecuteWithContext(), 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::SpriteEditorPanel::GetOrCreateSpritePreview(), yaze::editor::AssemblyEditor::JumpToReference(), yaze::editor::AssemblyEditor::JumpToSymbolDefinition(), yaze::editor::LyraTerrainCanvas::Load(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::LoadProjectMutationContext(), yaze::editor::EditorManager::LoadProjectWithRom(), yaze::editor::SpriteEditor::LoadZsmFile(), NormalizePathsToAbsolute(), yaze::editor::LyraTerrainCanvas::Open(), yaze::editor::EditorManager::OpenRomOrProjectInternal(), PlanningFilePath(), yaze::editor::anonymous_namespace{editor_manager_project_io.cc}::ProjectSaveSources(), yaze::editor::PublishLyraTerrainSource(), yaze::editor::EditorManager::RecordCompletedNativeSave(), yaze::editor::OverworldEditor::RefreshPendingProjectGraphics(), yaze::editor::SpriteEditor::ReloadSpriteCatalog(), yaze::editor::DungeonEditorV2::ReloadWaterFillZones(), yaze::editor::DungeonCanvasViewer::RenderSprites(), RepairProject(), yaze::editor::FeatureFlagEditorPanel::ResolveConfigPath(), ResolveExpandedBuildRunTarget(), yaze::editor::ManifestPanel::ResolveManifestPath(), yaze::cli::handlers::ResolveOverworldRenderGraphicsPreview(), yaze::editor::EditorManager::ResolveProjectBuildCommand(), yaze::editor::EditorManager::ResolveProjectRunTarget(), yaze::editor::EditorManager::SaveRomInternal(), SerializeToString(), yaze::editor::SpriteEditor::SetSpriteGraphicsSource(), yaze::editor::EditorManager::SwapProjectRom(), TryLoadHackManifest(), Validate(), yaze::editor::LyraTerrainCanvas::ValidateSave(), and yaze::editor::anonymous_namespace{lyra_terrain_canvas.cc}::ValidateTarget().

◆ AtlasAnnotationPaths()

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

Definition at line 2747 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 2756 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

◆ IsEmpty()

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

Definition at line 2764 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 538 of file project.h.

References filepath, and name.

Referenced by yaze::editor::EditorManager::ActivateExistingSessionForOpen(), yaze::editor::EditorManager::ApplyCurrentProjectRuntimeContext(), yaze::editor::EditorManager::ApplyRememberedRomLoadChoice(), yaze::editor::DungeonEditorV2::ApplyRoomLabelEdit(), 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::CompletePendingProjectNativeSave(), yaze::editor::LyraTerrainCanvas::Create(), yaze::editor::EditorManager::CreateNewProjectFromRom(), yaze::editor::MinecartTrackEditorPanel::Draw(), yaze::editor::EditorManager::DrawInterface(), yaze::cli::handlers::LyraVerifyProjectCommandHandler::Execute(), yaze::editor::EditorManager::ExecuteEditorControl(), yaze::editor::dungeon_project_labels::FindDungeonForRoom(), yaze::editor::EditorManager::HandleSessionCreated(), yaze::editor::EditorManager::InitializeSubsystems(), yaze::editor::EditorManager::IsPlanningOnlyProjectSave(), yaze::editor::RomLifecycleManager::IsRomHashMismatch(), yaze::editor::LyraTerrainCanvas::Load(), yaze::editor::EditorManager::LoadRomInternal(), yaze::editor::LyraTerrainCanvas::Open(), yaze::editor::EditorManager::OpenRomOrProjectInternal(), yaze::editor::EditorManager::PrepareRawProjectFileSave(), yaze::editor::EditorManager::RecordCompletedNativeSave(), yaze::editor::EditorManager::RefreshResourceLabelProvider(), yaze::editor::UICoordinator::RefreshWorkflowActions(), yaze::editor::EditorManager::ReloadProjectRom(), yaze::editor::RenameProjectResourceLabel(), yaze::editor::EditorManager::RepairCurrentProject(), ResolveExpandedBuildRunTarget(), yaze::editor::EditorManager::ResolveProjectBuildCommand(), yaze::editor::EditorManager::ResolveProjectRunTarget(), yaze::editor::EditorManager::RetireNativeSaveTransfer(), yaze::editor::EditorManager::RomLoadOptionsOwnerMatchesCurrentSession(), yaze::editor::EditorManager::SaveActiveProjectEditingWork(), SaveAsWithLyraTerrain(), yaze::editor::EditorManager::SaveCurrentSessionAs(), yaze::editor::EditorManager::SaveProject(), yaze::editor::EditorManager::SaveProjectAs(), yaze::editor::MinecartTrackEditorPanel::SaveProjectSettings(), yaze::editor::EditorManager::SaveRomInternal(), yaze::editor::EditorManager::ShowRomLoadOptions(), yaze::editor::EditorManager::SwapProjectRom(), yaze::editor::EditorManager::SyncLayoutScopeFromCurrentProject(), yaze::editor::EditorManager::UpdateSystemUIs(), and yaze::editor::EditorManager::ValidateLyraTerrainProjectContext().

◆ IsOracleCompatible()

◆ ReloadHackManifest()

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

Definition at line 2782 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 2786 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 545 of file project.h.

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

◆ GetZ3dkArtifactPath()

◆ ParseFromString()

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

Definition at line 1987 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::core::FeatureFlags::Flags::Overworld::kEnableSpecialWorldExpansion, 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::Overworld::kSaveOverworldSprites, 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::core::FeatureFlags::Flags::kSaveWithChangeQueue, yaze::project::ProjectFilePassthrough::Line::kUnknownLine, yaze::project::kWarn, 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, lyra_build_request_file, lyra_terrain_file, 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, native_save_producer_file, native_save_receipt_file, native_save_transfer_proof_file, 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(), Open(), and ValidateSavedSourceBindings().

◆ LoadFromYazeFormat()

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

Definition at line 2429 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 2768 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 3106 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, lyra_build_request_file, lyra_terrain_file, MakeStorageKey(), metadata, yaze::project::DungeonOverlaySettings::minecart_sprite_ids, music_persistence, native_save_producer_file, native_save_receipt_file, native_save_transfer_proof_file, 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 2809 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 3186 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 304 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::LyraTerrainCanvas::Create(), yaze::core::ProjectPlan::CreateAndLink(), yaze::editor::ProjectManager::CreateFromTemplate(), yaze::editor::ProjectManager::CreateNewProject(), yaze::editor::ProjectManagementPanel::DrawProjectOverview(), yaze::editor::SettingsPanel::DrawProjectSettings(), yaze::editor::MenuTilemapEditorUI::DrawSourceBar(), yaze::cli::handlers::LyraVerifyProjectCommandHandler::Execute(), yaze::cli::GfxImportCommandHandler::Execute(), yaze::editor::EditorManager::ExecuteEditorControl(), yaze::cli::handlers::DungeonWallProfileCommandHandler::ExecuteWithContext(), yaze::editor::EditorManager::FinalizeNewProject(), yaze::editor::ProjectManager::FinalizeProjectCreation(), GetAbsolutePath(), yaze::editor::SpriteEditorPanel::GetOrCreateSpritePreview(), yaze::cli::agent::tools::ProjectGraphTool::GetProjectInfo(), yaze::editor::ProjectManager::GetProjectPath(), GetRelativePath(), GetZ3dkArtifactPath(), yaze::editor::ProjectManager::HasActiveProject(), ImportLabelsFromZScream(), LoadAllSettings(), LoadFromString(), yaze::editor::EditorManager::LoadProjectWithRom(), yaze::editor::SpriteEditor::LoadSpriteGraphicsBuffer(), MakeStorageKey(), NormalizePathsToAbsolute(), Open(), yaze::editor::EditorManager::PrepareRawProjectFileSave(), project_opened(), yaze::editor::anonymous_namespace{editor_manager.cc}::ProjectBuildEnvironment(), yaze::editor::EditorManager::ProjectDescriptorMatchesDisk(), yaze::editor::EditorManager::ProjectFileDraftTargetsCurrentProject(), yaze::editor::PublishLyraTerrainSource(), yaze::editor::EditorManager::QueueBuildCurrentProject(), yaze::editor::EditorManager::RecordCompletedNativeSave(), yaze::editor::MinecartTrackEditorPanel::RefreshProjectBinding(), yaze::editor::MenuTilemapEditorUI::RefreshProjectFileList(), yaze::editor::PaletteEditor::ReloadPaletteCatalog(), yaze::editor::DungeonCanvasViewer::RenderSprites(), yaze::core::VersionManager::RepositoryRoot(), yaze::editor::MessageEditor::ResolveCanonicalBundlePath(), ResolveExpandedBuildRunTarget(), yaze::cli::handlers::anonymous_namespace{project_plan_commands.cc}::ResolvePlanPath(), yaze::editor::MinecartTrackEditorPanel::ResolveTrackSourcePath(), yaze::editor::EditorManager::RetireNativeSaveTransfer(), 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::SpriteEditor::SetSpriteGraphicsSource(), yaze::editor::EditorManager::ShowProjectFileEditor(), yaze::editor::EditorManager::SwapProjectRom(), yaze::editor::PlanningEditor::SyncWithProject(), TryLoadHackManifest(), TryLoadZ3dkConfig(), Validate(), yaze::editor::EditorManager::ValidateLyraTerrainProjectContext(), ValidateSavedSourceBindings(), and yaze::editor::anonymous_namespace{lyra_terrain_canvas.cc}::ValidateTarget().

◆ format

◆ rom_filename

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

Definition at line 308 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::anonymous_namespace{editor_manager.cc}::ProjectBuildEnvironment(), yaze::editor::EditorManager::ReloadProjectRom(), ResolveExpandedBuildRunTarget(), 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(), yaze::editor::EditorManager::ValidateProjectRomSelection(), and yaze::editor::anonymous_namespace{lyra_terrain_canvas.cc}::ValidateTarget().

◆ rom_backup_folder

◆ additional_roms

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

◆ rom_metadata

RomMetadata yaze::project::YazeProject::rom_metadata

Definition at line 311 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::GfxImportCommandHandler::Execute(), yaze::cli::GfxRoomImportCommandHandler::Execute(), yaze::cli::handlers::ProjectBundleVerifyCommandHandler::Execute(), yaze::cli::handlers::ProjectBuildCommandHandler::Execute(), yaze::cli::handlers::ToolsPatchV3CommandHandler::Execute(), yaze::editor::EditorManager::GetProjectExpectedRomHash(), yaze::editor::EditorManager::GetProjectRomRole(), yaze::editor::EditorManager::GetProjectRomWritePolicy(), InitializeDefaults(), yaze::editor::RomLifecycleManager::IsRomHashMismatch(), yaze::editor::DungeonEditorV2::Load(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::LoadProjectMutationContext(), ParseFromString(), yaze::cli::handlers::anonymous_namespace{message_commands.cc}::PreflightExpandedMutation(), yaze::editor::DungeonEditorV2::PreflightObjectMutation(), yaze::editor::DungeonEditorV2::PreflightRoomTransfer(), yaze::editor::DungeonEditorV2::PreflightStreamMutation(), yaze::editor::EditorManager::ResolveProjectBuildCommand(), yaze::editor::DungeonEditorV2::Save(), yaze::editor::OverworldEditor::Save(), yaze::editor::PaletteEditor::Save(), yaze::editor::OverworldEditor::SaveLyraA0TerrainAs(), yaze::editor::EditorManager::SaveRomInternal(), 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

◆ overworld_graphics_preview

◆ dungeon_tile_patterns

◆ custom_collision_json

◆ custom_objects_folder

◆ hack_manifest_file

◆ sprite_catalog_file

◆ sprite_source_root

◆ sprite_assets

◆ terrain_catalog_file

◆ lyra_terrain_file

◆ lyra_build_request_file

◆ native_save_producer_file

std::string yaze::project::YazeProject::native_save_producer_file

◆ native_save_transfer_proof_file

std::string yaze::project::YazeProject::native_save_transfer_proof_file

◆ native_save_receipt_file

std::string yaze::project::YazeProject::native_save_receipt_file

◆ palette_catalog_file

◆ custom_object_files

◆ feature_flags

◆ workspace_settings

◆ dungeon_overlay

◆ graphics_sheets

◆ atlas

◆ planning

◆ rom_address_overrides

◆ resource_labels

◆ use_embedded_labels

◆ hack_manifest

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

Definition at line 376 of file project.h.

Referenced by yaze::editor::DungeonEditorV2::ApplyDoorConnection(), yaze::editor::DungeonCanvasViewer::BuildConnectedRoomGraph(), 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::SpriteEditorPanel::GetOrCreateSpritePreview(), yaze::editor::dungeon_project_labels::GetRoomTagLabel(), yaze::editor::MessageEditor::HasMessageSourceLayout(), yaze::editor::HasOracleCrumbleTag(), yaze::editor::DungeonEditorV2::Initialize(), yaze::editor::GraphicsEditor::Initialize(), InitializeResourceLabelProvider(), IsOracleCompatible(), 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::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::OverworldEditor::SaveLyraA0TerrainAs(), 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 384 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 386 of file project.h.

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

◆ asm_sources

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

Definition at line 387 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 393 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 431 of file project.h.

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

◆ music_persistence

◆ file_passthrough

ProjectFilePassthrough yaze::project::YazeProject::file_passthrough

Definition at line 442 of file project.h.

Referenced by ParseFromString(), and SerializeToString().


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