game constants housekeeping

This commit is contained in:
scawful
2024-08-29 13:08:36 -04:00
parent 20f7f04520
commit 5532623e16
5 changed files with 51 additions and 56 deletions

View File

@@ -330,7 +330,8 @@ absl::Status Overworld::LoadOverworldMaps() {
void Overworld::LoadTileTypes() {
for (int i = 0; i < 0x200; i++) {
all_tiles_types_[i] = rom()->data()[overworldTilesType + i];
all_tiles_types_[i] =
rom()->data()[rom()->version_constants().overworldTilesType + i];
}
}
@@ -632,8 +633,9 @@ absl::Status Overworld::SaveOverworldMaps() {
core::Logger::log("Saving map pointers1 and compressed data for map " +
core::UppercaseHexByte(i) + " at " +
core::UppercaseHexLong(snes_pos));
RETURN_IF_ERROR(
rom()->WriteLong(kCompressedAllMap32PointersLow + (3 * i), snes_pos));
RETURN_IF_ERROR(rom()->WriteLong(
rom()->version_constants().kCompressedAllMap32PointersLow + (3 * i),
snes_pos));
RETURN_IF_ERROR(rom()->WriteVector(pos, a));
pos += size_a;
} else {
@@ -642,8 +644,9 @@ absl::Status Overworld::SaveOverworldMaps() {
core::Logger::log("Saving map pointers1 for map " +
core::UppercaseHexByte(i) + " at " +
core::UppercaseHexLong(snes_pos));
RETURN_IF_ERROR(
rom()->WriteLong(kCompressedAllMap32PointersLow + (3 * i), snes_pos));
RETURN_IF_ERROR(rom()->WriteLong(
rom()->version_constants().kCompressedAllMap32PointersLow + (3 * i),
snes_pos));
}
if ((pos + b.size()) >= 0x5FE70 && (pos + b.size()) <= 0x60000) {
@@ -666,7 +669,8 @@ absl::Status Overworld::SaveOverworldMaps() {
core::UppercaseHexByte(i) + " at " +
core::UppercaseHexLong(snes_pos));
RETURN_IF_ERROR(rom()->WriteLong(
kCompressedAllMap32PointersHigh + (3 * i), snes_pos));
rom()->version_constants().kCompressedAllMap32PointersHigh + (3 * i),
snes_pos));
RETURN_IF_ERROR(rom()->WriteVector(pos, b));
pos += size_b;
} else {
@@ -676,7 +680,8 @@ absl::Status Overworld::SaveOverworldMaps() {
core::UppercaseHexByte(i) + " at " +
core::UppercaseHexLong(snes_pos));
RETURN_IF_ERROR(rom()->WriteLong(
kCompressedAllMap32PointersHigh + (3 * i), snes_pos));
rom()->version_constants().kCompressedAllMap32PointersHigh + (3 * i),
snes_pos));
}
}
@@ -1433,9 +1438,9 @@ absl::Status Overworld::SaveItems() {
absl::Status Overworld::SaveMapProperties() {
core::Logger::log("Saving Map Properties");
for (int i = 0; i < 64; i++) {
RETURN_IF_ERROR(
rom()->WriteByte(mapGfx + i, overworld_maps_[i].area_graphics()));
RETURN_IF_ERROR(rom()->WriteByte(overworldMapPalette + i,
RETURN_IF_ERROR(rom()->WriteByte(kAreaGfxIdPtr + i,
overworld_maps_[i].area_graphics()));
RETURN_IF_ERROR(rom()->WriteByte(kOverworldMapPaletteIds + i,
overworld_maps_[i].area_palette()));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpriteset + i,
overworld_maps_[i].sprite_graphics(0)));
@@ -1443,30 +1448,30 @@ absl::Status Overworld::SaveMapProperties() {
overworld_maps_[i].sprite_graphics(1)));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpriteset + 128 + i,
overworld_maps_[i].sprite_graphics(2)));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpritePalette + i,
RETURN_IF_ERROR(rom()->WriteByte(kOverworldSpritePaletteIds + i,
overworld_maps_[i].sprite_palette(0)));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpritePalette + 64 + i,
RETURN_IF_ERROR(rom()->WriteByte(kOverworldSpritePaletteIds + 64 + i,
overworld_maps_[i].sprite_palette(1)));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpritePalette + 128 + i,
RETURN_IF_ERROR(rom()->WriteByte(kOverworldSpritePaletteIds + 128 + i,
overworld_maps_[i].sprite_palette(2)));
}
for (int i = 64; i < 128; i++) {
RETURN_IF_ERROR(
rom()->WriteByte(mapGfx + i, overworld_maps_[i].area_graphics()));
RETURN_IF_ERROR(rom()->WriteByte(kAreaGfxIdPtr + i,
overworld_maps_[i].area_graphics()));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpriteset + i,
overworld_maps_[i].sprite_graphics(0)));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpriteset + 64 + i,
overworld_maps_[i].sprite_graphics(1)));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpriteset + 128 + i,
overworld_maps_[i].sprite_graphics(2)));
RETURN_IF_ERROR(rom()->WriteByte(overworldMapPalette + i,
RETURN_IF_ERROR(rom()->WriteByte(kOverworldMapPaletteIds + i,
overworld_maps_[i].area_palette()));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpritePalette + 64 + i,
RETURN_IF_ERROR(rom()->WriteByte(kOverworldSpritePaletteIds + 64 + i,
overworld_maps_[i].sprite_palette(0)));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpritePalette + 128 + i,
RETURN_IF_ERROR(rom()->WriteByte(kOverworldSpritePaletteIds + 128 + i,
overworld_maps_[i].sprite_palette(1)));
RETURN_IF_ERROR(rom()->WriteByte(overworldSpritePalette + 192 + i,
RETURN_IF_ERROR(rom()->WriteByte(kOverworldSpritePaletteIds + 192 + i,
overworld_maps_[i].sprite_palette(2)));
}

View File

@@ -376,13 +376,8 @@ class OverworldEntrance : public GameEntity {
}
};
constexpr int kCompressedAllMap32PointersHigh = 0x1794D;
constexpr int kCompressedAllMap32PointersLow = 0x17B2D;
constexpr int overworldPalGroup1 = 0xDE6C8;
constexpr int overworldPalGroup2 = 0xDE86C;
constexpr int overworldPalGroup3 = 0xDE604;
constexpr int overworldMapPalette = 0x7D1C;
constexpr int overworldSpritePalette = 0x7B41;
constexpr int kOverworldMapPaletteIds = 0x7D1C;
constexpr int kOverworldSpritePaletteIds = 0x7B41;
constexpr int overworldMapPaletteGroup = 0x75504;
constexpr int overworldSpritePaletteGroup = 0x75580;
constexpr int overworldSpriteset = 0x7A41;
@@ -392,12 +387,8 @@ constexpr int overworldSpritesBegining = 0x4C881;
constexpr int overworldSpritesAgahnim = 0x4CA21;
constexpr int overworldSpritesZelda = 0x4C901;
constexpr int mapGfx = 0x7C9C;
constexpr int overlayPointers = 0x77664;
constexpr int overlayPointersBank = 0x0E;
constexpr int overworldTilesType = 0x71459;
constexpr int overworldMessages = 0x3F51D;
constexpr int kAreaGfxIdPtr = 0x7C9C;
constexpr int kOverworldMessageIds = 0x3F51D;
constexpr int overworldMusicBegining = 0x14303;
constexpr int overworldMusicZelda = 0x14303 + 0x40;

View File

@@ -48,8 +48,8 @@ absl::Status OverworldMap::BuildMap(int count, int game_state, int world,
area_graphics_ = 0x51;
area_palette_ = 0x00;
} else {
area_graphics_ = rom_[mapGfx + parent_];
area_palette_ = rom_[overworldMapPalette + parent_];
area_graphics_ = rom_[kAreaGfxIdPtr + parent_];
area_palette_ = rom_[kOverworldMapPaletteIds + parent_];
}
initialized_ = true;
@@ -75,11 +75,11 @@ void OverworldMap::LoadAreaInfo() {
}
}
message_id_ = rom_.toint16(overworldMessages + (parent_ * 2));
message_id_ = rom_.toint16(kOverworldMessageIds + (parent_ * 2));
if (index_ < 0x40) {
area_graphics_ = rom_[mapGfx + parent_];
area_palette_ = rom_[overworldMapPalette + parent_];
area_graphics_ = rom_[kAreaGfxIdPtr + parent_];
area_palette_ = rom_[kOverworldMapPaletteIds + parent_];
area_music_[0] = rom_[overworldMusicBegining + parent_];
area_music_[1] = rom_[overworldMusicZelda + parent_];
@@ -90,21 +90,21 @@ void OverworldMap::LoadAreaInfo() {
sprite_graphics_[1] = rom_[overworldSpriteset + parent_ + 0x40];
sprite_graphics_[2] = rom_[overworldSpriteset + parent_ + 0x80];
sprite_palette_[0] = rom_[overworldSpritePalette + parent_];
sprite_palette_[1] = rom_[overworldSpritePalette + parent_ + 0x40];
sprite_palette_[2] = rom_[overworldSpritePalette + parent_ + 0x80];
sprite_palette_[0] = rom_[kOverworldSpritePaletteIds + parent_];
sprite_palette_[1] = rom_[kOverworldSpritePaletteIds + parent_ + 0x40];
sprite_palette_[2] = rom_[kOverworldSpritePaletteIds + parent_ + 0x80];
} else if (index_ < 0x80) {
area_graphics_ = rom_[mapGfx + parent_];
area_palette_ = rom_[overworldMapPalette + parent_];
area_graphics_ = rom_[kAreaGfxIdPtr + parent_];
area_palette_ = rom_[kOverworldMapPaletteIds + parent_];
area_music_[0] = rom_[overworldMusicDW + (parent_ - 64)];
sprite_graphics_[0] = rom_[overworldSpriteset + parent_ + 0x80];
sprite_graphics_[1] = rom_[overworldSpriteset + parent_ + 0x80];
sprite_graphics_[2] = rom_[overworldSpriteset + parent_ + 0x80];
sprite_palette_[0] = rom_[overworldSpritePalette + parent_ + 0x80];
sprite_palette_[1] = rom_[overworldSpritePalette + parent_ + 0x80];
sprite_palette_[2] = rom_[overworldSpritePalette + parent_ + 0x80];
sprite_palette_[0] = rom_[kOverworldSpritePaletteIds + parent_ + 0x80];
sprite_palette_[1] = rom_[kOverworldSpritePaletteIds + parent_ + 0x80];
sprite_palette_[2] = rom_[kOverworldSpritePaletteIds + parent_ + 0x80];
} else {
if (index_ == 0x94) {
parent_ = 0x80;
@@ -139,17 +139,17 @@ void OverworldMap::LoadAreaInfo() {
area_palette_ = 0x00;
} else {
// pyramid bg use 0x5B map
area_graphics_ = rom_[mapGfx + parent_];
area_palette_ = rom_[overworldMapPalette + parent_];
area_graphics_ = rom_[kAreaGfxIdPtr + parent_];
area_palette_ = rom_[kOverworldMapPaletteIds + parent_];
}
sprite_graphics_[0] = rom_[overworldSpriteset + parent_ + 0x80];
sprite_graphics_[1] = rom_[overworldSpriteset + parent_ + 0x80];
sprite_graphics_[2] = rom_[overworldSpriteset + parent_ + 0x80];
sprite_palette_[0] = rom_[overworldSpritePalette + parent_ + 0x80];
sprite_palette_[1] = rom_[overworldSpritePalette + parent_ + 0x80];
sprite_palette_[2] = rom_[overworldSpritePalette + parent_ + 0x80];
sprite_palette_[0] = rom_[kOverworldSpritePaletteIds + parent_ + 0x80];
sprite_palette_[1] = rom_[kOverworldSpritePaletteIds + parent_ + 0x80];
sprite_palette_[2] = rom_[kOverworldSpritePaletteIds + parent_ + 0x80];
}
}
@@ -571,9 +571,9 @@ absl::StatusOr<gfx::SnesPalette> OverworldMap::GetPalette(
}
absl::Status OverworldMap::LoadPalette() {
int previousPalId = index_ > 0 ? rom_[overworldMapPalette + parent_ - 1] : 0;
int previousPalId = index_ > 0 ? rom_[kOverworldMapPaletteIds + parent_ - 1] : 0;
int previousSprPalId =
index_ > 0 ? rom_[overworldSpritePalette + parent_ - 1] : 0;
index_ > 0 ? rom_[kOverworldSpritePaletteIds + parent_ - 1] : 0;
area_palette_ = std::min((int)area_palette_, 0xA3);