yaze 0.2.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::test::Rom Class Reference

The Rom class is used to load, save, and modify Rom data. More...

#include <rom.h>

Inheritance diagram for yaze::test::Rom:
Collaboration diagram for yaze::test::Rom:

Classes

struct  SaveSettings
 
struct  WriteAction
 

Public Member Functions

absl::Status LoadFromFile (const std::string &filename, bool z3_load=true)
 
absl::Status LoadFromData (const std::vector< uint8_t > &data, bool z3_load=true)
 
absl::Status LoadZelda3 ()
 
absl::Status LoadGfxGroups ()
 
absl::Status SaveGfxGroups ()
 
absl::Status SaveToFile (const SaveSettings &settings)
 
absl::Status SavePalette (int index, const std::string &group_name, gfx::SnesPalette &palette)
 
absl::Status SaveAllPalettes ()
 
void Expand (int size)
 
void Close ()
 
absl::StatusOr< uint8_t > ReadByte (int offset)
 
absl::StatusOr< uint16_t > ReadWord (int offset)
 
absl::StatusOr< uint32_t > ReadLong (int offset)
 
absl::StatusOr< std::vector< uint8_t > > ReadByteVector (uint32_t offset, uint32_t length) const
 
absl::StatusOr< gfx::Tile16ReadTile16 (uint32_t tile16_id)
 
absl::Status WriteTile16 (int tile16_id, const gfx::Tile16 &tile)
 
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)
 
virtual absl::Status WriteHelper (const WriteAction &action)
 
template<typename T>
absl::Status ReadHelper (T &var, int address)
 
uint8_t & operator[] (unsigned long i)
 
bool is_loaded () const
 
auto title () const
 
auto size () const
 
auto data () const
 
auto mutable_data ()
 
auto begin ()
 
auto end ()
 
auto vector () const
 
auto filename () const
 
auto set_filename (std::string_view name)
 
auto short_name () const
 
auto graphics_buffer () const
 
auto mutable_graphics_buffer ()
 
auto palette_group () const
 
auto mutable_palette_group ()
 
auto dungeon_palette (int i)
 
auto mutable_dungeon_palette (int i)
 
ResourceLabelManagerresource_label ()
 
zelda3_version_pointers version_constants () const
 

Public Attributes

std::array< std::array< uint8_t, 8 >, kNumMainBlocksetsmain_blockset_ids
 
std::array< std::array< uint8_t, 4 >, kNumRoomBlocksetsroom_blockset_ids
 
std::array< std::array< uint8_t, 4 >, kNumSpritesetsspriteset_ids
 
std::array< std::array< uint8_t, 4 >, kNumPalettesetspaletteset_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_
 
ResourceLabelManager resource_label_manager_
 
gfx::PaletteGroupMap palette_groups_
 
zelda3_version version_ = zelda3_version::US
 

Detailed Description

The Rom class is used to load, save, and modify Rom data.

Definition at line 58 of file rom.h.

Member Function Documentation

◆ LoadFromFile()

absl::Status yaze::Rom::LoadFromFile ( const std::string & filename,
bool z3_load = true )

Definition at line 231 of file rom.cc.

◆ LoadFromData()

absl::Status yaze::Rom::LoadFromData ( const std::vector< uint8_t > & data,
bool z3_load = true )

Definition at line 271 of file rom.cc.

◆ LoadZelda3()

absl::Status yaze::Rom::LoadZelda3 ( )

Definition at line 284 of file rom.cc.

◆ LoadGfxGroups()

absl::Status yaze::Rom::LoadGfxGroups ( )

Definition at line 320 of file rom.cc.

◆ SaveGfxGroups()

absl::Status yaze::Rom::SaveGfxGroups ( )

Definition at line 353 of file rom.cc.

◆ SaveToFile()

absl::Status yaze::Rom::SaveToFile ( const SaveSettings & settings)

Definition at line 386 of file rom.cc.

◆ SavePalette()

absl::Status yaze::Rom::SavePalette ( int index,
const std::string & group_name,
gfx::SnesPalette & palette )

Definition at line 488 of file rom.cc.

◆ SaveAllPalettes()

absl::Status yaze::Rom::SaveAllPalettes ( )

Definition at line 502 of file rom.cc.

◆ Expand()

void yaze::Rom::Expand ( int size)
inline

Definition at line 79 of file rom.h.

◆ Close()

void yaze::Rom::Close ( )
inline

Definition at line 84 of file rom.h.

◆ ReadByte()

absl::StatusOr< uint8_t > yaze::Rom::ReadByte ( int offset)

Definition at line 515 of file rom.cc.

◆ ReadWord()

absl::StatusOr< uint16_t > yaze::Rom::ReadWord ( int offset)

Definition at line 522 of file rom.cc.

◆ ReadLong()

absl::StatusOr< uint32_t > yaze::Rom::ReadLong ( int offset)

Definition at line 530 of file rom.cc.

◆ ReadByteVector()

absl::StatusOr< std::vector< uint8_t > > yaze::Rom::ReadByteVector ( uint32_t offset,
uint32_t length ) const

Definition at line 539 of file rom.cc.

◆ ReadTile16()

absl::StatusOr< gfx::Tile16 > yaze::Rom::ReadTile16 ( uint32_t tile16_id)

Definition at line 551 of file rom.cc.

◆ WriteTile16()

absl::Status yaze::Rom::WriteTile16 ( int tile16_id,
const gfx::Tile16 & tile )

Definition at line 569 of file rom.cc.

◆ WriteByte()

absl::Status yaze::Rom::WriteByte ( int addr,
uint8_t value )

Definition at line 582 of file rom.cc.

◆ WriteWord()

absl::Status yaze::Rom::WriteWord ( int addr,
uint16_t value )

