Refactor SnesToPc and PcToSnes functions for improved readability and consistency; remove redundant core:: namespace usage

This commit is contained in:
scawful
2025-01-22 13:45:58 -05:00
parent de53ccae21
commit 43fc52dec7
12 changed files with 170 additions and 172 deletions

View File

@@ -224,7 +224,7 @@ void Overworld::DecompressAllMapTiles() {
int p = (rom()->data()[map_ptr + 2 + (3 * index)] << 16) +
(rom()->data()[map_ptr + 1 + (3 * index)] << 8) +
(rom()->data()[map_ptr + (3 * index)]);
return core::SnesToPc(p);
return SnesToPc(p);
};
constexpr uint32_t kBaseLowest = 0x0FFFFF;
@@ -416,12 +416,12 @@ absl::Status Overworld::LoadExits() {
absl::Status Overworld::LoadItems() {
ASSIGN_OR_RETURN(uint32_t pointer,
rom()->ReadLong(zelda3::kOverworldItemsAddress));
uint32_t pointer_pc = core::SnesToPc(pointer); // 1BC2F9 -> 0DC2F9
uint32_t pointer_pc = SnesToPc(pointer); // 1BC2F9 -> 0DC2F9
for (int i = 0; i < 128; i++) {
ASSIGN_OR_RETURN(uint16_t word_address,
rom()->ReadWord(pointer_pc + i * 2));
uint32_t addr = (pointer & 0xFF0000) | word_address; // 1B F9 3C
addr = core::SnesToPc(addr);
addr = SnesToPc(addr);
if (overworld_maps_[i].is_large_map()) {
if (overworld_maps_[i].parent() != (uint8_t)i) {
@@ -490,7 +490,7 @@ absl::Status Overworld::LoadSpritesFromMap(int sprites_per_gamestate_ptr,
int current_spr_ptr = sprites_per_gamestate_ptr + (i * 2);
ASSIGN_OR_RETURN(auto word_addr, rom()->ReadWord(current_spr_ptr));
int sprite_address = core::SnesToPc((0x09 << 0x10) | word_addr);
int sprite_address = SnesToPc((0x09 << 0x10) | word_addr);
while (true) {
ASSIGN_OR_RETURN(uint8_t b1, rom()->ReadByte(sprite_address));
ASSIGN_OR_RETURN(uint8_t b2, rom()->ReadByte(sprite_address + 1));
@@ -609,7 +609,7 @@ absl::Status Overworld::SaveOverworldMaps() {
if (map_pointers1_id[i] == -1) {
// Save compressed data and pointer for map1
std::copy(a.begin(), a.end(), map_data_p1[i].begin());
int snes_pos = core::PcToSnes(pos);
int snes_pos = PcToSnes(pos);
map_pointers1[i] = snes_pos;
util::logf("Saving map pointers1 and compressed data for map %s at %s",
util::HexByte(i), util::HexLong(snes_pos));
@@ -641,7 +641,7 @@ absl::Status Overworld::SaveOverworldMaps() {
if (map_pointers2_id[i] == -1) {
// Save compressed data and pointer for map2
std::copy(b.begin(), b.end(), map_data_p2[i].begin());
int snes_pos = core::PcToSnes(pos);
int snes_pos = PcToSnes(pos);
map_pointers2[i] = snes_pos;
util::logf("Saving map pointers2 and compressed data for map %s at %s",
util::HexByte(i), util::HexLong(snes_pos));
@@ -1107,45 +1107,45 @@ absl::Status Overworld::SaveMap32Expanded() {
// Updates the pointers too for the tile32
// Top Right
RETURN_IF_ERROR(
rom()->WriteLong(0x0176EC, core::PcToSnes(kMap32TileTRExpanded)));
rom()->WriteLong(0x0176EC, PcToSnes(kMap32TileTRExpanded)));
RETURN_IF_ERROR(
rom()->WriteLong(0x0176F3, core::PcToSnes(kMap32TileTRExpanded + 1)));
rom()->WriteLong(0x0176F3, PcToSnes(kMap32TileTRExpanded + 1)));
RETURN_IF_ERROR(
rom()->WriteLong(0x0176FA, core::PcToSnes(kMap32TileTRExpanded + 2)));
rom()->WriteLong(0x0176FA, PcToSnes(kMap32TileTRExpanded + 2)));
RETURN_IF_ERROR(
rom()->WriteLong(0x017701, core::PcToSnes(kMap32TileTRExpanded + 3)));
rom()->WriteLong(0x017701, PcToSnes(kMap32TileTRExpanded + 3)));
RETURN_IF_ERROR(
rom()->WriteLong(0x017708, core::PcToSnes(kMap32TileTRExpanded + 4)));
rom()->WriteLong(0x017708, PcToSnes(kMap32TileTRExpanded + 4)));
RETURN_IF_ERROR(
rom()->WriteLong(0x01771A, core::PcToSnes(kMap32TileTRExpanded + 5)));
rom()->WriteLong(0x01771A, PcToSnes(kMap32TileTRExpanded + 5)));
// BottomLeft
RETURN_IF_ERROR(
rom()->WriteLong(0x01772C, core::PcToSnes(kMap32TileBLExpanded)));
rom()->WriteLong(0x01772C, PcToSnes(kMap32TileBLExpanded)));
RETURN_IF_ERROR(
rom()->WriteLong(0x017733, core::PcToSnes(kMap32TileBLExpanded + 1)));
rom()->WriteLong(0x017733, PcToSnes(kMap32TileBLExpanded + 1)));
RETURN_IF_ERROR(
rom()->WriteLong(0x01773A, core::PcToSnes(kMap32TileBLExpanded + 2)));
rom()->WriteLong(0x01773A, PcToSnes(kMap32TileBLExpanded + 2)));
RETURN_IF_ERROR(
rom()->WriteLong(0x017741, core::PcToSnes(kMap32TileBLExpanded + 3)));
rom()->WriteLong(0x017741, PcToSnes(kMap32TileBLExpanded + 3)));
RETURN_IF_ERROR(
rom()->WriteLong(0x017748, core::PcToSnes(kMap32TileBLExpanded + 4)));
rom()->WriteLong(0x017748, PcToSnes(kMap32TileBLExpanded + 4)));
RETURN_IF_ERROR(
rom()->WriteLong(0x01775A, core::PcToSnes(kMap32TileBLExpanded + 5)));
rom()->WriteLong(0x01775A, PcToSnes(kMap32TileBLExpanded + 5)));
// BottomRight
RETURN_IF_ERROR(
rom()->WriteLong(0x01776C, core::PcToSnes(kMap32TileBRExpanded)));
rom()->WriteLong(0x01776C, PcToSnes(kMap32TileBRExpanded)));
RETURN_IF_ERROR(
rom()->WriteLong(0x017773, core::PcToSnes(kMap32TileBRExpanded + 1)));
rom()->WriteLong(0x017773, PcToSnes(kMap32TileBRExpanded + 1)));
RETURN_IF_ERROR(
rom()->WriteLong(0x01777A, core::PcToSnes(kMap32TileBRExpanded + 2)));
rom()->WriteLong(0x01777A, PcToSnes(kMap32TileBRExpanded + 2)));
RETURN_IF_ERROR(
rom()->WriteLong(0x017781, core::PcToSnes(kMap32TileBRExpanded + 3)));
rom()->WriteLong(0x017781, PcToSnes(kMap32TileBRExpanded + 3)));
RETURN_IF_ERROR(
rom()->WriteLong(0x017788, core::PcToSnes(kMap32TileBRExpanded + 4)));
rom()->WriteLong(0x017788, PcToSnes(kMap32TileBRExpanded + 4)));
RETURN_IF_ERROR(
rom()->WriteLong(0x01779A, core::PcToSnes(kMap32TileBRExpanded + 5)));
rom()->WriteLong(0x01779A, PcToSnes(kMap32TileBRExpanded + 5)));
return absl::OkStatus();
}
@@ -1279,79 +1279,79 @@ absl::Status Overworld::SaveMap32Tiles() {
}
absl::Status Overworld::SaveMap16Expanded() {
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x008865),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x0EDE4F),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x0EDEE9),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x008865),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x0EDE4F),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x0EDEE9),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BBC2D),
core::PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BBC4C),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BBCC2),
core::PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BBCCB),
core::PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BBC2D),
PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BBC4C),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BBCC2),
PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BBCCB),
PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BBEF6),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BBF23),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BC041),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BC9B3),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BBEF6),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BBF23),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BC041),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BC9B3),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BC9BA),
core::PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BC9C1),
core::PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BC9C8),
core::PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BC9BA),
PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BC9C1),
PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BC9C8),
PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BCA40),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BCA47),
core::PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BCA4E),
core::PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x1BCA55),
core::PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BCA40),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BCA47),
PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BCA4E),
PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x1BCA55),
PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x02F457),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x02F45E),
core::PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x02F467),
core::PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x02F46E),
core::PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x02F51F),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x02F526),
core::PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x02F52F),
core::PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteLong(core::SnesToPc(0x02F536),
core::PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x02F457),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x02F45E),
PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x02F467),
PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x02F46E),
PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x02F51F),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x02F526),
PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x02F52F),
PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteLong(SnesToPc(0x02F536),
PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteShort(core::SnesToPc(0x02FE1C),
core::PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteShort(core::SnesToPc(0x02FE23),
core::PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteShort(core::SnesToPc(0x02FE2C),
core::PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteShort(core::SnesToPc(0x02FE33),
core::PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteShort(SnesToPc(0x02FE1C),
PcToSnes(kMap16TilesExpanded)));
RETURN_IF_ERROR(rom()->WriteShort(SnesToPc(0x02FE23),
PcToSnes(kMap16TilesExpanded + 4)));
RETURN_IF_ERROR(rom()->WriteShort(SnesToPc(0x02FE2C),
PcToSnes(kMap16TilesExpanded + 2)));
RETURN_IF_ERROR(rom()->WriteShort(SnesToPc(0x02FE33),
PcToSnes(kMap16TilesExpanded + 6)));
RETURN_IF_ERROR(rom()->WriteByte(
core::SnesToPc(0x02FD28),
static_cast<uint8_t>(core::PcToSnes(kMap16TilesExpanded) >> 16)));
SnesToPc(0x02FD28),
static_cast<uint8_t>(PcToSnes(kMap16TilesExpanded) >> 16)));
RETURN_IF_ERROR(rom()->WriteByte(
core::SnesToPc(0x02FD39),
static_cast<uint8_t>(core::PcToSnes(kMap16TilesExpanded) >> 16)));
SnesToPc(0x02FD39),
static_cast<uint8_t>(PcToSnes(kMap16TilesExpanded) >> 16)));
return absl::OkStatus();
}
@@ -1537,7 +1537,7 @@ absl::Status Overworld::SaveItems() {
item_pointers[i] = item_pointers[item_pointers_reuse[i]];
}
int snesaddr = core::PcToSnes(item_pointers[i]);
int snesaddr = PcToSnes(item_pointers[i]);
RETURN_IF_ERROR(
rom()->WriteWord(kOverworldItemsPointers + (i * 2), snesaddr));
}