Comprehensive ROM value extraction tool for golden data testing. More...
Public Member Functions | |
OverworldGoldenDataExtractor (const std::string &rom_path) | |
absl::Status | ExtractAllData (const std::string &output_path) |
Private Member Functions | |
void | WriteHeader (std::ofstream &out) |
void | WriteFooter (std::ofstream &out) |
void | WriteBasicROMInfo (std::ofstream &out, Rom &rom) |
void | WriteASMVersionInfo (std::ofstream &out, Rom &rom) |
void | WriteOverworldMapsData (std::ofstream &out, Overworld &overworld) |
void | WriteTileData (std::ofstream &out, Overworld &overworld) |
void | WriteEntranceData (std::ofstream &out, Overworld &overworld) |
void | WriteHoleData (std::ofstream &out, Overworld &overworld) |
void | WriteExitData (std::ofstream &out, Overworld &overworld) |
void | WriteItemData (std::ofstream &out, Overworld &overworld) |
void | WriteSpriteData (std::ofstream &out, Overworld &overworld) |
void | WriteMapTilesData (std::ofstream &out, Overworld &overworld) |
void | WritePaletteData (std::ofstream &out, Rom &rom) |
void | WriteMusicData (std::ofstream &out, Rom &rom) |
void | WriteOverlayData (std::ofstream &out, Rom &rom) |
Private Attributes | |
std::string | rom_path_ |
Comprehensive ROM value extraction tool for golden data testing.
This tool extracts all overworld-related values from a ROM to create "golden" reference data for before/after edit validation and comprehensive E2E testing. It supports both vanilla and ZSCustomOverworld ROMs.
Definition at line 23 of file overworld_golden_data_extractor.cc.
|
inlineexplicit |
Definition at line 25 of file overworld_golden_data_extractor.cc.
|
inline |
Definition at line 28 of file overworld_golden_data_extractor.cc.
References yaze::zelda3::Overworld::Load(), yaze::Rom::LoadFromFile(), RETURN_IF_ERROR, rom_path_, WriteASMVersionInfo(), WriteBasicROMInfo(), WriteEntranceData(), WriteExitData(), WriteFooter(), WriteHeader(), WriteHoleData(), WriteItemData(), WriteMapTilesData(), WriteMusicData(), WriteOverlayData(), WriteOverworldMapsData(), WritePaletteData(), WriteSpriteData(), and WriteTileData().
Referenced by main().
|
inlineprivate |
Definition at line 87 of file overworld_golden_data_extractor.cc.
References rom_path_.
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 105 of file overworld_golden_data_extractor.cc.
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 111 of file overworld_golden_data_extractor.cc.
References yaze::Rom::ReadWord(), yaze::Rom::size(), and yaze::Rom::title().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 135 of file overworld_golden_data_extractor.cc.
References yaze::Rom::ReadByte().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 198 of file overworld_golden_data_extractor.cc.
References yaze::zelda3::Overworld::overworld_maps().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 246 of file overworld_golden_data_extractor.cc.
References yaze::zelda3::Overworld::expanded_tile16(), yaze::zelda3::Overworld::expanded_tile32(), yaze::zelda3::Overworld::tiles16(), and yaze::zelda3::Overworld::tiles32_unique().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 281 of file overworld_golden_data_extractor.cc.
References yaze::zelda3::Overworld::entrances().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 332 of file overworld_golden_data_extractor.cc.
References yaze::zelda3::Overworld::holes().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 355 of file overworld_golden_data_extractor.cc.
References yaze::zelda3::Overworld::exits().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 378 of file overworld_golden_data_extractor.cc.
References yaze::zelda3::Overworld::all_items().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 403 of file overworld_golden_data_extractor.cc.
References yaze::zelda3::Overworld::all_sprites().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 422 of file overworld_golden_data_extractor.cc.
References yaze::zelda3::Overworld::map_tiles().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 452 of file overworld_golden_data_extractor.cc.
References yaze::Rom::ReadByte().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 476 of file overworld_golden_data_extractor.cc.
References yaze::Rom::ReadByte().
Referenced by ExtractAllData().
|
inlineprivate |
Definition at line 500 of file overworld_golden_data_extractor.cc.
References yaze::Rom::ReadByte().
Referenced by ExtractAllData().
|
private |
Definition at line 524 of file overworld_golden_data_extractor.cc.
Referenced by ExtractAllData(), and WriteHeader().