Update overworld map accessors

This commit is contained in:
scawful
2023-11-26 16:50:09 -05:00
parent 85549e4a36
commit d2fa9c0c53
3 changed files with 14 additions and 4 deletions

View File

@@ -191,6 +191,9 @@ class Overworld : public SharedROM, public core::ExperimentFlags {
absl::Status SaveMap16Tiles();
absl::Status SaveMap32Tiles();
auto overworld_map(int i) const { return overworld_maps_[i]; }
auto mutable_overworld_map(int i) { return &overworld_maps_[i]; }
auto Sprites(int state) const { return all_sprites_[state]; }
auto AreaGraphics() const {
return overworld_maps_[current_map_].AreaGraphics();

View File

@@ -348,7 +348,7 @@ void OverworldMap::LoadPalette() {
int previousSprPalId =
index_ > 0 ? rom_[overworldSpritePalette + parent_ - 1] : 0;
area_palette_ = std::min(area_palette_, 0xA3);
area_palette_ = std::min((int)area_palette_, 0xA3);
uchar pal0 = 0;
uchar pal1 = rom_[rom_.version_constants().overworldMapPaletteGroup +

View File

@@ -24,6 +24,7 @@ static constexpr int kTileOffsets[] = {0, 8, 4096, 4104};
class OverworldMap {
public:
OverworldMap() = default;
OverworldMap(int index, ROM& rom, std::vector<gfx::Tile16>& tiles16);
absl::Status BuildMap(int count, int game_state, int world, uchar* map_parent,
@@ -38,6 +39,12 @@ class OverworldMap {
auto IsInitialized() const { return initialized_; }
auto Parent() const { return parent_; }
auto mutable_area_graphics() { return &area_graphics_; }
auto mutable_area_palette() { return &area_palette_; }
auto mutable_sprite_graphics(int i) { return &sprite_graphics_[i]; }
auto mutable_sprite_palette(int i) { return &sprite_palette_[i]; }
auto mutable_message_id() { return &message_id_; }
private:
void LoadAreaInfo();
@@ -61,9 +68,9 @@ class OverworldMap {
int parent_ = 0;
int index_ = 0;
int world_ = 0;
int message_id_ = 0;
int area_graphics_ = 0;
int area_palette_ = 0;
uint8_t message_id_ = 0;
uint8_t area_graphics_ = 0;
uint8_t area_palette_ = 0;
int game_state_ = 0;
int world_index_ = 0;