From e7720019fdd8f6a0a9d997c87bdeaf3e0bc57ee0 Mon Sep 17 00:00:00 2001 From: scawful Date: Wed, 12 Mar 2025 15:16:32 -0400 Subject: [PATCH] Implement Save method in various editor classes with unimplemented error --- src/app/editor/code/assembly_editor.h | 2 ++ src/app/editor/dungeon/dungeon_editor.h | 1 + src/app/editor/editor.h | 3 +++ src/app/editor/graphics/graphics_editor.h | 1 + src/app/editor/graphics/palette_editor.h | 1 + src/app/editor/graphics/screen_editor.h | 1 + src/app/editor/message/message_editor.h | 2 +- src/app/editor/music/music_editor.h | 1 + src/app/editor/overworld/overworld_editor.h | 6 ++---- src/app/editor/sprite/sprite_editor.h | 1 + src/app/editor/system/settings_editor.h | 1 + 11 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/app/editor/code/assembly_editor.h b/src/app/editor/code/assembly_editor.h index 88486af7..7f888aba 100644 --- a/src/app/editor/code/assembly_editor.h +++ b/src/app/editor/code/assembly_editor.h @@ -50,6 +50,8 @@ class AssemblyEditor : public Editor { absl::Status Update() override; + absl::Status Save() override { return absl::UnimplementedError("Save"); } + void OpenFolder(const std::string &folder_path); private: diff --git a/src/app/editor/dungeon/dungeon_editor.h b/src/app/editor/dungeon/dungeon_editor.h index 93fbc1c7..d346b49d 100644 --- a/src/app/editor/dungeon/dungeon_editor.h +++ b/src/app/editor/dungeon/dungeon_editor.h @@ -51,6 +51,7 @@ class DungeonEditor : public Editor, public SharedRom { absl::Status Copy() override { return absl::UnimplementedError("Copy"); } absl::Status Paste() override { return absl::UnimplementedError("Paste"); } absl::Status Find() override { return absl::UnimplementedError("Find"); } + absl::Status Save() override { return absl::UnimplementedError("Save"); } void add_room(int i) { active_rooms_.push_back(i); } diff --git a/src/app/editor/editor.h b/src/app/editor/editor.h index 6814309c..fbfa6db7 100644 --- a/src/app/editor/editor.h +++ b/src/app/editor/editor.h @@ -61,6 +61,9 @@ class Editor { // Initialization of ROM assets. virtual absl::Status Load() = 0; + // Save the editor state. + virtual absl::Status Save() = 0; + // Update the editor state, ran every frame. virtual absl::Status Update() = 0; diff --git a/src/app/editor/graphics/graphics_editor.h b/src/app/editor/graphics/graphics_editor.h index 705d67b4..de333f1c 100644 --- a/src/app/editor/graphics/graphics_editor.h +++ b/src/app/editor/graphics/graphics_editor.h @@ -67,6 +67,7 @@ class GraphicsEditor : public SharedRom, public Editor { absl::Status Copy() override { return absl::UnimplementedError("Copy"); } absl::Status Paste() override { return absl::UnimplementedError("Paste"); } absl::Status Find() override { return absl::UnimplementedError("Find"); } + absl::Status Save() override { return absl::UnimplementedError("Save"); } private: enum class GfxEditMode { diff --git a/src/app/editor/graphics/palette_editor.h b/src/app/editor/graphics/palette_editor.h index 4ff5264e..a518c6eb 100644 --- a/src/app/editor/graphics/palette_editor.h +++ b/src/app/editor/graphics/palette_editor.h @@ -93,6 +93,7 @@ class PaletteEditor : public SharedRom, public Editor { absl::Status Undo() override { return absl::OkStatus(); } absl::Status Redo() override { return absl::OkStatus(); } absl::Status Find() override { return absl::OkStatus(); } + absl::Status Save() override { return absl::UnimplementedError("Save"); } void DisplayCategoryTable(); diff --git a/src/app/editor/graphics/screen_editor.h b/src/app/editor/graphics/screen_editor.h index 5fce5189..f6747b37 100644 --- a/src/app/editor/graphics/screen_editor.h +++ b/src/app/editor/graphics/screen_editor.h @@ -47,6 +47,7 @@ class ScreenEditor : public SharedRom, public Editor { absl::Status Copy() override { return absl::UnimplementedError("Copy"); } absl::Status Paste() override { return absl::UnimplementedError("Paste"); } absl::Status Find() override { return absl::UnimplementedError("Find"); } + absl::Status Save() override { return absl::UnimplementedError("Save"); } absl::Status SaveDungeonMaps(); diff --git a/src/app/editor/message/message_editor.h b/src/app/editor/message/message_editor.h index 834bb7c4..5a9b3c4a 100644 --- a/src/app/editor/message/message_editor.h +++ b/src/app/editor/message/message_editor.h @@ -58,7 +58,7 @@ class MessageEditor : public Editor, public SharedRom { absl::Status Find() override { return absl::UnimplementedError("Find not implemented"); } - absl::Status Save(); + absl::Status Save() override; void Delete(); void SelectAll(); diff --git a/src/app/editor/music/music_editor.h b/src/app/editor/music/music_editor.h index 38d66eae..ebe87023 100644 --- a/src/app/editor/music/music_editor.h +++ b/src/app/editor/music/music_editor.h @@ -67,6 +67,7 @@ class MusicEditor : public SharedRom, public Editor { absl::Status Copy() override { return absl::UnimplementedError("Copy"); } absl::Status Paste() override { return absl::UnimplementedError("Paste"); } absl::Status Find() override { return absl::UnimplementedError("Find"); } + absl::Status Save() override { return absl::UnimplementedError("Save"); } private: void DrawChannels(); diff --git a/src/app/editor/overworld/overworld_editor.h b/src/app/editor/overworld/overworld_editor.h index 44935f7d..5146f707 100644 --- a/src/app/editor/overworld/overworld_editor.h +++ b/src/app/editor/overworld/overworld_editor.h @@ -84,10 +84,8 @@ class OverworldEditor : public Editor, public gfx::GfxContext { absl::Status Cut() override { return absl::UnimplementedError("Cut"); } absl::Status Copy() override { return absl::UnimplementedError("Copy"); } absl::Status Paste() override { return absl::UnimplementedError("Paste"); } - absl::Status Find() override { - return absl::UnimplementedError("Find Unused Tiles"); - } - absl::Status Save(); + absl::Status Find() override { return absl::UnimplementedError("Find"); } + absl::Status Save() override; int jump_to_tab() { return jump_to_tab_; } int jump_to_tab_ = -1; diff --git a/src/app/editor/sprite/sprite_editor.h b/src/app/editor/sprite/sprite_editor.h index 2c07ddea..4facb580 100644 --- a/src/app/editor/sprite/sprite_editor.h +++ b/src/app/editor/sprite/sprite_editor.h @@ -46,6 +46,7 @@ class SpriteEditor : public SharedRom, public Editor { absl::Status Copy() override { return absl::UnimplementedError("Copy"); } absl::Status Paste() override { return absl::UnimplementedError("Paste"); } absl::Status Find() override { return absl::UnimplementedError("Find"); } + absl::Status Save() override { return absl::UnimplementedError("Save"); } private: void DrawVanillaSpriteEditor(); diff --git a/src/app/editor/system/settings_editor.h b/src/app/editor/system/settings_editor.h index 89ba33f0..df4ec965 100644 --- a/src/app/editor/system/settings_editor.h +++ b/src/app/editor/system/settings_editor.h @@ -216,6 +216,7 @@ class SettingsEditor : public Editor { absl::Status Copy() override { return absl::UnimplementedError("Copy"); } absl::Status Paste() override { return absl::UnimplementedError("Paste"); } absl::Status Find() override { return absl::UnimplementedError("Find"); } + absl::Status Save() override { return absl::UnimplementedError("Save"); } private: void DrawGeneralSettings();