From 7b356112f6e227a3ad55da667ffd5aae739b5999 Mon Sep 17 00:00:00 2001 From: Justin Scofield <47263509+scawful@users.noreply.github.com> Date: Tue, 19 Jul 2022 10:00:54 -0400 Subject: [PATCH] add AssignWorldTile routine to Overworld Reduce complexity of DecompressAllMapTiles --- src/app/zelda3/overworld.cc | 11 +++++++++++ src/app/zelda3/overworld.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/app/zelda3/overworld.cc b/src/app/zelda3/overworld.cc index a43cb24e..55468c57 100644 --- a/src/app/zelda3/overworld.cc +++ b/src/app/zelda3/overworld.cc @@ -80,6 +80,17 @@ void Overworld::AssembleMap16Tiles() { } } +void Overworld::AssignWorldTiles(std::vector>& world, int x, int y, int sx, int sy, int tpos) { + world[(x * 2) + (sx * 32)][(y * 2) + (sy * 32)] = + tiles32[tpos].tile0_; + world[(x * 2) + 1 + (sx * 32)][(y * 2) + (sy * 32)] = + tiles32[tpos].tile1_; + world[(x * 2) + (sx * 32)][(y * 2) + 1 + (sy * 32)] = + tiles32[tpos].tile2_; + world[(x * 2) + 1 + (sx * 32)][(y * 2) + 1 + (sy * 32)] = + tiles32[tpos].tile3_; +} + void Overworld::DecompressAllMapTiles() { int lowest = 0x0FFFFF; int highest = 0x0F8000; diff --git a/src/app/zelda3/overworld.h b/src/app/zelda3/overworld.h index 0f1b6dcc..e0d1b1ce 100644 --- a/src/app/zelda3/overworld.h +++ b/src/app/zelda3/overworld.h @@ -29,6 +29,7 @@ class Overworld { ushort GenerateTile32(int i, int k, int dimension); void AssembleMap32Tiles(); void AssembleMap16Tiles(); + void AssignWorldTiles(std::vector>& world, int x, int y, int sx, int sy, int tpos); void DecompressAllMapTiles(); void FetchLargeMaps(); void LoadOverworldMap();