The Rom class is used to load, save, and modify Rom data. More...
#include <rom.h>


Classes | |
| struct | SaveSettings |
| struct | WriteAction |
Public Attributes | |
| std::array< std::array< uint8_t, 8 >, kNumMainBlocksets > | main_blockset_ids |
| std::array< std::array< uint8_t, 4 >, kNumRoomBlocksets > | room_blockset_ids |
| std::array< std::array< uint8_t, 4 >, kNumSpritesets > | spriteset_ids |
| std::array< std::array< uint8_t, 4 >, kNumPalettesets > | paletteset_ids |
Private Attributes | |
| unsigned long | size_ = 0 |
| std::string | title_ = "ROM not loaded" |
| std::string | filename_ |
| std::string | short_name_ |
| std::vector< uint8_t > | rom_data_ |
| std::vector< uint8_t > | graphics_buffer_ |
| project::ResourceLabelManager | resource_label_manager_ |
| gfx::PaletteGroupMap | palette_groups_ |
| zelda3_version | version_ = zelda3_version::US |
| bool | dirty_ = false |
Definition at line 292 of file rom.cc.
References yaze::RomLoadOptions::AppDefaults(), filename(), LoadFromFile(), yaze::RomLoadOptions::RawDataOnly(), and vector().
Referenced by yaze::editor::ProposalDrawer::AcceptProposal(), yaze::cli::agent::CreateProposalFromAgentResponse(), ROMPatchUtility::CreateV3PatchedROM(), yaze::editor::GraphicsEditor::DrawFileImport(), yaze::editor::GraphicsEditor::DrawObjImport(), yaze::editor::GraphicsEditor::DrawPaletteControls(), yaze::editor::GraphicsEditor::DrawTilemapImport(), yaze::cli::agent::anonymous_namespace{general_commands.cc}::EnsureRomLoaded(), yaze::cli::handlers::ProjectBuildCommandHandler::Execute(), yaze::cli::handlers::RomDiffCommandHandler::Execute(), yaze::cli::handlers::RomGenerateGoldenCommandHandler::Execute(), OverworldGoldenDataExtractor::ExtractAllData(), DungeonTestHarness::GenerateHarnessState(), yaze::cli::agent::HandleAcceptCommand(), yaze::cli::HandleDungeonExportLegacy(), yaze::cli::HandleDungeonListObjectsLegacy(), yaze::cli::HandleGfxExportLegacy(), yaze::cli::HandleGfxImportLegacy(), yaze::cli::HandleOverworldDescribeMapLegacy(), yaze::cli::HandleOverworldFindTileLegacy(), yaze::cli::HandleOverworldGetTileLegacy(), yaze::cli::HandleOverworldListWarpsLegacy(), yaze::cli::HandleOverworldSetTileLegacy(), yaze::cli::HandlePaletteExportLegacy(), yaze::cli::HandlePaletteImportLegacy(), yaze::cli::agent::HandleRevertCommand(), yaze::cli::resources::CommandContext::Initialize(), yaze::editor::LoadExpandedMessages(), LoadFromFile(), yaze::cli::agent::anonymous_namespace{conversation_test.cc}::LoadRomForAgent(), yaze::editor::RomFileManager::LoadRomFromFile(), yaze::cli::message::anonymous_namespace{message.cc}::LoadRomFromFlag(), main(), main(), main(), yaze::cli::ModernCLI::Run(), yaze::test::IntegratedTestSuite::RunRomBasicTest(), yaze::test::DungeonRoomTest::SetUp(), yaze::test::MessageRomTest::SetUp(), yaze::test::TEST_F(), and yaze::editor::MemoryEditorWithDiffChecker::Update().
| absl::Status yaze::Rom::LoadFromFile | ( | const std::string & | filename, |
| const RomLoadOptions & | options | ||
| ) |
Definition at line 298 of file rom.cc.
References filename(), filename_, yaze::RomLoadOptions::load_resource_labels, yaze::RomLoadOptions::load_zelda3_content, yaze::project::ResourceLabelManager::LoadLabels(), LoadZelda3(), resource_label_manager_, RETURN_IF_ERROR, rom_data_, short_name_, size_, yaze::RomLoadOptions::strip_header, and vector().

Definition at line 384 of file rom.cc.
References yaze::RomLoadOptions::AppDefaults(), data(), LoadFromData(), yaze::RomLoadOptions::RawDataOnly(), and vector().
Referenced by yaze::editor::OverworldEditor::ApplyZSCustomOverworldASM(), yaze::editor::GraphicsEditor::DrawClipboardImport(), yaze::cli::handlers::ProjectBuildCommandHandler::Execute(), yaze::test::anonymous_namespace{compression_test.cc}::ExpectCompressOk(), yaze::test::anonymous_namespace{compression_test.cc}::ExpectDecompressBytesOk(), yaze::test::anonymous_namespace{compression_test.cc}::ExpectDecompressOk(), yaze::cli::InitializeMockRom(), LoadFromData(), yaze::test::MockRom::SetTestData(), yaze::test::TEST_F(), yaze::test::TEST_F(), yaze::test::TEST_F(), yaze::test::TEST_F(), yaze::gfx::lc_lz2::ValidateCompressionResult(), and yaze::gfx::lc_lz2::ValidateCompressionResultV3().
| absl::Status yaze::Rom::LoadFromData | ( | const std::vector< uint8_t > & | data, |
| const RomLoadOptions & | options | ||
| ) |
Definition at line 390 of file rom.cc.
References data(), yaze::RomLoadOptions::load_zelda3_content, LoadZelda3(), RETURN_IF_ERROR, rom_data_, size_, and yaze::RomLoadOptions::strip_header.

| absl::Status yaze::Rom::LoadZelda3 | ( | ) |
Definition at line 411 of file rom.cc.
References yaze::RomLoadOptions::AppDefaults(), and LoadZelda3().
Referenced by InitializeForTesting(), LoadFromData(), LoadFromFile(), and LoadZelda3().