Definition at line 593 of file rom.cc.

◆ WriteShort()

absl::Status yaze::Rom::WriteShort ( int addr,
uint16_t value )

Definition at line 605 of file rom.cc.

◆ WriteLong()

absl::Status yaze::Rom::WriteLong ( uint32_t addr,
uint32_t value )

Definition at line 617 of file rom.cc.

◆ WriteVector()

absl::Status yaze::Rom::WriteVector ( int addr,
std::vector< uint8_t > data )

Definition at line 630 of file rom.cc.

◆ WriteColor()

absl::Status yaze::Rom::WriteColor ( uint32_t address,
const gfx::SnesColor & color )

Definition at line 643 of file rom.cc.

◆ WriteTransaction()

template<typename... Args>
absl::Status yaze::Rom::WriteTransaction ( Args... args)
inline

Definition at line 106 of file rom.h.

◆ ReadTransaction()

template<typename T, typename... Args>
absl::Status yaze::Rom::ReadTransaction ( T & var,
int address,
Args &&... args )
inline

Definition at line 114 of file rom.h.

◆ WriteHelper()

virtual absl::Status yaze::Rom::WriteHelper ( const WriteAction & action)
inlinevirtual

Definition at line 133 of file rom.h.

◆ ReadHelper()

template<typename T>
absl::Status yaze::Rom::ReadHelper ( T & var,
int address )
inline

Definition at line 155 of file rom.h.

◆ operator[]()

uint8_t & yaze::Rom::operator[] ( unsigned long i)
inline

Definition at line 169 of file rom.h.

◆ is_loaded()

bool yaze::Rom::is_loaded ( ) const
inline

Definition at line 174 of file rom.h.

◆ title()

auto yaze::Rom::title ( ) const
inline

Definition at line 175 of file rom.h.

◆ size()

auto yaze::Rom::size ( ) const
inline

Definition at line 176 of file rom.h.

◆ data()

auto yaze::Rom::data ( ) const
inline

Definition at line 177 of file rom.h.

◆ mutable_data()

auto yaze::Rom::mutable_data ( )
inline

Definition at line 178 of file rom.h.

◆ begin()

auto yaze::Rom::begin ( )
inline

Definition at line 179 of file rom.h.

◆ end()

auto yaze::Rom::end ( )
inline

Definition at line 180 of file rom.h.

◆ vector()

auto yaze::Rom::vector ( ) const
inline

Definition at line 181 of file rom.h.

◆ filename()

auto yaze::Rom::filename ( ) const
inline

Definition at line 182 of file rom.h.

◆ set_filename()

auto yaze::Rom::set_filename ( std::string_view name)
inline

Definition at line 183 of file rom.h.

◆ short_name()

auto yaze::Rom::short_name ( ) const
inline

Definition at line 184 of file rom.h.

◆ graphics_buffer()

auto yaze::Rom::graphics_buffer ( ) const
inline

Definition at line 185 of file rom.h.

◆ mutable_graphics_buffer()

auto yaze::Rom::mutable_graphics_buffer ( )
inline

Definition at line 186 of file rom.h.

◆ palette_group()

auto yaze::Rom::palette_group ( ) const
inline

Definition at line 187 of file rom.h.

◆ mutable_palette_group()

auto yaze::Rom::mutable_palette_group ( )
inline

Definition at line 188 of file rom.h.

◆ dungeon_palette()

auto yaze::Rom::dungeon_palette ( int i)
inline

Definition at line 189 of file rom.h.

◆ mutable_dungeon_palette()

auto yaze::Rom::mutable_dungeon_palette ( int i)
inline

Definition at line 190 of file rom.h.

◆ resource_label()

ResourceLabelManager * yaze::Rom::resource_label ( )
inline

Definition at line 194 of file rom.h.

◆ version_constants()

zelda3_version_pointers yaze::Rom::version_constants ( ) const
inline

Definition at line 195 of file rom.h.

Member Data Documentation

◆ main_blockset_ids

std::array<std::array<uint8_t, 8>, kNumMainBlocksets> yaze::Rom::main_blockset_ids

Definition at line 199 of file rom.h.

◆ room_blockset_ids

std::array<std::array<uint8_t, 4>, kNumRoomBlocksets> yaze::Rom::room_blockset_ids

Definition at line 200 of file rom.h.

◆ spriteset_ids

std::array<std::array<uint8_t, 4>, kNumSpritesets> yaze::Rom::spriteset_ids

Definition at line 201 of file rom.h.

◆ paletteset_ids

std::array<std::array<uint8_t, 4>, kNumPalettesets> yaze::Rom::paletteset_ids

Definition at line 202 of file rom.h.

◆ size_

unsigned long yaze::Rom::size_ = 0
private

Definition at line 206 of file rom.h.

◆ title_

std::string yaze::Rom::title_ = "ROM not loaded"
private

Definition at line 209 of file rom.h.

◆ filename_

std::string yaze::Rom::filename_ = ""
private

Definition at line 212 of file rom.h.

◆ short_name_

std::string yaze::Rom::short_name_ = ""
private

Definition at line 215 of file rom.h.

◆ rom_data_

std::vector<uint8_t> yaze::Rom::rom_data_
private

Definition at line 218 of file rom.h.

◆ graphics_buffer_

std::vector<uint8_t> yaze::Rom::graphics_buffer_
private

Definition at line 221 of file rom.h.

◆ resource_label_manager_

ResourceLabelManager yaze::Rom::resource_label_manager_
private

Definition at line 224 of file rom.h.

◆ palette_groups_

gfx::PaletteGroupMap yaze::Rom::palette_groups_
private

Definition at line 227 of file rom.h.

◆ version_

zelda3_version yaze::Rom::version_ = zelda3_version::US
private

Definition at line 230 of file rom.h.


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