From 0cefa777cb9f52f092ef998b4419926074faac89 Mon Sep 17 00:00:00 2001 From: scawful Date: Sat, 11 Nov 2023 19:04:48 -0500 Subject: [PATCH] `DrawOverworldSprites` experiment flag --- src/app/zelda3/overworld.cc | 4 +++- src/app/zelda3/overworld.h | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/app/zelda3/overworld.cc b/src/app/zelda3/overworld.cc index e2206f76..ac1a905a 100644 --- a/src/app/zelda3/overworld.cc +++ b/src/app/zelda3/overworld.cc @@ -139,8 +139,10 @@ absl::Status Overworld::Load(ROM &rom) { FetchLargeMaps(); LoadEntrances(); - // Load Sprites will go here. RETURN_IF_ERROR(LoadOverworldMaps()) + if (flags().kDrawOverworldSprites) { + LoadSprites(); + } is_loaded_ = true; return absl::OkStatus(); diff --git a/src/app/zelda3/overworld.h b/src/app/zelda3/overworld.h index ca2c543f..3c72c79e 100644 --- a/src/app/zelda3/overworld.h +++ b/src/app/zelda3/overworld.h @@ -9,6 +9,7 @@ #include "absl/container/flat_hash_map.h" #include "absl/status/status.h" +#include "app/core/common.h" #include "app/core/constants.h" #include "app/gfx/bitmap.h" #include "app/gfx/snes_tile.h" @@ -178,10 +179,10 @@ struct MapData { std::vector lowData; }; -class Overworld : public SharedROM { +class Overworld : public SharedROM, public core::ExperimentFlags { public: absl::Status Load(ROM &rom); - OWBlockset& GetMapTiles(int world_type); + OWBlockset &GetMapTiles(int world_type); absl::Status LoadOverworldMaps(); absl::Status SaveOverworldMaps(); absl::Status SaveLargeMaps(); @@ -194,7 +195,7 @@ class Overworld : public SharedROM { auto AreaGraphics() const { return overworld_maps_[current_map_].AreaGraphics(); } - auto Entrances() const { return all_entrances_; } + auto &Entrances() { return all_entrances_; } auto AreaPalette() const { return overworld_maps_[current_map_].AreaPalette(); }