| absl::Status yaze::Rom::LoadZelda3 | ( | const RomLoadOptions & | options | ) |
Definition at line 415 of file rom.cc.
References yaze::gfx::PaletteGroupMap::clear(), yaze::RomLoadOptions::expand_to_full_image, yaze::gfx::LoadAllPalettes(), LoadGfxGroups(), main_blockset_ids, palette_groups_, paletteset_ids, yaze::RomLoadOptions::populate_gfx_groups, yaze::RomLoadOptions::populate_metadata, yaze::RomLoadOptions::populate_palettes, RETURN_IF_ERROR, rom_data_, room_blockset_ids, size_, spriteset_ids, yaze::RomLoadOptions::strip_header, title_, vector(), and version_.

| absl::Status yaze::Rom::LoadGfxGroups | ( | ) |
Definition at line 473 of file rom.cc.
References ASSIGN_OR_RETURN, zelda3_version_pointers::kDungeonPalettesGroups, yaze::kEntranceGfxGroup, yaze::kGfxGroupsPointer, yaze::kNumMainBlocksets, yaze::kNumPalettesets, yaze::kNumRoomBlocksets, yaze::kNumSpritesets, zelda3_version_pointers::kSpriteBlocksetPointer, main_blockset_ids, paletteset_ids, ReadWord(), rom_data_, room_blockset_ids, yaze::SnesToPc(), spriteset_ids, vector(), and version_constants().
Referenced by LoadZelda3().

|
inline |
Definition at line 94 of file rom.h.
References yaze::RomLoadOptions::AppDefaults(), LoadZelda3(), and RETURN_IF_ERROR.

| absl::Status yaze::Rom::SaveGfxGroups | ( | ) |
Definition at line 506 of file rom.cc.
References ASSIGN_OR_RETURN, zelda3_version_pointers::kDungeonPalettesGroups, yaze::kEntranceGfxGroup, yaze::kGfxGroupsPointer, yaze::kNumMainBlocksets, yaze::kNumPalettesets, yaze::kNumRoomBlocksets, yaze::kNumSpritesets, zelda3_version_pointers::kSpriteBlocksetPointer, main_blockset_ids, paletteset_ids, ReadWord(), rom_data_, room_blockset_ids, yaze::SnesToPc(), spriteset_ids, vector(), and version_constants().
Referenced by SaveToFile().

| absl::Status yaze::Rom::SaveToFile | ( | const SaveSettings & | settings | ) |
Definition at line 539 of file rom.cc.
References dirty_, filename(), filename_, yaze::core::FeatureFlags::get(), RETURN_IF_ERROR, rom_data_, SaveAllPalettes(), SaveGfxGroups(), and vector().
Referenced by yaze::editor::RomFileManager::CreateBackup(), yaze::cli::agent::CreateProposalFromAgentResponse(), yaze::cli::RomSandboxManager::CreateSandbox(), ROMPatchUtility::CreateV3PatchedROM(), yaze::cli::handlers::ProjectBuildCommandHandler::Execute(), yaze::cli::agent::HandleAcceptCommand(), yaze::cli::agent::HandleCommitCommand(), yaze::cli::HandleGfxImportLegacy(), yaze::cli::HandleOverworldSetTileLegacy(), yaze::cli::HandlePaletteImportLegacy(), yaze::test::RomDependentTestSuite::RunComprehensiveSaveTest(), yaze::test::E2ETestSuite::RunRomLoadSaveTest(), yaze::editor::MessageEditor::SaveExpandedMessages(), yaze::editor::RomFileManager::SaveRom(), yaze::editor::RomFileManager::SaveRomAs(), yaze::test::TestManager::TestRomSaveLoad(), and yaze_save_rom().
| absl::Status yaze::Rom::SavePalette | ( | int | index, |
| const std::string & | group_name, | ||
| gfx::SnesPalette & | palette | ||
| ) |
Definition at line 634 of file rom.cc.
References yaze::gfx::GetPaletteAddress(), yaze::gfx::SnesColor::is_modified(), RETURN_IF_ERROR, yaze::gfx::SnesColor::set_modified(), yaze::gfx::SnesPalette::size(), vector(), and WriteColor().
| absl::Status yaze::Rom::SaveAllPalettes | ( | ) |
Definition at line 648 of file rom.cc.
References yaze::gfx::PaletteGroupMap::for_each(), palette_groups_, and RETURN_IF_ERROR.
Referenced by SaveToFile().

|
inline |
Definition at line 110 of file rom.h.
References yaze::gfx::PaletteGroupMap::clear(), palette_groups_, rom_data_, and size_.

