From f625fc94b3423d3507a9e3b851fdb0ee69fe4862 Mon Sep 17 00:00:00 2001 From: Justin Scofield <47263509+scawful@users.noreply.github.com> Date: Sun, 5 Jan 2025 20:54:19 -0500 Subject: [PATCH] Updated GraphicsEditor and Tile16Editor to use std::array instead of std::vector for better performance. --- src/app/editor/graphics/graphics_editor.cc | 2 +- src/app/editor/graphics/graphics_editor.h | 2 +- src/app/editor/graphics/tile16_editor.cc | 2 -- src/app/editor/graphics/tile16_editor.h | 10 ++++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/app/editor/graphics/graphics_editor.cc b/src/app/editor/graphics/graphics_editor.cc index 025d5545..556885b4 100644 --- a/src/app/editor/graphics/graphics_editor.cc +++ b/src/app/editor/graphics/graphics_editor.cc @@ -154,7 +154,7 @@ void GraphicsEditor::DrawGfxEditToolset() { TableNextColumn(); auto bitmap = GraphicsSheetManager::GetInstance().gfx_sheets()[current_sheet_]; auto palette = bitmap.palette(); - for (int i = 0; i < 8; i++) { + for (int i = 0; i < palette.size(); i++) { ImGui::SameLine(); auto color = ImVec4(palette[i].rgb().x / 255.0f, palette[i].rgb().y / 255.0f, diff --git a/src/app/editor/graphics/graphics_editor.h b/src/app/editor/graphics/graphics_editor.h index a1eaac25..4edad87b 100644 --- a/src/app/editor/graphics/graphics_editor.h +++ b/src/app/editor/graphics/graphics_editor.h @@ -159,7 +159,7 @@ class GraphicsEditor : public SharedRom, public Editor { Rom temp_rom_; Rom tilemap_rom_; - zelda3::Overworld overworld_; + zelda3::Overworld overworld_{ temp_rom_ }; MemoryEditor cgx_memory_editor_; MemoryEditor col_memory_editor_; PaletteEditor palette_editor_; diff --git a/src/app/editor/graphics/tile16_editor.cc b/src/app/editor/graphics/tile16_editor.cc index ceeb4d54..e5b3e4b5 100644 --- a/src/app/editor/graphics/tile16_editor.cc +++ b/src/app/editor/graphics/tile16_editor.cc @@ -43,11 +43,9 @@ using ImGui::Text; absl::Status Tile16Editor::InitBlockset( const gfx::Bitmap &tile16_blockset_bmp, const gfx::Bitmap ¤t_gfx_bmp, - const std::vector &tile16_individual, std::array &all_tiles_types) { all_tiles_types_ = all_tiles_types; tile16_blockset_bmp_ = tile16_blockset_bmp; - tile16_individual_ = tile16_individual; current_gfx_bmp_.Create(current_gfx_bmp.width(), current_gfx_bmp.height(), current_gfx_bmp.depth(), current_gfx_bmp.vector()); core::Renderer::GetInstance().RenderBitmap(&tile16_blockset_bmp_); diff --git a/src/app/editor/graphics/tile16_editor.h b/src/app/editor/graphics/tile16_editor.h index c2febb75..1c737058 100644 --- a/src/app/editor/graphics/tile16_editor.h +++ b/src/app/editor/graphics/tile16_editor.h @@ -1,6 +1,9 @@ #ifndef YAZE_APP_EDITOR_TILE16EDITOR_H #define YAZE_APP_EDITOR_TILE16EDITOR_H +#include +#include + #include "absl/status/status.h" #include "app/core/common.h" #include "app/editor/graphics/palette_editor.h" @@ -20,9 +23,9 @@ namespace editor { */ class Tile16Editor : public gfx::GfxContext, public SharedRom { public: + Tile16Editor(std::array& tile16_individual) : tile16_individual_(tile16_individual) {} absl::Status InitBlockset(const gfx::Bitmap &tile16_blockset_bmp, const gfx::Bitmap ¤t_gfx_bmp, - const std::vector &tile16_individual, std::array &all_tiles_types); absl::Status Update(); @@ -82,17 +85,16 @@ class Tile16Editor : public gfx::GfxContext, public SharedRom { gui::Canvas transfer_canvas_; gfx::Bitmap transfer_blockset_bmp_; - std::vector tile16_individual_; + std::array& tile16_individual_; std::vector current_gfx_individual_; PaletteEditor palette_editor_; - gfx::SnesPalette palette_; - zelda3::Overworld transfer_overworld_; absl::Status status_; Rom transfer_rom_; + zelda3::Overworld transfer_overworld_{ transfer_rom_ }; std::array transfer_gfx_; absl::Status transfer_status_; };