From 4463e6be3288020fd3a5ee2d341ac593794d1bce Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 28 Jan 2024 12:04:00 -0500 Subject: [PATCH] Add gfx::PaletteSet type --- src/app/editor/context/gfx_context.cc | 11 +---------- src/app/editor/context/gfx_context.h | 26 +++----------------------- src/app/gfx/snes_palette.cc | 2 -- src/app/gfx/snes_palette.h | 24 ++++++++++++++++++++++++ 4 files changed, 28 insertions(+), 35 deletions(-) diff --git a/src/app/editor/context/gfx_context.cc b/src/app/editor/context/gfx_context.cc index a239ba92..e8912ce8 100644 --- a/src/app/editor/context/gfx_context.cc +++ b/src/app/editor/context/gfx_context.cc @@ -4,8 +4,6 @@ #include -#include "absl/status/status.h" -#include "absl/status/statusor.h" #include "app/core/editor.h" #include "app/gui/pipeline.h" #include "app/editor/modules/palette_editor.h" @@ -15,20 +13,13 @@ #include "app/gui/canvas.h" #include "app/gui/icons.h" #include "app/rom.h" -#include "app/zelda3/overworld.h" namespace yaze { namespace app { namespace editor { -absl::Status GfxContext::Update() { return absl::OkStatus(); } -gfx::Bitmap GfxContext::current_ow_gfx_bmp_; -gfx::SNESPalette GfxContext::current_ow_palette_; -gfx::Bitmap GfxContext::tile16_blockset_bmp_; -gfx::Bitmap GfxContext::tile8_blockset_bmp_; -std::vector GfxContext::tile16_individual_bmp_; -std::vector GfxContext::tile8_individual_bmp_; +std::unordered_map GfxContext::palettesets_; } // namespace editor } // namespace app diff --git a/src/app/editor/context/gfx_context.h b/src/app/editor/context/gfx_context.h index 18cd687b..723b4c80 100644 --- a/src/app/editor/context/gfx_context.h +++ b/src/app/editor/context/gfx_context.h @@ -6,24 +6,15 @@ #include #include -#include "absl/status/status.h" -#include "absl/status/statusor.h" #include "app/core/editor.h" -#include "app/gui/pipeline.h" #include "app/editor/modules/palette_editor.h" #include "app/gfx/bitmap.h" #include "app/gfx/snes_palette.h" #include "app/gfx/snes_tile.h" #include "app/gui/canvas.h" #include "app/gui/icons.h" +#include "app/gui/pipeline.h" #include "app/rom.h" -#include "app/zelda3/overworld.h" - -// Create a class which manages the current VRAM state of Link to the Past, -// including static members for the Bitmaps and Palettes as well as the current -// blockset as to update all of the overworld maps with the new blockset when it -// is changed. This class will also manage the current tile16 and tile8 -// selection, as well as the current palette selection. namespace yaze { namespace app { @@ -34,19 +25,8 @@ class GfxContext { absl::Status Update(); protected: - static gfx::Bitmap current_ow_gfx_bmp_; - - static gfx::SNESPalette current_ow_palette_; - - static gfx::Bitmap tile16_blockset_bmp_; - - static gfx::Bitmap tile8_blockset_bmp_; - - // Bitmaps for the tile16 individual tiles - static std::vector tile16_individual_bmp_; - - // Bitmaps for the tile8 individual tiles - static std::vector tile8_individual_bmp_; + // Palettesets for the tile16 individual tiles + static std::unordered_map palettesets_; }; } // namespace editor diff --git a/src/app/gfx/snes_palette.cc b/src/app/gfx/snes_palette.cc index fd68d029..28f4829d 100644 --- a/src/app/gfx/snes_palette.cc +++ b/src/app/gfx/snes_palette.cc @@ -278,8 +278,6 @@ PaletteGroup CreatePaletteGroupFromColFile( PaletteGroup CreatePaletteGroupFromLargePalette(SNESPalette& palette) { PaletteGroup toret; - std::cout << "Palette size is " << palette.size() << std::endl; - for (int i = 0; i < palette.size(); i += 8) { SNESPalette new_palette; if (i + 8 < palette.size()) { diff --git a/src/app/gfx/snes_palette.h b/src/app/gfx/snes_palette.h index e3094d6b..04911a5f 100644 --- a/src/app/gfx/snes_palette.h +++ b/src/app/gfx/snes_palette.h @@ -276,6 +276,30 @@ PaletteGroup CreatePaletteGroupFromColFile(std::vector& colors); PaletteGroup CreatePaletteGroupFromLargePalette(SNESPalette& palette); +struct Paletteset { + Paletteset() = default; + Paletteset(gfx::SNESPalette main, gfx::SNESPalette animated, + gfx::SNESPalette aux1, gfx::SNESPalette aux2, + gfx::SNESColor background, gfx::SNESPalette hud, + gfx::SNESPalette spr, gfx::SNESPalette spr2) + : main(main), + animated(animated), + aux1(aux1), + aux2(aux2), + background(background), + hud(hud), + spr(spr), + spr2(spr2) {} + gfx::SNESPalette main; + gfx::SNESPalette animated; + gfx::SNESPalette aux1; + gfx::SNESPalette aux2; + gfx::SNESColor background; + gfx::SNESPalette hud; + gfx::SNESPalette spr; + gfx::SNESPalette spr2; +}; + } // namespace gfx } // namespace app } // namespace yaze