Refactor Renderer access and enhance graphics loading functionality

- Replaced instances of Renderer::GetInstance() with Renderer::Get() for consistency across the codebase.
- Updated various rendering methods to streamline bitmap updates and enhance performance.
- Removed unused includes and comments to improve code clarity and maintainability.
This commit is contained in:
scawful
2025-05-08 19:37:48 -04:00
parent fb015523dc
commit 11504ca4c1
18 changed files with 147 additions and 177 deletions

View File

@@ -9,6 +9,7 @@
#include "app/core/platform/renderer.h"
#include "app/gfx/arena.h"
#include "app/rom.h"
#include "app/snes.h"
#include "app/zelda3/dungeon/room_object.h"
#include "app/zelda3/sprite/sprite.h"
#include "util/log.h"
@@ -261,18 +262,16 @@ void Room::RenderRoomGraphics() {
rom()->mutable_palette_group()->get_group("dungeon_main")[0].palette(0);
if (!gfx::Arena::Get().bg1().bitmap().is_active()) {
core::Renderer::GetInstance().CreateAndRenderBitmap(
core::Renderer::Get().CreateAndRenderBitmap(
0x200, 0x200, 0x200, gfx::Arena::Get().bg1().bitmap().vector(),
gfx::Arena::Get().bg1().bitmap(), bg1_palette);
core::Renderer::GetInstance().CreateAndRenderBitmap(
core::Renderer::Get().CreateAndRenderBitmap(
0x200, 0x200, 0x200, gfx::Arena::Get().bg2().bitmap().vector(),
gfx::Arena::Get().bg2().bitmap(), bg1_palette);
} else {
// Update the bitmap
core::Renderer::GetInstance().UpdateBitmap(
&gfx::Arena::Get().bg1().bitmap());
core::Renderer::GetInstance().UpdateBitmap(
&gfx::Arena::Get().bg2().bitmap());
core::Renderer::Get().UpdateBitmap(&gfx::Arena::Get().bg1().bitmap());
core::Renderer::Get().UpdateBitmap(&gfx::Arena::Get().bg2().bitmap());
}
}

View File

@@ -35,7 +35,7 @@ absl::Status LoadDungeonMapGfxFromBinary(Rom &rom,
converted_bin.begin() + ((i + 1) * 0x1000));
sheets[i] = gfx::Bitmap(128, 32, 8, gfx_sheets[i]);
sheets[i].SetPalette(*rom.mutable_dungeon_palette(3));
core::Renderer::GetInstance().RenderBitmap(&sheets[i]);
core::Renderer::Get().RenderBitmap(&sheets[i]);
}
} else {
return absl::InternalError("Failed to load dungeon map tile16");

View File

@@ -69,7 +69,7 @@ absl::Status Inventory::Create() {
bitmap_.Create(256, 256, 8, data_);
bitmap_.SetPalette(palette_);
Renderer::GetInstance().RenderBitmap(&bitmap_);
Renderer::Get().RenderBitmap(&bitmap_);
return absl::OkStatus();
}
@@ -88,7 +88,7 @@ absl::Status Inventory::BuildTileset() {
auto hud_pal_group = rom()->palette_group().hud;
palette_ = hud_pal_group[0];
tilesheets_bmp_.SetPalette(palette_);
Renderer::GetInstance().RenderBitmap(&tilesheets_bmp_);
Renderer::Get().RenderBitmap(&tilesheets_bmp_);
return absl::OkStatus();
}