Definition at line 661 of file rom.cc.
Referenced by yaze::zelda3::TitleScreen::BuildTileset(), yaze::zelda3::OverworldMapScreen::Create(), yaze::test::ZSCustomOverworldTestSuite::DrawConfiguration(), yaze::zelda3::LoadDungeonMaps(), yaze::zelda3::LoadEntrances(), yaze::zelda3::LoadHoles(), yaze::zelda3::LoadItems(), yaze::zelda3::OverworldMapScreen::LoadMapData(), yaze::zelda3::TitleScreen::LoadTitleScreen(), ReadHelper(), yaze::test::E2ETestSuite::RunCorruptionDetectionTest(), yaze::test::E2ETestSuite::RunDataIntegrityTest(), yaze::test::ZSCustomOverworldTestSuite::RunDataIntegrityTest(), yaze::test::ZSCustomOverworldTestSuite::RunFeatureToggleTest(), yaze::test::E2ETestSuite::RunLargeScaleEditingTest(), yaze::test::RomDependentTestSuite::RunRomDataAccessTest(), yaze::test::E2ETestSuite::RunTransactionSystemTest(), yaze::test::ZSCustomOverworldTestSuite::RunV2UpgradeTest(), yaze::test::ZSCustomOverworldTestSuite::RunV3UpgradeTest(), yaze::test::ZSCustomOverworldTestSuite::RunVanillaBaselineTest(), yaze::zelda3::TitleScreen::Save(), yaze::test::TEST_F(), yaze::test::OverworldE2ETest::ValidateROMAgainstGoldenData(), yaze::test::ZSCustomOverworldTestSuite::ValidateVersionAddresses(), yaze::test::ZSCustomOverworldUpgradeTest::ValidateVersionAddresses(), OverworldGoldenDataExtractor::WriteASMVersionInfo(), yaze::Transaction::WriteByte(), OverworldGoldenDataExtractor::WriteMusicData(), OverworldGoldenDataExtractor::WriteOverlayData(), and OverworldGoldenDataExtractor::WritePaletteData().
Definition at line 668 of file rom.cc.
Referenced by yaze::zelda3::TitleScreen::BuildTileset(), yaze::zelda3::OverworldMapScreen::Create(), yaze::editor::DungeonRoomLoader::LoadAllRooms(), yaze::editor::DungeonCanvasViewer::LoadAndRenderRoomGraphics(), yaze::zelda3::LoadDungeonMaps(), yaze::zelda3::LoadDungeonMapTile16(), yaze::zelda3::LoadEntrances(), yaze::zelda3::LoadEntranceTileTypes(), LoadGfxGroups(), yaze::zelda3::LoadHoles(), yaze::zelda3::Inventory::LoadItemIcons(), yaze::zelda3::TitleScreen::LoadTitleScreen(), ReadHelper(), yaze::test::RomDependentTestSuite::RunRomDataAccessTest(), yaze::test::E2ETestSuite::RunTransactionSystemTest(), SaveGfxGroups(), OverworldGoldenDataExtractor::WriteBasicROMInfo(), yaze::Transaction::WriteColor(), and yaze::Transaction::WriteWord().
Definition at line 676 of file rom.cc.
Referenced by yaze::zelda3::LoadItems(), and yaze::Transaction::WriteLong().
| absl::StatusOr< std::vector< uint8_t > > yaze::Rom::ReadByteVector | ( | uint32_t | offset, |
| uint32_t | length | ||
| ) | const |
Definition at line 685 of file rom.cc.
Referenced by yaze::LoadLinkGraphics(), ReadHelper(), yaze::test::TestManager::TestRomDataIntegrity(), and yaze::Transaction::WriteVector().
| absl::StatusOr< gfx::Tile16 > yaze::Rom::ReadTile16 | ( | uint32_t | tile16_id | ) |
Definition at line 697 of file rom.cc.
References ASSIGN_OR_RETURN, and yaze::kTile16Ptr.
Referenced by yaze::editor::Tile16Editor::GetCurrentTile16Data(), and yaze::editor::Tile16Editor::SetCurrentTile().
| absl::Status yaze::Rom::WriteTile16 | ( | int | tile16_id, |
| const gfx::Tile16 & | tile | ||
| ) |
Definition at line 715 of file rom.cc.
References yaze::kTile16Ptr, RETURN_IF_ERROR, yaze::gfx::Tile16::tile0_, yaze::gfx::Tile16::tile1_, yaze::gfx::Tile16::tile2_, and yaze::gfx::Tile16::tile3_.
Referenced by yaze::editor::Tile16Editor::UpdateROMTile16Data().
Definition at line 728 of file rom.cc.
References LOG_DEBUG.
Referenced by ROMPatchUtility::ApplyV3Patch(), yaze::test::ZSCustomOverworldTestSuite::ApplyVersionPatch(), yaze::test::ZSCustomOverworldUpgradeTest::ApplyVersionPatch(), yaze::cli::handlers::HexWriteCommandHandler::Execute(), yaze::Transaction::Rollback(), yaze::test::E2ETestSuite::RunCorruptionDetectionTest(), yaze::test::ZSCustomOverworldTestSuite::RunFeatureToggleTest(), yaze::test::E2ETestSuite::RunLargeScaleEditingTest(), yaze::zelda3::OverworldMapScreen::Save(), yaze::zelda3::TitleScreen::Save(), yaze::zelda3::RoomEntrance::Save(), yaze::zelda3::SaveDungeonMaps(), yaze::zelda3::SaveEntrances(), yaze::zelda3::SaveExits(), yaze::editor::MessageEditor::SaveExpandedMessages(), yaze::zelda3::SaveHoles(), yaze::zelda3::SaveItems(), yaze::Transaction::WriteByte(), and WriteHelper().
Definition at line 740 of file rom.cc.
References LOG_DEBUG.
Referenced by yaze::Transaction::Rollback(), yaze::zelda3::SaveDungeonMapTile16(), and yaze::Transaction::WriteWord().
Definition at line 753 of file rom.cc.
References LOG_DEBUG.
Referenced by yaze::zelda3::RoomEntrance::Save(), yaze::zelda3::SaveEntrances(), yaze::zelda3::SaveExits(), yaze::gfx::PaletteManager::SaveGroup(), yaze::zelda3::SaveHoles(), yaze::zelda3::SaveItems(), and WriteHelper().
Definition at line 766 of file rom.cc.
References LOG_DEBUG.
Referenced by yaze::Transaction::Rollback(), yaze::zelda3::SaveItems(), and yaze::Transaction::WriteLong().
Definition at line 780 of file rom.cc.
References LOG_DEBUG.
Referenced by yaze::editor::ProposalDrawer::AcceptProposal(), yaze::cli::agent::HandleAcceptCommand(), yaze::Transaction::Rollback(), yaze::zelda3::Room::SaveObjects(), WriteHelper(), and yaze::Transaction::WriteVector().
| absl::Status yaze::Rom::WriteColor | ( | uint32_t | address, |
| const gfx::SnesColor & | color | ||
| ) |
Definition at line 795 of file rom.cc.
References LOG_DEBUG, and yaze::gfx::SnesColor::snes().
Referenced by SavePalette(), yaze::Transaction::WriteColor(), yaze::editor::PaletteGroupCard::WriteColorToRom(), and WriteHelper().

