From 9d2cb918b9a3117e935d042ef66ba4fff0909aee Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 20 Apr 2025 17:44:51 -0400 Subject: [PATCH] Update Tile16Editor to accept a pointer for tile16_individual; adjust OverworldEditor initialization accordingly for improved memory management. --- src/app/editor/graphics/tile16_editor.h | 13 +++++++------ src/app/editor/overworld/overworld_editor.h | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/app/editor/graphics/tile16_editor.h b/src/app/editor/graphics/tile16_editor.h index ca46894f..b789767e 100644 --- a/src/app/editor/graphics/tile16_editor.h +++ b/src/app/editor/graphics/tile16_editor.h @@ -25,8 +25,8 @@ namespace editor { class Tile16Editor : public gfx::GfxContext, public SharedRom { public: Tile16Editor( - std::array &tile16_individual) - : tile16_individual_(&tile16_individual) {} + std::array *tile16_individual) + : tile16_individual_(tile16_individual) {} absl::Status Initialize(const gfx::Bitmap &tile16_blockset_bmp, const gfx::Bitmap ¤t_gfx_bmp, std::array &all_tiles_types); @@ -46,7 +46,7 @@ class Tile16Editor : public gfx::GfxContext, public SharedRom { absl::Status LoadTile8(); absl::Status SetCurrentTile(int id); - + // New methods for clipboard and scratch space absl::Status CopyTile16ToClipboard(int tile_id); absl::Status PasteTile16FromClipboard(); @@ -66,11 +66,11 @@ class Tile16Editor : public gfx::GfxContext, public SharedRom { int current_tile16_ = 0; int current_tile8_ = 0; uint8_t current_palette_ = 0; - + // Clipboard for Tile16 graphics gfx::Bitmap clipboard_tile16_; bool clipboard_has_data_ = false; - + // Scratch space for Tile16 graphics (4 slots) std::array scratch_space_; std::array scratch_space_used_ = {false, false, false, false}; @@ -102,7 +102,8 @@ class Tile16Editor : public gfx::GfxContext, public SharedRom { gui::Table tile_edit_table_{"##TileEditTable", 3, ImGuiTableFlags_Borders}; - std::array *tile16_individual_ = nullptr; + std::array *tile16_individual_ = + nullptr; std::vector current_gfx_individual_; PaletteEditor palette_editor_; diff --git a/src/app/editor/overworld/overworld_editor.h b/src/app/editor/overworld/overworld_editor.h index 39a0fc11..596567d6 100644 --- a/src/app/editor/overworld/overworld_editor.h +++ b/src/app/editor/overworld/overworld_editor.h @@ -220,7 +220,7 @@ class OverworldEditor : public Editor, public gfx::GfxContext { Rom* rom_; - Tile16Editor tile16_editor_{tile16_individual_}; + Tile16Editor tile16_editor_{&tile16_individual_}; GfxGroupEditor gfx_group_editor_; PaletteEditor palette_editor_;