15#include "absl/status/status.h"
26 if (!
status_.ok())
return *
this;
40 if (!
status_.ok())
return *
this;
54 if (!
status_.ok())
return *
this;
68 if (!
status_.ok())
return *
this;
82 if (!
status_.ok())
return *
this;
85 if (!original_word.ok()) {
86 status_ = original_word.status();
105 const auto &op = *it;
108 (void)
rom_.
WriteByte(op.address, std::get<uint8_t>(op.original_value));
111 (void)
rom_.
WriteWord(op.address, std::get<uint16_t>(op.original_value));
114 (void)
rom_.
WriteLong(op.address, std::get<uint32_t>(op.original_value));
117 (void)
rom_.
WriteVector(op.address, std::get<std::vector<uint8_t>>(op.original_value));
120 (void)
rom_.
WriteWord(op.address, std::get<uint16_t>(op.original_value));
The Rom class is used to load, save, and modify Rom data.
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< uint16_t > ReadWord(int offset)
absl::Status WriteVector(int addr, std::vector< uint8_t > data)
absl::StatusOr< uint32_t > ReadLong(int offset)
absl::StatusOr< uint8_t > ReadByte(int offset)
absl::Status WriteWord(int addr, uint16_t value)
absl::Status WriteLong(uint32_t addr, uint32_t value)
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)
Main namespace for the application.
std::variant< uint8_t, uint16_t, uint32_t, std::vector< uint8_t > > original_value