17#include "absl/status/status.h"
37 operations_.push_back({address,
static_cast<uint8_t
>(*original),
53 operations_.push_back({address,
static_cast<uint16_t
>(*original),
69 operations_.push_back({address,
static_cast<uint32_t
>(*original),
96 if (!original_word.ok()) {
97 status_ = original_word.status();
102 operations_.push_back({address,
static_cast<uint16_t
>(*original_word),
117 const auto& op = *it;
121 std::get<uint8_t>(op.original_value));
125 std::get<uint16_t>(op.original_value));
129 std::get<uint32_t>(op.original_value));
133 op.address, std::get<std::vector<uint8_t>>(op.original_value));
137 std::get<uint16_t>(op.original_value));
155 std::variant<uint8_t, uint16_t, uint32_t, std::vector<uint8_t>>
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
absl::StatusOr< std::vector< uint8_t > > ReadByteVector(uint32_t offset, uint32_t length) const
absl::Status WriteColor(uint32_t address, const gfx::SnesColor &color)
absl::Status WriteByte(int addr, uint8_t value)
absl::StatusOr< uint8_t > ReadByte(int offset) const
void set_dirty(bool dirty)
absl::Status WriteVector(int addr, std::vector< uint8_t > data)
absl::StatusOr< uint16_t > ReadWord(int offset) const
auto set_filename(std::string_view name)
absl::Status WriteWord(int addr, uint16_t value)
absl::Status WriteLong(uint32_t addr, uint32_t value)
absl::StatusOr< uint32_t > ReadLong(int offset) const
ScopedRomTransaction(Rom &rom)
ScopedRomTransaction(const ScopedRomTransaction &)=delete
std::vector< uint8_t > data_
ScopedRomTransaction & operator=(const ScopedRomTransaction &)=delete
Transaction & WriteVector(int address, const std::vector< uint8_t > &data)
std::vector< Operation > operations_
Transaction & WriteLong(int address, uint32_t value)
Transaction & WriteWord(int address, uint16_t value)
Transaction & WriteByte(int address, uint8_t value)
Transaction & WriteColor(int address, const gfx::SnesColor &color)
std::variant< uint8_t, uint16_t, uint32_t, std::vector< uint8_t > > original_value