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_ |
core::ResourceLabelManager | resource_label_manager_ |
gfx::PaletteGroupMap | palette_groups_ |
zelda3_version | version_ = zelda3_version::US |
bool | dirty_ = false |
Definition at line 289 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::editor::EditorManager::LoadRom(), yaze::cli::agent::anonymous_namespace{conversation_test.cc}::LoadRomForAgent(), yaze::cli::message::anonymous_namespace{message.cc}::LoadRomFromFlag(), main(), main(), main(), yaze::editor::EditorManager::OpenProject(), yaze::editor::EditorManager::OpenRomOrProject(), 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 295 of file rom.cc.
References filename(), filename_, yaze::RomLoadOptions::load_resource_labels, yaze::RomLoadOptions::load_zelda3_content, yaze::core::ResourceLabelManager::LoadLabels(), LoadZelda3(), resource_label_manager_, RETURN_IF_ERROR, rom_data_, short_name_, size_, yaze::RomLoadOptions::strip_header, and vector().
Definition at line 381 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 387 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 408 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 412 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 470 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 91 of file rom.h.
References yaze::RomLoadOptions::AppDefaults(), LoadZelda3(), and RETURN_IF_ERROR.
absl::Status yaze::Rom::SaveGfxGroups | ( | ) |
Definition at line 503 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 536 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::EditorManager::BuildModernMenu(), 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::EditorManager::SaveRom(), yaze::editor::EditorManager::SaveRomAs(), yaze::test::TestManager::TestRomSaveLoad(), yaze::editor::EditorManager::Update(), and yaze_save_rom().
absl::Status yaze::Rom::SavePalette | ( | int | index, |
const std::string & | group_name, | ||
gfx::SnesPalette & | palette | ||
) |
Definition at line 631 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 645 of file rom.cc.
References yaze::gfx::PaletteGroupMap::for_each(), palette_groups_, and RETURN_IF_ERROR.
Referenced by SaveToFile().
|
inline |
Definition at line 107 of file rom.h.
References yaze::gfx::PaletteGroupMap::clear(), palette_groups_, rom_data_, and size_.
Referenced by yaze::editor::EditorManager::Initialize().
Definition at line 658 of file rom.cc.
Referenced by yaze::test::ZSCustomOverworldTestSuite::DrawConfiguration(), yaze::zelda3::LoadDungeonMaps(), 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::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 665 of file rom.cc.
Referenced by yaze::editor::DungeonRoomLoader::LoadAllRooms(), yaze::editor::DungeonCanvasViewer::LoadAndRenderRoomGraphics(), yaze::zelda3::LoadDungeonMaps(), yaze::zelda3::LoadDungeonMapTile16(), yaze::zelda3::LoadEntranceTileTypes(), LoadGfxGroups(), ReadHelper(), yaze::test::RomDependentTestSuite::RunRomDataAccessTest(), yaze::test::E2ETestSuite::RunTransactionSystemTest(), SaveGfxGroups(), OverworldGoldenDataExtractor::WriteBasicROMInfo(), yaze::Transaction::WriteColor(), and yaze::Transaction::WriteWord().
Definition at line 673 of file rom.cc.
Referenced by yaze::Transaction::WriteLong().
absl::StatusOr< std::vector< uint8_t > > yaze::Rom::ReadByteVector | ( | uint32_t | offset, |
uint32_t | length | ||
) | const |
Definition at line 682 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 694 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 712 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 725 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::RoomEntrance::Save(), yaze::zelda3::SaveDungeonMaps(), yaze::editor::MessageEditor::SaveExpandedMessages(), yaze::Transaction::WriteByte(), and WriteHelper().
Definition at line 737 of file rom.cc.
References LOG_DEBUG.
Referenced by yaze::Transaction::Rollback(), yaze::zelda3::SaveDungeonMapTile16(), and yaze::Transaction::WriteWord().
Definition at line 750 of file rom.cc.
References LOG_DEBUG.
Referenced by yaze::zelda3::RoomEntrance::Save(), and WriteHelper().
Definition at line 763 of file rom.cc.
References LOG_DEBUG.
Referenced by yaze::Transaction::Rollback(), and yaze::Transaction::WriteLong().
Definition at line 777 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 792 of file rom.cc.
References LOG_DEBUG, and yaze::gfx::SnesColor::snes().
Referenced by SavePalette(), yaze::Transaction::WriteColor(), and WriteHelper().
|
inline |
Definition at line 129 of file rom.h.
References WriteHelper().
Referenced by yaze::test::TEST_F(), and yaze::test::TEST_F().
Definition at line 137 of file rom.h.
References ReadTransaction(), and vector().
Referenced by ReadTransaction(), yaze::test::TEST_F(), and yaze::test::TEST_F().
|
inlinevirtual |
Definition at line 156 of file rom.h.
References yaze::Rom::WriteAction::address, yaze::Rom::WriteAction::value, WriteByte(), WriteColor(), WriteShort(), and WriteVector().
Referenced by WriteTransaction().
Definition at line 178 of file rom.h.
References ASSIGN_OR_RETURN, ReadByte(), ReadByteVector(), ReadWord(), and vector().
|
inline |
|
inline |
Definition at line 197 of file rom.h.
References rom_data_.
Referenced by yaze::net::CollaborationService::ApplyDiff(), yaze::cli::Tile16ProposalGenerator::ApplyProposal(), yaze::net::CollaborationService::ApplyRomSync(), yaze::editor::EditorManager::BuildModernMenu(), yaze::net::RomVersionManager::ComputeRomHash(), yaze::zelda3::Room::CopyRoomGraphicsToBuffer(), yaze::cli::agent::CreateProposalFromAgentResponse(), yaze::cli::RomSandboxManager::CreateSandbox(), yaze::net::RomVersionManager::CreateSnapshot(), yaze::test::TestManager::CreateTestRomCopy(), yaze::net::RomVersionManager::DetectCorruption(), 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::EditorManager::DrawRomSelector(), 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::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::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::EditorManager::Update(), yaze::editor::OverworldEditor::Update(), and yaze::net::RomVersionManager::ValidateRomIntegrity().
|
inline |
Definition at line 198 of file rom.h.
References dirty_.
Referenced by yaze::test::TestManager::DrawTestDashboard(), yaze::test::TestManager::RefreshCurrentRom(), set_dirty(), yaze::test::TestManager::ShowRomComparisonResults(), and yaze::editor::EditorManager::Update().
Definition at line 199 of file rom.h.
References dirty(), and dirty_.
Referenced by yaze::editor::OverworldEditor::DrawOverworldCanvas(), and yaze::editor::OverworldEditor::Update().
|
inline |
Definition at line 201 of file rom.h.
References title_.
Referenced by yaze::editor::EditorManager::BuildModernMenu(), 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::EditorManager::DrawMenuBar(), yaze::editor::AgentEditor::DrawStatusPanel(), yaze::test::TestManager::DrawTestDashboard(), yaze::cli::handlers::RomInfoCommandHandler::Execute(), yaze::cli::handlers::RomValidateCommandHandler::Execute(), yaze::editor::EditorManager::RomSession::GetDisplayName(), yaze::editor::DungeonEditorV2::GetRomStatus(), yaze::editor::OverworldEditor::GetRomStatus(), yaze::editor::GetRomStatusMessage(), yaze::cli::agent::HandleTestConversationCommand(), yaze::editor::IsRomReadyForEditing(), yaze::editor::EditorManager::LoadRom(), yaze::editor::EditorManager::OpenProject(), 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::editor::EditorManager::SwitchToSession(), yaze::test::TestManager::TestRomDataIntegrity(), yaze::test::TestManager::TestRomSaveLoad(), yaze::cli::UnifiedLayout::UnifiedLayout(), yaze::test::OverworldE2ETest::ValidateROMAgainstGoldenData(), and OverworldGoldenDataExtractor::WriteBasicROMInfo().
|
inline |
Definition at line 202 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::editor::EditorManager::DrawRomSelector(), 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::test::OverworldE2ETest::ValidateROMAgainstGoldenData(), yaze::net::RomVersionManager::ValidateRomIntegrity(), and OverworldGoldenDataExtractor::WriteBasicROMInfo().
|
inline |
Definition at line 203 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::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 204 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 205 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 207 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 208 of file rom.h.
References filename_.
Referenced by yaze::editor::EditorManager::BuildModernMenu(), yaze::cli::RomSandboxManager::CreateSandbox(), yaze::test::RomDependentTestSuite::DrawConfiguration(), yaze::test::TestManager::DrawTestDashboard(), yaze::cli::agent::HandleAcceptCommand(), yaze::cli::HandleGfxImportLegacy(), yaze::cli::HandlePaletteImportLegacy(), yaze::cli::agent::HandleRevertCommand(), LoadFromFile(), LoadFromFile(), yaze::editor::EditorManager::RomSession::RomSession(), SaveToFile(), and yaze::editor::MemoryEditorWithDiffChecker::Update().
|
inline |
|
inline |
Definition at line 210 of file rom.h.
References short_name_.
Referenced by yaze::editor::EditorManager::DrawRomSelector().
|
inline |
Definition at line 211 of file rom.h.
References graphics_buffer_.
Referenced by yaze::zelda3::OverworldMap::BuildTileset(), and yaze::zelda3::OverworldMap::ProcessGraphicsBuffer().
|
inline |
Definition at line 212 of file rom.h.
References graphics_buffer_.
Referenced by yaze::LoadAllGraphicsData().
|
inline |
Definition at line 213 of file rom.h.
References palette_groups_.
Referenced by 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::PaletteWidget::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 214 of file rom.h.
References palette_groups_.
Referenced by yaze::gui::PaletteEditorWidget::DrawColorGrid(), yaze::gui::PaletteEditorWidget::DrawColorPicker(), yaze::editor::PaletteEditor::DrawPaletteGroup(), yaze::gui::PaletteEditorWidget::DrawPaletteSelector(), and yaze::editor::GfxGroupEditor::DrawPaletteViewer().
Definition at line 215 of file rom.h.
References yaze::gfx::PaletteGroupMap::dungeon_main, and palette_groups_.
Definition at line 216 of file rom.h.
References yaze::gfx::PaletteGroupMap::dungeon_main, yaze::gfx::PaletteGroup::mutable_palette(), and palette_groups_.
Referenced by yaze::editor::ScreenEditor::LoadBinaryGfx(), yaze::zelda3::LoadDungeonMapGfxFromBinary(), and yaze::zelda3::LoadDungeonMapTile16().
|
inline |
Definition at line 220 of file rom.h.
References resource_label_manager_.
Referenced by yaze::editor::ScreenEditor::DrawDungeonMapsEditor(), yaze::editor::DungeonRoomSelector::DrawEntranceSelector(), yaze::editor::EditorManager::DrawMenuBar(), 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::EditorManager::OpenProject(), 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 221 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 225 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 226 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 227 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 228 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 232 of file rom.h.
Referenced by Close(), Expand(), LoadFromData(), LoadFromFile(), LoadZelda3(), operator[](), and size().
Definition at line 235 of file rom.h.
Referenced by LoadZelda3(), and title().
|
private |
Definition at line 238 of file rom.h.
Referenced by filename(), LoadFromFile(), SaveToFile(), and set_filename().
|
private |
Definition at line 241 of file rom.h.
Referenced by LoadFromFile(), and short_name().
|
private |
Definition at line 244 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 247 of file rom.h.
Referenced by graphics_buffer(), and mutable_graphics_buffer().
|
private |
Definition at line 250 of file rom.h.
Referenced by LoadFromFile(), and resource_label().
|
private |
Definition at line 253 of file rom.h.
Referenced by Close(), dungeon_palette(), LoadZelda3(), mutable_dungeon_palette(), mutable_palette_group(), palette_group(), and SaveAllPalettes().
|
private |
Definition at line 256 of file rom.h.
Referenced by LoadZelda3(), and version_constants().
Definition at line 259 of file rom.h.
Referenced by ClearDirty(), dirty(), SaveToFile(), and set_dirty().