|
inline |
Definition at line 132 of file rom.h.
References WriteHelper().
Referenced by yaze::test::TEST_F(), and yaze::test::TEST_F().

Definition at line 140 of file rom.h.
References ReadTransaction(), and vector().
Referenced by yaze::zelda3::LoadExits(), ReadTransaction(), yaze::test::TEST_F(), and yaze::test::TEST_F().

|
inlinevirtual |
Definition at line 159 of file rom.h.
References yaze::Rom::WriteAction::address, yaze::Rom::WriteAction::value, WriteByte(), WriteColor(), WriteShort(), and WriteVector().
Referenced by WriteTransaction().

Definition at line 181 of file rom.h.
References ASSIGN_OR_RETURN, ReadByte(), ReadByteVector(), ReadWord(), and vector().

|
inline |
|
inline |
Definition at line 200 of file rom.h.
References rom_data_.
Referenced by yaze::net::CollaborationService::ApplyDiff(), yaze::cli::Tile16ProposalGenerator::ApplyProposal(), yaze::net::CollaborationService::ApplyRomSync(), yaze::net::RomVersionManager::ComputeRomHash(), yaze::zelda3::Room::CopyRoomGraphicsToBuffer(), yaze::zelda3::Inventory::Create(), yaze::zelda3::OverworldMapScreen::Create(), yaze::zelda3::TitleScreen::Create(), yaze::cli::agent::CreateProposalFromAgentResponse(), yaze::cli::RomSandboxManager::CreateSandbox(), yaze::net::RomVersionManager::CreateSnapshot(), yaze::test::TestManager::CreateTestRomCopy(), yaze::net::RomVersionManager::DetectCorruption(), yaze::editor::PaletteGroupCard::Draw(), yaze::gui::PaletteEditorWidget::Draw(), yaze::editor::GraphicsEditor::DrawClipboardImport(), yaze::test::E2ETestSuite::DrawConfiguration(), yaze::test::RomDependentTestSuite::DrawConfiguration(), yaze::test::ZSCustomOverworldTestSuite::DrawConfiguration(), yaze::editor::DungeonCanvasViewer::DrawDungeonCanvas(), yaze::editor::DungeonRoomSelector::DrawEntranceSelector(), yaze::editor::DungeonEditorV2::DrawEntrancesListCard(), yaze::zelda3::ObjectDrawer::DrawObject(), yaze::editor::DungeonObjectSelector::DrawObjectBrowser(), yaze::editor::OverworldEditor::DrawOverworldCanvas(), yaze::editor::palette_utility::DrawPalettePreview(), yaze::editor::DungeonObjectSelector::DrawRoomGraphics(), yaze::editor::DungeonEditorV2::DrawRoomGraphicsCard(), yaze::editor::DungeonRoomSelector::DrawRoomSelector(), yaze::editor::DungeonEditorV2::DrawRoomsListCard(), yaze::editor::AgentEditor::DrawStatusPanel(), yaze::test::TestManager::DrawTestDashboard(), yaze::cli::agent::anonymous_namespace{general_commands.cc}::EnsureRomLoaded(), yaze::cli::handlers::RomInfoCommandHandler::Execute(), yaze::cli::handlers::RomValidateCommandHandler::Execute(), yaze::cli::ResourceContextBuilder::ExportToJson(), yaze::cli::ResourceContextBuilder::ExtractDungeonLabels(), yaze::cli::ResourceContextBuilder::ExtractEntranceLabels(), yaze::cli::ResourceContextBuilder::ExtractOverworldLabels(), yaze::cli::ResourceContextBuilder::ExtractRoomLabels(), yaze::cli::ResourceContextBuilder::ExtractSpriteLabels(), yaze::net::CollaborationService::GenerateDiff(), yaze::cli::Tile16ProposalGenerator::GenerateDiff(), yaze::net::RomVersionManager::GetCurrentHash(), yaze::cli::ResourceContextBuilder::GetLabels(), yaze::zelda3::RoomLayout::GetLayoutAddress(), yaze::editor::DungeonEditorV2::GetRomStatus(), yaze::editor::OverworldEditor::GetRomStatus(), yaze::editor::GetRomStatusMessage(), yaze::cli::agent::HandleCommitCommand(), yaze::cli::agent::HandleDiffCommand(), yaze::cli::HandleDungeonExportLegacy(), yaze::cli::HandleDungeonListObjectsLegacy(), yaze::cli::HandleGfxExportLegacy(), yaze::cli::HandleGfxImportLegacy(), yaze::cli::message::HandleMessageListCommand(), yaze::cli::message::HandleMessageReadCommand(), yaze::cli::message::HandleMessageSearchCommand(), yaze::cli::message::HandleMessageStatsCommand(), yaze::cli::HandleOverworldDescribeMapLegacy(), yaze::cli::HandleOverworldFindTileLegacy(), yaze::cli::HandleOverworldGetTileLegacy(), yaze::cli::HandleOverworldListWarpsLegacy(), yaze::cli::HandleOverworldSetTileLegacy(), yaze::cli::HandlePaletteExportLegacy(), yaze::cli::HandlePaletteImportLegacy(), yaze::cli::agent::HandleRevertCommand(), yaze::net::CollaborationService::HostSession(), yaze::cli::resources::CommandContext::Initialize(), yaze::net::CollaborationService::Initialize(), yaze::editor::DungeonEditorV2::IsRomLoaded(), yaze::editor::OverworldEditor::IsRomLoaded(), yaze::editor::RomFileManager::IsRomLoaded(), yaze::editor::IsRomReadyForEditing(), yaze::test::MockRom::IsValid(), yaze::net::CollaborationService::JoinSession(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::OverworldEditor::Load(), yaze::editor::DungeonRoomLoader::LoadAllRooms(), yaze::editor::DungeonCanvasViewer::LoadAndRenderRoomGraphics(), yaze::editor::DungeonRoomLoader::LoadAndRenderRoomGraphics(), yaze::zelda3::Room::LoadAnimatedGraphics(), yaze::zelda3::Room::LoadLayoutTilesToBuffer(), yaze::cli::agent::anonymous_namespace{conversation_test.cc}::LoadRomForAgent(), yaze::editor::DungeonRoomLoader::LoadRoom(), yaze::editor::DungeonRoomLoader::LoadRoomEntrances(), main(), yaze::cli::Tile16ProposalGenerator::ParseReplaceTileCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetAreaCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetTileCommand(), yaze::test::TestManager::RefreshCurrentRom(), yaze::editor::DungeonRoomLoader::ReloadAllRoomGraphics(), yaze::gui::DungeonObjectEmulatorPreview::Render(), yaze::cli::HexViewerComponent::Render(), yaze::zelda3::Room::RenderObjectsToBackground(), yaze::net::RomVersionManager::RestoreSnapshot(), yaze::cli::ModernCLI::Run(), yaze::emu::Emulator::Run(), yaze::test::IntegratedTestSuite::RunRomBasicTest(), yaze::test::E2ETestSuite::RunTests(), yaze::test::RomDependentTestSuite::RunTests(), yaze::test::ZSCustomOverworldTestSuite::RunTests(), yaze::editor::DungeonEditorV2::Save(), yaze::zelda3::TitleScreen::Save(), yaze::cli::agent::ConversationalAgentService::SendMessage(), yaze::test::TestManager::SetCurrentRom(), yaze::editor::AgentChatWidget::SetRomContext(), yaze::net::CollaborationService::SubmitChangesAsProposal(), yaze::test::TestManager::TestRomDataIntegrity(), yaze::test::TestManager::TestRomSaveLoad(), yaze::test::TestManager::TestRomWithCopy(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), yaze::cli::UnifiedLayout::UnifiedLayout(), yaze::editor::OverworldEditor::Update(), yaze::editor::PaletteEditor::Update(), and yaze::net::RomVersionManager::ValidateRomIntegrity().
|
inline |
Definition at line 201 of file rom.h.
References dirty_.
Referenced by yaze::test::TestManager::DrawTestDashboard(), yaze::test::TestManager::RefreshCurrentRom(), set_dirty(), and yaze::test::TestManager::ShowRomComparisonResults().
Definition at line 202 of file rom.h.
References dirty(), and dirty_.
Referenced by yaze::editor::OverworldEditor::DrawOverworldCanvas(), yaze::editor::OverworldEditor::HandleEntityInsertion(), yaze::gfx::PaletteManager::SaveGroup(), and yaze::editor::OverworldEditor::Update().

|
inline |
Definition at line 204 of file rom.h.
References title_.
Referenced by yaze::cli::tui::ChatTUI::ChatTUI(), yaze::cli::EnhancedStatusPanel::CollectRomInfo(), yaze::cli::UnifiedLayout::CreateChatPanel(), yaze::cli::UnifiedLayout::CreateStatusPanel(), yaze::test::TestManager::CreateTestRomCopy(), yaze::test::E2ETestSuite::DrawConfiguration(), yaze::test::RomDependentTestSuite::DrawConfiguration(), yaze::test::ZSCustomOverworldTestSuite::DrawConfiguration(), yaze::editor::AgentEditor::DrawStatusPanel(), yaze::test::TestManager::DrawTestDashboard(), yaze::cli::handlers::RomInfoCommandHandler::Execute(), yaze::cli::handlers::RomValidateCommandHandler::Execute(), yaze::editor::RomSession::GetDisplayName(), yaze::editor::DungeonEditorV2::GetRomStatus(), yaze::editor::OverworldEditor::GetRomStatus(), yaze::editor::GetRomStatusMessage(), yaze::cli::agent::HandleTestConversationCommand(), yaze::editor::IsRomReadyForEditing(), yaze::editor::RomFileManager::LoadRomFromFile(), yaze::cli::EnhancedChatComponent::ProcessMessage(), yaze::test::TestManager::RefreshCurrentRom(), yaze::test::RomDependentTestSuite::RunComprehensiveSaveTest(), yaze::test::IntegratedTestSuite::RunRomBasicTest(), yaze::test::RomDependentTestSuite::RunRomHeaderValidationTest(), yaze::test::RomDependentTestSuite::RunTests(), yaze::test::RomDependentTestSuite::RunTile16EditorTest(), yaze::test::TestManager::SetCurrentRom(), yaze::cli::tui::ChatTUI::SetRomContext(), yaze::cli::UnifiedLayout::SetRomContext(), yaze::test::TestManager::TestRomDataIntegrity(), yaze::test::TestManager::TestRomSaveLoad(), yaze::cli::UnifiedLayout::UnifiedLayout(), yaze::editor::RomFileManager::ValidateRom(), yaze::test::OverworldE2ETest::ValidateROMAgainstGoldenData(), and OverworldGoldenDataExtractor::WriteBasicROMInfo().
|
inline |
Definition at line 205 of file rom.h.
References size_.
Referenced by yaze::cli::tui::ChatTUI::ChatTUI(), yaze::cli::EnhancedStatusPanel::CollectRomInfo(), yaze::net::RomVersionManager::ComputeRomHash(), yaze::cli::UnifiedLayout::CreateChatPanel(), yaze::cli::UnifiedLayout::CreateHexViewerPanel(), yaze::net::RomVersionManager::CreateSnapshot(), yaze::net::RomVersionManager::DetectCorruption(), yaze::test::E2ETestSuite::DrawConfiguration(), yaze::test::RomDependentTestSuite::DrawConfiguration(), yaze::editor::GraphicsEditor::DrawMemoryEditor(), yaze::cli::agent::EnhancedTUI::DrawSidebar(), yaze::test::TestManager::DrawTestDashboard(), yaze::zelda3::RoomObject::EnsureTilesLoaded(), yaze::cli::handlers::HexReadCommandHandler::Execute(), yaze::cli::handlers::HexWriteCommandHandler::Execute(), yaze::cli::handlers::HexSearchCommandHandler::Execute(), yaze::cli::handlers::RomInfoCommandHandler::Execute(), yaze::cli::handlers::RomValidateCommandHandler::Execute(), yaze::cli::handlers::RomDiffCommandHandler::Execute(), yaze::cli::handlers::RomGenerateGoldenCommandHandler::Execute(), Expand(), yaze::net::RomVersionManager::GetCurrentHash(), yaze::zelda3::RoomLayout::GetLayoutAddress(), yaze::cli::agent::HandleAcceptCommand(), yaze::test::MockRom::IsValid(), yaze::zelda3::RoomLayout::LoadLayout(), yaze::zelda3::Room::LoadObjects(), yaze::editor::Tile16Editor::LoadTile8(), yaze::zelda3::OverworldMap::LoadVanillaOverlayData(), main(), yaze::zelda3::Room::ParseObjectsFromLocation(), yaze::zelda3::ObjectParser::ParseSubtype1(), yaze::zelda3::ObjectParser::ParseSubtype2(), yaze::zelda3::ObjectParser::ParseSubtype3(), yaze::cli::EnhancedChatComponent::ProcessMessage(), yaze::zelda3::ObjectParser::ReadTileData(), yaze::test::TestManager::RefreshCurrentRom(), yaze::cli::HexViewerComponent::Render(), yaze::net::RomVersionManager::RestoreSnapshot(), yaze::test::IntegratedTestSuite::RunRomBasicTest(), yaze::test::RomDependentTestSuite::RunRomHeaderValidationTest(), yaze::test::E2ETestSuite::RunRomLoadSaveTest(), yaze::test::RomDependentTestSuite::RunTests(), yaze::zelda3::Room::SaveObjects(), yaze::editor::AgentChatWidget::SetRomContext(), yaze::cli::tui::ChatTUI::SetRomContext(), yaze::test::TestManager::ShowRomComparisonResults(), yaze::test::TEST_F(), yaze::test::TestManager::TestRomDataIntegrity(), yaze::editor::MemoryEditorWithDiffChecker::Update(), yaze::gfx::lc_lz2::ValidateCompressionResult(), yaze::gfx::lc_lz2::ValidateCompressionResultV3(), yaze::editor::RomFileManager::ValidateRom(), yaze::test::OverworldE2ETest::ValidateROMAgainstGoldenData(), yaze::net::RomVersionManager::ValidateRomIntegrity(), and OverworldGoldenDataExtractor::WriteBasicROMInfo().
|
inline |
Definition at line 206 of file rom.h.
References rom_data_.
Referenced by yaze::editor::BuildDictionaryEntries(), yaze::zelda3::CalculateRoomSize(), yaze::net::RomVersionManager::ComputeRomHash(), yaze::net::RomVersionManager::CreateSnapshot(), yaze::editor::GraphicsEditor::DecompressImportData(), yaze::editor::GraphicsEditor::DecompressSuperDonkey(), yaze::net::RomVersionManager::DetectCorruption(), yaze::test::TestManager::DrawTestDashboard(), yaze::editor::GraphicsEditor::DrawTilemapImport(), yaze::zelda3::RoomObject::EnsureTilesLoaded(), yaze::cli::handlers::HexReadCommandHandler::Execute(), yaze::cli::handlers::HexSearchCommandHandler::Execute(), yaze::test::anonymous_namespace{compression_test.cc}::ExpectDecompressBytesOk(), yaze::test::anonymous_namespace{compression_test.cc}::ExpectDecompressOk(), yaze::net::RomVersionManager::GetCurrentHash(), yaze::editor::MessageEditor::Initialize(), yaze::Load2BppGraphics(), yaze::LoadAllGraphicsData(), yaze::zelda3::LoadDungeonMaps(), yaze::zelda3::LoadDungeonMapTile16(), yaze::zelda3::LoadEntrances(), yaze::zelda3::LoadExits(), yaze::LoadFontGraphics(), LoadFromData(), LoadFromData(), yaze::zelda3::RoomLayout::LoadLayout(), yaze::cli::message::anonymous_namespace{message.cc}::LoadMessages(), yaze::zelda3::LoadRoomFromRom(), yaze::zelda3::ObjectParser::ParseSubtype1(), yaze::zelda3::ObjectParser::ParseSubtype2(), yaze::zelda3::ObjectParser::ParseSubtype3(), yaze::zelda3::ObjectParser::ReadTileData(), yaze::zelda3::anonymous_namespace{room_layout.cc}::ReadWord(), yaze::zelda3::Room::RenderObjectsToBackground(), yaze::zelda3::RoomEntrance::RoomEntrance(), yaze::SaveAllGraphicsData(), yaze::zelda3::SaveDungeonMapTile16(), yaze::test::MockRom::SetObjectData(), yaze::test::MockRom::SetRoomData(), yaze::test::MockRom::SetTestData(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), yaze::gfx::lc_lz2::ValidateCompressionResult(), and yaze::gfx::lc_lz2::ValidateCompressionResultV3().
|
inline |
Definition at line 207 of file rom.h.
References rom_data_.
Referenced by yaze::editor::GraphicsEditor::DrawMemoryEditor(), yaze::editor::GraphicsEditor::DrawPaletteControls(), yaze::zelda3::music::Tracker::GetSpcAddr(), yaze::editor::LoadExpandedMessages(), yaze::net::RomVersionManager::RestoreSnapshot(), yaze::editor::MessageEditor::SaveExpandedMessages(), and yaze::zelda3::music::Tracker::WriteSpcData().
|
inline |
Definition at line 208 of file rom.h.
References rom_data_.
Referenced by yaze::SaveAllGraphicsData(), yaze::gfx::lc_lz2::ValidateCompressionResult(), and yaze::gfx::lc_lz2::ValidateCompressionResultV3().
|
inline |
Definition at line 210 of file rom.h.
References rom_data_.
Referenced by yaze::editor::ProposalDrawer::AcceptProposal(), yaze::editor::OverworldEditor::ApplyZSCustomOverworldASM(), yaze::cli::EnhancedStatusPanel::CollectRomInfo(), yaze::cli::UnifiedLayout::CreateHexViewerPanel(), yaze::test::TestManager::CreateTestRomCopy(), yaze::cli::handlers::ProjectBuildCommandHandler::Execute(), yaze::cli::handlers::RomDiffCommandHandler::Execute(), yaze::cli::handlers::RomGenerateGoldenCommandHandler::Execute(), yaze::test::anonymous_namespace{compression_test.cc}::ExpectCompressOk(), DungeonTestHarness::GenerateHarnessState(), yaze::test::MockRom::GetObjectData(), yaze::test::MockRom::GetRoomData(), yaze::cli::agent::HandleAcceptCommand(), yaze::gui::DungeonObjectEmulatorPreview::Initialize(), LoadFromData(), LoadFromFile(), LoadFromFile(), LoadGfxGroups(), LoadZelda3(), main(), ReadHelper(), ReadTransaction(), yaze::cli::HexViewerComponent::Render(), yaze::emu::Emulator::Run(), yaze::editor::MessageEditor::Save(), SaveGfxGroups(), SavePalette(), and SaveToFile().
|
inline |
Definition at line 211 of file rom.h.
References filename_.
Referenced by yaze::editor::RomFileManager::CreateBackup(), yaze::cli::RomSandboxManager::CreateSandbox(), yaze::test::RomDependentTestSuite::DrawConfiguration(), yaze::test::TestManager::DrawTestDashboard(), yaze::editor::RomFileManager::GetRomFilename(), yaze::cli::agent::HandleAcceptCommand(), yaze::cli::HandleGfxImportLegacy(), yaze::cli::HandlePaletteImportLegacy(), yaze::cli::agent::HandleRevertCommand(), LoadFromFile(), LoadFromFile(), yaze::editor::RomSession::RomSession(), SaveToFile(), and yaze::editor::MemoryEditorWithDiffChecker::Update().
|
inline |
|
inline |
Definition at line 213 of file rom.h.
References short_name_.
Referenced by yaze::editor::UICoordinator::DrawRomSelector().
|
inline |
Definition at line 214 of file rom.h.
References graphics_buffer_.
Referenced by yaze::zelda3::OverworldMap::BuildTileset(), yaze::zelda3::TitleScreen::BuildTileset(), and yaze::zelda3::OverworldMap::ProcessGraphicsBuffer().
|
inline |
Definition at line 215 of file rom.h.
References graphics_buffer_.
Referenced by yaze::LoadAllGraphicsData().
|
inline |
Definition at line 216 of file rom.h.
References palette_groups_.
Referenced by yaze::zelda3::Inventory::BuildTileset(), yaze::zelda3::TitleScreen::Create(), yaze::editor::GraphicsEditor::DecompressImportData(), yaze::editor::GraphicsEditor::DecompressSuperDonkey(), yaze::editor::DungeonObjectSelector::DrawObjectAssetBrowser(), yaze::editor::DungeonObjectSelector::DrawObjectBrowser(), yaze::cli::HandlePaletteExportLegacy(), yaze::cli::HandlePaletteImportLegacy(), yaze::editor::MessageEditor::Initialize(), yaze::editor::DungeonEditorV2::Load(), yaze::LoadAllGraphicsData(), yaze::editor::DungeonRoomLoader::LoadAllRooms(), yaze::editor::DungeonCanvasViewer::LoadAndRenderRoomGraphics(), yaze::LoadLinkGraphics(), yaze::zelda3::OverworldMap::LoadPalette(), yaze::gui::CanvasUtils::LoadROMPaletteGroups(), yaze::gui::PaletteEditorWidget::LoadROMPalettes(), yaze::editor::Tile16Editor::PreviewPaletteChange(), yaze::editor::Tile16Editor::RefreshAllPalettes(), yaze::editor::Tile16Editor::RegenerateTile16BitmapFromROM(), yaze::test::RomDependentTestSuite::RunTile16EditorTest(), yaze::zelda3::palette_internal::SetColorsPalette(), yaze::editor::Tile16Editor::SetCurrentTile(), yaze::gui::DungeonObjectEmulatorPreview::TriggerEmulatedRender(), yaze::editor::GraphicsEditor::UpdatePaletteColumn(), yaze::editor::Tile16Editor::UpdateTile8Palette(), and yaze_get_color_from_paletteset().
|
inline |
Definition at line 217 of file rom.h.
References palette_groups_.
Referenced by yaze::gui::PaletteEditorWidget::Draw(), yaze::gui::PaletteEditorWidget::DrawColorPicker(), yaze::editor::PaletteEditor::DrawPaletteGroup(), yaze::editor::palette_utility::DrawPalettePreview(), yaze::gui::PaletteEditorWidget::DrawPaletteSelector(), yaze::editor::GfxGroupEditor::DrawPaletteViewer(), yaze::gfx::PaletteManager::GetMutableGroup(), yaze::editor::OverworldMainPaletteCard::GetPaletteGroup(), yaze::editor::OverworldAnimatedPaletteCard::GetPaletteGroup(), yaze::editor::DungeonMainPaletteCard::GetPaletteGroup(), yaze::editor::SpritePaletteCard::GetPaletteGroup(), yaze::editor::SpritesAux1PaletteCard::GetPaletteGroup(), yaze::editor::SpritesAux2PaletteCard::GetPaletteGroup(), yaze::editor::SpritesAux3PaletteCard::GetPaletteGroup(), yaze::editor::EquipmentPaletteCard::GetPaletteGroup(), and yaze::gfx::PaletteManager::Initialize().
Definition at line 218 of file rom.h.
References yaze::gfx::PaletteGroupMap::dungeon_main, and palette_groups_.
Definition at line 219 of file rom.h.
References yaze::gfx::PaletteGroupMap::dungeon_main, yaze::gfx::PaletteGroup::mutable_palette(), and palette_groups_.
Referenced by yaze::editor::ScreenEditor::Load(), yaze::editor::ScreenEditor::LoadBinaryGfx(), yaze::zelda3::LoadDungeonMapGfxFromBinary(), and yaze::zelda3::LoadDungeonMapTile16().

|
inline |
Definition at line 223 of file rom.h.
References resource_label_manager_.
Referenced by yaze::editor::ScreenEditor::DrawDungeonMapsEditor(), yaze::editor::DungeonRoomSelector::DrawEntranceSelector(), yaze::editor::PaletteEditor::DrawPaletteGroup(), yaze::editor::GfxGroupEditor::DrawPaletteViewer(), yaze::editor::DungeonRoomSelector::DrawRoomSelector(), yaze::editor::GfxGroupEditor::DrawRoomsetViewer(), yaze::editor::SpriteEditor::DrawSpritesList(), yaze::cli::resources::CommandContext::EnsureLabelsLoaded(), yaze::cli::ResourceContextBuilder::ExportToJson(), yaze::cli::ResourceContextBuilder::ExtractDungeonLabels(), yaze::cli::ResourceContextBuilder::ExtractEntranceLabels(), yaze::cli::ResourceContextBuilder::ExtractOverworldLabels(), yaze::cli::ResourceContextBuilder::ExtractRoomLabels(), yaze::cli::ResourceContextBuilder::ExtractSpriteLabels(), yaze::cli::ResourceContextBuilder::GetLabels(), yaze::cli::agent::HandleTestConversationCommand(), yaze::cli::InitializeMockRom(), yaze::editor::PaletteEditor::Load(), yaze::editor::AgentChatWidget::SetRomContext(), yaze::cli::agent::anonymous_namespace{general_commands.cc}::TryLoadProjectAndLabels(), yaze::editor::GfxGroupEditor::Update(), and yaze::editor::OverworldEditor::UpdateUsageStats().
|
inline |
Definition at line 224 of file rom.h.
References version_.
Referenced by yaze::zelda3::OverworldMap::GetPalette(), yaze::Load2BppGraphics(), yaze::LoadAllGraphicsData(), yaze::zelda3::OverworldMap::LoadAreaGraphicsBlocksets(), yaze::zelda3::OverworldMap::LoadCustomOverworldData(), LoadGfxGroups(), yaze::zelda3::OverworldMap::LoadMainBlocksets(), yaze::zelda3::OverworldMap::LoadPalette(), yaze::zelda3::OverworldMap::LoadSpritesBlocksets(), yaze::SaveAllGraphicsData(), SaveGfxGroups(), and yaze::zelda3::OverworldMap::SetupCustomTileset().
| std::array<std::array<uint8_t, 8>, kNumMainBlocksets> yaze::Rom::main_blockset_ids |
Definition at line 228 of file rom.h.
Referenced by yaze::editor::GfxGroupEditor::DrawBlocksetViewer(), LoadGfxGroups(), LoadZelda3(), and SaveGfxGroups().
| std::array<std::array<uint8_t, 4>, kNumRoomBlocksets> yaze::Rom::room_blockset_ids |
Definition at line 229 of file rom.h.
Referenced by yaze::editor::GfxGroupEditor::DrawRoomsetViewer(), LoadGfxGroups(), LoadZelda3(), and SaveGfxGroups().
| std::array<std::array<uint8_t, 4>, kNumSpritesets> yaze::Rom::spriteset_ids |
Definition at line 230 of file rom.h.
Referenced by yaze::editor::GfxGroupEditor::DrawSpritesetViewer(), LoadGfxGroups(), LoadZelda3(), and SaveGfxGroups().
| std::array<std::array<uint8_t, 4>, kNumPalettesets> yaze::Rom::paletteset_ids |
Definition at line 231 of file rom.h.
Referenced by yaze::editor::GfxGroupEditor::DrawPaletteViewer(), yaze::editor::DungeonRoomLoader::LoadAllRooms(), yaze::editor::DungeonCanvasViewer::LoadAndRenderRoomGraphics(), LoadGfxGroups(), LoadZelda3(), and SaveGfxGroups().
Definition at line 235 of file rom.h.
Referenced by Close(), Expand(), LoadFromData(), LoadFromFile(), LoadZelda3(), operator[](), and size().
Definition at line 238 of file rom.h.
Referenced by LoadZelda3(), and title().
|
private |
Definition at line 241 of file rom.h.
Referenced by filename(), LoadFromFile(), SaveToFile(), and set_filename().
|
private |
Definition at line 244 of file rom.h.
Referenced by LoadFromFile(), and short_name().
|
private |
Definition at line 247 of file rom.h.
Referenced by begin(), Close(), data(), end(), Expand(), is_loaded(), LoadFromData(), LoadFromFile(), LoadGfxGroups(), LoadZelda3(), mutable_data(), operator[](), SaveGfxGroups(), SaveToFile(), and vector().
|
private |
Definition at line 250 of file rom.h.
Referenced by graphics_buffer(), and mutable_graphics_buffer().
|
private |
Definition at line 253 of file rom.h.
Referenced by LoadFromFile(), and resource_label().
|
private |
Definition at line 256 of file rom.h.
Referenced by Close(), dungeon_palette(), LoadZelda3(), mutable_dungeon_palette(), mutable_palette_group(), palette_group(), and SaveAllPalettes().
|
private |
Definition at line 259 of file rom.h.
Referenced by LoadZelda3(), and version_constants().
Definition at line 262 of file rom.h.
Referenced by ClearDirty(), dirty(), SaveToFile(), and set_dirty().