Refactor OverworldMap class

This commit is contained in:
Justin Scofield
2022-07-19 18:23:35 +00:00
parent 51454ab651
commit 9f2041be70
4 changed files with 204 additions and 199 deletions

View File

@@ -19,18 +19,27 @@ namespace app {
namespace zelda3 {
class Overworld {
public:
public:
void Load(ROM &rom);
auto GetTiles16() const { return tiles16; }
auto GetCurrentGfxSetPtr() { return currentOWgfx16.GetData(); }
auto GetMapBlockset16Ptr() { return mapblockset16.GetData(); }
private:
private:
const int map32address[4] = {core::map32TilesTL, core::map32TilesTR,
core::map32TilesBL, core::map32TilesBR};
enum Dimension {
map32TilesTL = 0,
map32TilesTR = 1,
map32TilesBL = 2,
map32TilesBR = 3
};
ushort GenerateTile32(int i, int k, int dimension);
void AssembleMap32Tiles();
void AssembleMap16Tiles();
void AssignWorldTiles(std::vector<std::vector<ushort>> &world, int x,
int y, int sx, int sy, int tpos);
void AssignWorldTiles(std::vector<std::vector<ushort>> &world, int x, int y,
int sx, int sy, int tpos);
void DecompressAllMapTiles();
void FetchLargeMaps();
void LoadOverworldMap();
@@ -50,21 +59,10 @@ private:
std::vector<gfx::Tile32> tiles32;
std::vector<gfx::Tile32> map16tiles;
std::vector<OverworldMap> overworld_maps_;
const int map32address[4] = {
core::map32TilesTL, core::map32TilesTR,
core::map32TilesBL, core::map32TilesBR};
enum Dimension {
map32TilesTL = 0,
map32TilesTR = 1,
map32TilesBL = 2,
map32TilesBR = 3
};
};
} // namespace zelda3
} // namespace app
} // namespace yaze
} // namespace zelda3
} // namespace app
} // namespace yaze
#endif