The Rom class is used to load, save, and modify Rom data. More...
#include <rom.h>
Classes | |
struct | WriteAction |
Public Member Functions | |
absl::StatusOr< std::vector< uint8_t > > | Load2BppGraphics () |
Loads 2bpp graphics from Rom data. | |
absl::Status | LoadLinkGraphics () |
Loads the players 4bpp graphics sheet from Rom data. | |
absl::Status | LoadAllGraphicsData (bool defer_render=false) |
This function iterates over all graphics sheets in the Rom and loads them into memory. Depending on the sheet's index, it may be uncompressed or compressed using the LC-LZ2 algorithm. The uncompressed sheets are 3 bits per pixel (BPP), while the compressed sheets are 4 BPP. The loaded graphics data is converted to 8 BPP and stored in a bitmap. | |
absl::Status | LoadFromFile (const std::string &filename, bool z3_load=true) |
absl::Status | LoadFromPointer (uchar *data, size_t length, bool z3_load=true) |
absl::Status | LoadFromBytes (const std::vector< uint8_t > &data) |
absl::Status | SaveToFile (bool backup, bool save_new=false, std::string filename="") |
Saves the Rom data to a file. | |
absl::Status | SavePalette (int index, const std::string &group_name, gfx::SnesPalette &palette) |
absl::Status | SaveAllPalettes () |
Saves all palettes in the Rom. | |
void | Expand (int size) |
Expand the Rom data to a specified size. | |
absl::Status | Close () |
Close the Rom file. | |
absl::Status | ReadWritePreconditions () |
Precondition check for reading and writing to the Rom. | |
absl::StatusOr< uint8_t > | ReadByte (int offset) |
absl::StatusOr< uint16_t > | ReadWord (int offset) |
uint16_t | toint16 (int offset) |
absl::StatusOr< uint32_t > | ReadLong (int offset) |
absl::StatusOr< std::vector< uint8_t > > | ReadByteVector (uint32_t offset, uint32_t length) |
absl::StatusOr< gfx::Tile16 > | ReadTile16 (uint32_t tile16_id) |
absl::Status | WriteTile16 (int tile16_id, const gfx::Tile16 &tile) |
absl::Status | Write (int addr, int value) |
absl::Status | WriteByte (int addr, uint8_t value) |
absl::Status | WriteWord (int addr, uint16_t value) |
absl::Status | WriteShort (int addr, uint16_t value) |
absl::Status | WriteLong (uint32_t addr, uint32_t value) |
absl::Status | WriteVector (int addr, std::vector< uint8_t > data) |
absl::Status | WriteColor (uint32_t address, const gfx::SnesColor &color) |
template<typename... Args> | |
absl::Status | WriteTransaction (Args... args) |
template<typename T , typename... Args> | |
absl::Status | ReadTransaction (T &var, int address, Args &&... args) |
uint8_t & | operator[] (unsigned long i) |
bool | is_loaded () const |
std::vector< uint8_t > | graphics_buffer () const |
auto | title () const |
auto | size () const |
auto | begin () |
auto | end () |
auto | data () |
auto | vector () const |
auto | version () const |
auto | filename () const |
auto | set_filename (std::string name) |
auto | link_graphics () |
auto | mutable_link_graphics () |
auto | gfx_sheets () |
auto | mutable_gfx_sheets () |
auto | palette_group () |
auto | mutable_palette_group () |
auto | dungeon_palette (int i) |
auto | mutable_dungeon_palette (int i) |
core::ResourceLabelManager * | resource_label () |
VersionConstants | version_constants () const |
Public Member Functions inherited from yaze::app::core::ExperimentFlags | |
ExperimentFlags ()=default | |
virtual | ~ExperimentFlags ()=default |
auto | flags () const |
Flags * | mutable_flags () |
std::string | Serialize () const |
Public Attributes | |
std::vector< std::vector< uint8_t > > | main_blockset_ids |
std::vector< std::vector< uint8_t > > | room_blockset_ids |
std::vector< std::vector< uint8_t > > | spriteset_ids |
std::vector< std::vector< uint8_t > > | paletteset_ids |
Private Member Functions | |
virtual absl::Status | WriteHelper (const WriteAction &action) |
template<typename T > | |
absl::Status | ReadHelper (T &var, int address) |
absl::Status | LoadZelda3 () |
absl::Status | LoadGfxGroups () |
absl::Status | SaveGroupsToRom () |
Private Attributes | |
bool | is_loaded_ = false |
unsigned long | size_ = 0 |
std::string | title_ = "ROM not loaded" |
std::string | filename_ = "" |
std::vector< uint8_t > | rom_data_ |
std::vector< uint8_t > | graphics_buffer_ |
std::array< gfx::Bitmap, kNumGfxSheets > | graphics_sheets_ |
std::array< gfx::Bitmap, kNumLinkSheets > | link_graphics_ |
core::ResourceLabelManager | resource_label_manager_ |
gfx::PaletteGroupMap | palette_groups_ |
Z3_Version | version_ = Z3_Version::US |
absl::StatusOr< std::vector< uint8_t > > yaze::app::Rom::Load2BppGraphics | ( | ) |
Loads 2bpp graphics from Rom data.
This function loads 2bpp graphics from Rom data by iterating over a list of sheet IDs, decompressing the sheet data, converting it to 8bpp format, and appending the converted sheet data to a byte vector.
Definition at line 45 of file rom.cc.
References ASSIGN_OR_RETURN, data(), yaze::app::gfx::lc_lz2::DecompressV2(), yaze::app::gfx::SnesTo8bppSheet(), and version_constants().
absl::Status yaze::app::Rom::LoadLinkGraphics | ( | ) |
Loads the players 4bpp graphics sheet from Rom data.
Definition at line 64 of file rom.cc.
References yaze::app::gfx::PaletteGroupMap::armors, ASSIGN_OR_RETURN, yaze::app::core::Renderer::GetInstance(), yaze::app::kNumLinkSheets, yaze::app::gfx::kTilesheetDepth, yaze::app::gfx::kTilesheetHeight, yaze::app::gfx::kTilesheetWidth, link_graphics_, palette_groups_, ReadByteVector(), yaze::app::core::Renderer::RenderBitmap(), RETURN_IF_ERROR, and yaze::app::gfx::SnesTo8bppSheet().
absl::Status yaze::app::Rom::LoadAllGraphicsData | ( | bool | defer_render = false | ) |
This function iterates over all graphics sheets in the Rom and loads them into memory. Depending on the sheet's index, it may be uncompressed or compressed using the LC-LZ2 algorithm. The uncompressed sheets are 3 bits per pixel (BPP), while the compressed sheets are 4 BPP. The loaded graphics data is converted to 8 BPP and stored in a bitmap.
The graphics sheets are divided into the following ranges:
Range | Compression Type | Decompressed Size | Number of Chars |
---|---|---|---|
0-112 | Compressed 3bpp BGR | 0x600 chars | Decompressed each |
113-114 | Compressed 2bpp | 0x800 chars | Decompressed each |
115-126 | Uncompressed 3bpp sprites | 0x600 chars | Each |
127-217 | Compressed 3bpp sprites | 0x600 chars | Decompressed each |
218-222 | Compressed 2bpp | 0x800 chars | Decompressed each |
Definition at line 83 of file rom.cc.
References ASSIGN_OR_RETURN, data(), yaze::app::gfx::lc_lz2::DecompressV2(), yaze::app::gfx::PaletteGroupMap::dungeon_main, yaze::app::core::Renderer::GetInstance(), yaze::app::gfx::PaletteGroupMap::global_sprites, graphics_buffer_, graphics_sheets_, yaze::app::kNumGfxSheets, yaze::app::gfx::kTilesheetDepth, yaze::app::gfx::kTilesheetHeight, yaze::app::gfx::kTilesheetWidth, palette_groups_, RETURN_IF_ERROR, rom_data_, yaze::app::gfx::SnesTo8bppSheet(), yaze::app::Uncompressed3BPPSize, and version_constants().
Referenced by yaze::app::editor::Tile16Editor::UpdateTransferTileCanvas().
absl::Status yaze::app::Rom::LoadFromFile | ( | const std::string & | filename, |
bool | z3_load = true ) |
Load Rom data from a file.
filename | The name of the file to load. |
z3_load | Whether to load data specific to Zelda 3. |
Definition at line 142 of file rom.cc.
References filename(), filename_, is_loaded_, yaze::app::core::ResourceLabelManager::LoadLabels(), LoadZelda3(), resource_label_manager_, RETURN_IF_ERROR, rom_data_, and size_.
Referenced by yaze::app::editor::GraphicsEditor::DrawFileImport(), yaze::app::editor::GraphicsEditor::DrawObjImport(), yaze::app::editor::GraphicsEditor::DrawPaletteControls(), yaze::app::editor::GraphicsEditor::DrawTilemapImport(), yaze::cli::ApplyPatch::handle(), yaze::cli::AsarPatch::handle(), yaze::cli::Backup::handle(), yaze::cli::Expand::handle(), yaze::cli::Open::handle(), yaze::cli::ReadFromRom::handle(), yaze::cli::Tile16Transfer::handle(), main(), yaze::app::editor::MemoryEditorWithDiffChecker::Update(), yaze::app::editor::Tile16Editor::UpdateTransferTileCanvas(), and yaze_load_rom().
absl::Status yaze::app::Rom::LoadFromPointer | ( | uchar * | data, |
size_t | length, | ||
bool | z3_load = true ) |
Definition at line 191 of file rom.cc.
References yaze::app::gfx::PaletteGroupMap::clear(), data(), yaze::app::gfx::PaletteGroupMap::empty(), is_loaded_, LoadZelda3(), palette_groups_, RETURN_IF_ERROR, rom_data_, and size_.
Referenced by yaze::test::gfx::anonymous_namespace{compression_test.cc}::ExpectCompressOk(), and yaze::test::gfx::anonymous_namespace{compression_test.cc}::ExpectDecompressOk().
absl::Status yaze::app::Rom::LoadFromBytes | ( | const std::vector< uint8_t > & | data | ) |
Definition at line 243 of file rom.cc.
References data(), is_loaded_, rom_data_, and size_.
Referenced by yaze::app::editor::GraphicsEditor::DrawClipboardImport(), yaze::test::gfx::anonymous_namespace{compression_test.cc}::ExpectDecompressBytesOk(), yaze::test::TEST_F(), yaze::test::TEST_F(), yaze::test::TEST_F(), yaze::test::TEST_F(), yaze::app::gfx::lc_lz2::ValidateCompressionResult(), and yaze::app::gfx::lc_lz2::ValidateCompressionResultV3().
absl::Status yaze::app::Rom::SaveToFile | ( | bool | backup, |
bool | save_new = false, | ||
std::string | filename = "" ) |
Saves the Rom data to a file.
backup | If true, creates a backup file with timestamp in its name |
filename | The name of the file to save the Rom data to |
Definition at line 254 of file rom.cc.
References filename(), filename_, yaze::app::core::ExperimentFlags::flags(), RETURN_IF_ERROR, rom_data_, SaveAllPalettes(), and SaveGroupsToRom().
Referenced by yaze::cli::Backup::handle(), and yaze::cli::Tile16Transfer::handle().
absl::Status yaze::app::Rom::SavePalette | ( | int | index, |
const std::string & | group_name, | ||
gfx::SnesPalette & | palette ) |
Saves the given palette to the Rom if any of its colors have been modified.
index | The index of the palette to save. |
group_name | The name of the group containing the palette. |
palette | The palette to save. |
Definition at line 353 of file rom.cc.
References yaze::app::gfx::GetPaletteAddress(), yaze::app::gfx::SnesColor::is_modified(), RETURN_IF_ERROR, yaze::app::gfx::SnesColor::set_modified(), yaze::app::gfx::SnesPalette::size(), and WriteColor().
absl::Status yaze::app::Rom::SaveAllPalettes | ( | ) |
Saves all palettes in the Rom.
This function iterates through all palette groups and all palettes in each group, and saves each palette using the SavePalette() function.
Definition at line 367 of file rom.cc.
References yaze::app::gfx::PaletteGroupMap::for_each(), palette_groups_, and RETURN_IF_ERROR.
Referenced by SaveToFile().
|
inline |
|
inline |
|
inline |
Precondition check for reading and writing to the Rom.
Definition at line 244 of file rom.h.
References is_loaded_, rom_data_, and size_.
Referenced by ReadByte(), ReadByteVector(), ReadLong(), ReadWord(), WriteByte(), WriteLong(), WriteShort(), and WriteWord().
|
inline |
Definition at line 256 of file rom.h.
References ReadWritePreconditions(), RETURN_IF_ERROR, and rom_data_.
Referenced by yaze::app::zelda3::overworld::Overworld::GetTile16ForTile32(), yaze::cli::ReadFromRom::handle(), and ReadHelper().
|
inline |
Definition at line 264 of file rom.h.
References ReadWritePreconditions(), RETURN_IF_ERROR, and rom_data_.
Referenced by yaze::app::zelda3::overworld::Overworld::GetTile16ForTile32(), yaze::app::editor::EntranceContext::LoadEntranceTileTypes(), ReadHelper(), and ReadTile16().
|
inline |
Definition at line 273 of file rom.h.
References rom_data_.
Referenced by yaze::app::zelda3::overworld::OverworldMap::LoadAreaInfo().
|
inline |
Definition at line 277 of file rom.h.
References ReadWritePreconditions(), RETURN_IF_ERROR, and rom_data_.
|
inline |
Definition at line 287 of file rom.h.
References ReadWritePreconditions(), RETURN_IF_ERROR, and rom_data_.
Referenced by yaze::cli::ReadFromRom::handle(), LoadLinkGraphics(), and ReadHelper().
|
inline |
Definition at line 300 of file rom.h.
References ASSIGN_OR_RETURN, yaze::app::kTile16Ptr, ReadWord(), yaze::app::gfx::Tile16::tile0_, and yaze::app::gfx::WordToTileInfo().
Referenced by yaze::cli::Tile16Transfer::handle().
|
inline |
Definition at line 318 of file rom.h.
References yaze::app::kTile16Ptr, RETURN_IF_ERROR, yaze::app::gfx::Tile16::tile0_, yaze::app::gfx::Tile16::tile1_, yaze::app::gfx::Tile16::tile2_, yaze::app::gfx::Tile16::tile3_, yaze::app::gfx::TileInfoToWord(), and WriteShort().
Referenced by yaze::cli::Tile16Transfer::handle().
|
inline |
Definition at line 332 of file rom.h.
References rom_data_.
Referenced by yaze::app::zelda3::dungeon::RoomEntrance::Save(), and WriteHelper().
|
inline |
Definition at line 342 of file rom.h.
References data(), yaze::app::core::Logger::log(), ReadWritePreconditions(), RETURN_IF_ERROR, rom_data_, and yaze::app::core::UppercaseHexByte().
|
inline |
Definition at line 356 of file rom.h.
References yaze::app::core::Logger::log(), ReadWritePreconditions(), RETURN_IF_ERROR, rom_data_, and yaze::app::core::UppercaseHexWord().
|
inline |
Definition at line 370 of file rom.h.
References yaze::app::core::Logger::log(), ReadWritePreconditions(), RETURN_IF_ERROR, rom_data_, and yaze::app::core::UppercaseHexWord().
Referenced by yaze::app::zelda3::dungeon::RoomEntrance::Save(), WriteColor(), WriteHelper(), and WriteTile16().
|
inline |
Definition at line 384 of file rom.h.
References yaze::app::core::Logger::log(), ReadWritePreconditions(), RETURN_IF_ERROR, rom_data_, and yaze::app::core::UppercaseHexLong().
|
inline |
Definition at line 399 of file rom.h.
References data(), yaze::app::core::Logger::log(), rom_data_, and yaze::app::core::UppercaseHexByte().
Referenced by WriteHelper().
|
inline |
Definition at line 414 of file rom.h.
References yaze::app::core::Logger::log(), yaze::app::gfx::SnesColor::snes(), yaze::app::core::UppercaseHexWord(), and WriteShort().
Referenced by SavePalette(), and WriteHelper().
|
inline |
Definition at line 425 of file rom.h.
References WriteHelper().
Referenced by yaze::test::TEST_F(), and yaze::test::TEST_F().
|
inline |
Definition at line 433 of file rom.h.
References ReadHelper(), and ReadTransaction().
Referenced by ReadTransaction(), yaze::test::TEST_F(), and yaze::test::TEST_F().
|
inline |
|
inline |
Definition at line 455 of file rom.h.
References filename_, and is_loaded_.
Referenced by yaze::app::editor::GraphicsEditor::DrawClipboardImport(), and main().
|
inline |
Definition at line 464 of file rom.h.
References graphics_buffer_.
Referenced by yaze::app::zelda3::overworld::OverworldMap::BuildTileset().
|
inline |
|
inline |
Definition at line 467 of file rom.h.
References size_.
Referenced by yaze::app::editor::GraphicsEditor::DrawMemoryEditor(), Expand(), yaze::cli::ApplyPatch::handle(), yaze::cli::Open::handle(), yaze::app::editor::MemoryEditorWithDiffChecker::Update(), yaze::app::gfx::lc_lz2::ValidateCompressionResult(), yaze::app::gfx::lc_lz2::ValidateCompressionResultV3(), and yaze_load_rom().
|
inline |
Definition at line 468 of file rom.h.
References rom_data_.
Referenced by yaze::app::gfx::lc_lz2::ValidateCompressionResult(), and yaze::app::gfx::lc_lz2::ValidateCompressionResultV3().
|
inline |
Definition at line 470 of file rom.h.
References rom_data_.
Referenced by yaze::app::editor::BuildDictionaryEntries(), yaze::app::editor::GraphicsEditor::DecompressImportData(), yaze::app::editor::GraphicsEditor::DecompressSuperDonkey(), yaze::app::editor::GraphicsEditor::DrawMemoryEditor(), yaze::app::editor::GraphicsEditor::DrawPaletteControls(), yaze::app::editor::GraphicsEditor::DrawTilemapImport(), yaze::test::gfx::anonymous_namespace{compression_test.cc}::ExpectDecompressBytesOk(), yaze::test::gfx::anonymous_namespace{compression_test.cc}::ExpectDecompressOk(), yaze::app::zelda3::music::Tracker::GetSPCAddr(), Load2BppGraphics(), LoadAllGraphicsData(), LoadFromBytes(), LoadFromPointer(), yaze::app::zelda3::music::Tracker::LoadSongs(), yaze::app::zelda3::music::Tracker::SaveSongs(), yaze::app::gfx::lc_lz2::ValidateCompressionResult(), yaze::app::gfx::lc_lz2::ValidateCompressionResultV3(), WriteByte(), yaze::app::zelda3::music::Tracker::WriteSPCData(), WriteVector(), and yaze_load_rom().
|
inline |
Definition at line 471 of file rom.h.
References rom_data_.
Referenced by yaze::test::gfx::anonymous_namespace{compression_test.cc}::ExpectCompressOk(), yaze::cli::ApplyPatch::handle(), yaze::cli::AsarPatch::handle(), and main().
|
inline |
|
inline |
Definition at line 473 of file rom.h.
References filename_.
Referenced by LoadFromFile(), SaveToFile(), and yaze::app::editor::MemoryEditorWithDiffChecker::Update().
|
inline |
|
inline |
Definition at line 476 of file rom.h.
References link_graphics_.
|
inline |
Definition at line 477 of file rom.h.
References link_graphics_.
|
inline |
Definition at line 478 of file rom.h.
References graphics_sheets_.
|
inline |
Definition at line 479 of file rom.h.
References graphics_sheets_.
|
inline |
Definition at line 481 of file rom.h.
References palette_groups_.
Referenced by yaze::app::zelda3::overworld::OverworldMap::LoadPalette(), yaze::app::zelda3::overworld::palette_internal::SetColorsPalette(), and yaze_get_color_from_paletteset().
|
inline |
Definition at line 482 of file rom.h.
References palette_groups_.
|
inline |
Definition at line 483 of file rom.h.
References yaze::app::gfx::PaletteGroupMap::dungeon_main, and palette_groups_.
|
inline |
Definition at line 484 of file rom.h.
References yaze::app::gfx::PaletteGroupMap::dungeon_main, yaze::app::gfx::PaletteGroup::mutable_palette(), and palette_groups_.
|
inline |
Definition at line 488 of file rom.h.
References resource_label_manager_.
|
inline |
Definition at line 491 of file rom.h.
References version_.
Referenced by yaze::app::zelda3::overworld::OverworldMap::GetPalette(), yaze::app::zelda3::overworld::Overworld::GetTile16ForTile32(), Load2BppGraphics(), LoadAllGraphicsData(), yaze::app::zelda3::overworld::OverworldMap::LoadAreaGraphicsBlocksets(), yaze::app::zelda3::overworld::OverworldMap::LoadCustomOverworldData(), yaze::app::zelda3::overworld::OverworldMap::LoadMainBlocksets(), yaze::app::zelda3::overworld::OverworldMap::LoadPalette(), yaze::app::zelda3::overworld::OverworldMap::LoadSpritesBlocksets(), and yaze::app::zelda3::overworld::OverworldMap::SetupCustomTileset().
|
inlineprivatevirtual |
Definition at line 508 of file rom.h.
References yaze::app::Rom::WriteAction::address, yaze::app::Rom::WriteAction::value, Write(), WriteColor(), WriteShort(), and WriteVector().
Referenced by WriteTransaction().
|
inlineprivate |
Definition at line 530 of file rom.h.
References ASSIGN_OR_RETURN, ReadByte(), ReadByteVector(), and ReadWord().
Referenced by ReadTransaction().
|
private |
Definition at line 209 of file rom.cc.
References yaze::app::JP, yaze::app::gfx::LoadAllPalettes(), LoadGfxGroups(), palette_groups_, RETURN_IF_ERROR, rom_data_, size_, title_, yaze::app::US, and version_.
Referenced by LoadFromFile(), and LoadFromPointer().
|
private |
Definition at line 380 of file rom.cc.
References ASSIGN_OR_RETURN, yaze::app::kEntranceGfxGroup, yaze::app::kGfxGroupsPointer, yaze::app::kNumMainBlocksets, yaze::app::kNumPalettesets, yaze::app::kNumRoomBlocksets, and yaze::app::kNumSpritesets.
Referenced by LoadZelda3().
|
private |
Definition at line 418 of file rom.cc.
References ASSIGN_OR_RETURN, yaze::app::kEntranceGfxGroup, yaze::app::kGfxGroupsPointer, yaze::app::kNumMainBlocksets, yaze::app::kNumPalettesets, yaze::app::kNumRoomBlocksets, and yaze::app::kNumSpritesets.
Referenced by SaveToFile().
std::vector<std::vector<uint8_t> > yaze::app::Rom::main_blockset_ids |
std::vector<std::vector<uint8_t> > yaze::app::Rom::room_blockset_ids |
std::vector<std::vector<uint8_t> > yaze::app::Rom::spriteset_ids |
std::vector<std::vector<uint8_t> > yaze::app::Rom::paletteset_ids |
|
private |
Definition at line 549 of file rom.h.
Referenced by Close(), is_loaded(), LoadFromBytes(), LoadFromFile(), LoadFromPointer(), and ReadWritePreconditions().
|
private |
Definition at line 552 of file rom.h.
Referenced by Close(), Expand(), LoadFromBytes(), LoadFromFile(), LoadFromPointer(), LoadZelda3(), operator[](), ReadWritePreconditions(), and size().
|
private |
Definition at line 555 of file rom.h.
Referenced by LoadZelda3(), and title().
|
private |
Definition at line 558 of file rom.h.
Referenced by filename(), is_loaded(), LoadFromFile(), SaveToFile(), and set_filename().
|
private |
Definition at line 561 of file rom.h.
Referenced by begin(), Close(), data(), end(), Expand(), LoadAllGraphicsData(), LoadFromBytes(), LoadFromFile(), LoadFromPointer(), LoadZelda3(), operator[](), ReadByte(), ReadByteVector(), ReadLong(), ReadWord(), ReadWritePreconditions(), SaveToFile(), toint16(), vector(), Write(), WriteByte(), WriteLong(), WriteShort(), WriteVector(), and WriteWord().
|
private |
Definition at line 564 of file rom.h.
Referenced by graphics_buffer(), and LoadAllGraphicsData().
|
private |
Definition at line 567 of file rom.h.
Referenced by gfx_sheets(), LoadAllGraphicsData(), and mutable_gfx_sheets().
|
private |
Definition at line 570 of file rom.h.
Referenced by link_graphics(), LoadLinkGraphics(), and mutable_link_graphics().
|
private |
Definition at line 573 of file rom.h.
Referenced by LoadFromFile(), and resource_label().
|
private |
Definition at line 576 of file rom.h.
Referenced by dungeon_palette(), LoadAllGraphicsData(), LoadFromPointer(), LoadLinkGraphics(), LoadZelda3(), mutable_dungeon_palette(), mutable_palette_group(), palette_group(), and SaveAllPalettes().
|
private |
Definition at line 579 of file rom.h.
Referenced by LoadZelda3(), version(), and version_constants().