1#ifndef YAZE_APP_EDITOR_GRAPHICS_EDITOR_H
2#define YAZE_APP_EDITOR_GRAPHICS_EDITOR_H
6#include "absl/status/status.h"
17#include "imgui/imgui.h"
18#include "imgui_memory_editor.h"
26 "97C05",
"98219",
"9871E",
"98C00",
"99084",
"995AF",
"99DE0",
"9A27E",
27 "9A741",
"9AC31",
"9B07E",
"9B55C",
"9B963",
"9BB99",
"9C009",
"9C4B4",
28 "9C92B",
"9CDD6",
"9D2C2",
"9E037",
"9E527",
"9EA56",
"9EF65",
"9FCD1",
29 "A0193",
"A059E",
"A0B17",
"A0FB6",
"A14A5",
"A1988",
"A1E66",
"A232B",
30 "A27F0",
"A2B6E",
"A302C",
"A3453",
"A38CA",
"A42BB",
"A470C",
"A4BA9",
31 "A5089",
"A5385",
"A5742",
"A5BCC",
"A6017",
"A6361",
"A66F8"};
34 "A8E5D",
"A9435",
"A9934",
"A9D83",
"AA2F1",
"AA6D4",
"AABE4",
"AB127",
35 "AB65A",
"ABBDD",
"AC38D",
"AC797",
"ACCC8",
"AD0AE",
"AD245",
"AD554",
36 "ADAAC",
"ADECC",
"AE453",
"AE9D2",
"AEF40",
"AF3C9",
"AF92E",
"AFE9D",
37 "B03D2",
"B09AC",
"B0F0C",
"B1430",
"B1859",
"B1E01",
"B229A",
"B2854",
38 "B2D27",
"B31D7",
"B3B58",
"B40B5",
"B45A5",
"B4D64",
"B5031",
"B555F",
39 "B5F30",
"B6858",
"B70DD",
"B7526",
"B79EC",
"B7C83",
"B80F7",
"B85CC",
40 "B8A3F",
"B8F97",
"B94F2",
"B9A20",
"B9E9A",
"BA3A2",
"BA8F6",
"BACDC",
41 "BB1F9",
"BB781",
"BBCCA",
"BC26D",
"BC7D4",
"BCBB0",
"BD082",
"BD5FC",
42 "BE115",
"BE5C2",
"BEB63",
"BF0CB",
"BF607",
"BFA55",
"BFD71",
"C017D",
43 "C0567",
"C0981",
"C0BA7",
"C116D",
"C166A",
"C1FE0",
"C24CE",
"C2B19"};
66 absl::Status
Load()
override;
67 absl::Status
Save()
override {
return absl::UnimplementedError(
"Save"); }
68 absl::Status
Update()
override;
69 absl::Status
Cut()
override {
return absl::UnimplementedError(
"Cut"); }
70 absl::Status
Copy()
override {
return absl::UnimplementedError(
"Copy"); }
71 absl::Status
Paste()
override {
return absl::UnimplementedError(
"Paste"); }
72 absl::Status
Undo()
override {
return absl::UnimplementedError(
"Undo"); }
73 absl::Status
Redo()
override {
return absl::UnimplementedError(
"Redo"); }
74 absl::Status
Find()
override {
return absl::UnimplementedError(
"Find"); }
The Rom class is used to load, save, and modify Rom data.
Interface for editor classes.
Allows the user to edit graphics sheets from the game or view prototype graphics.
absl::Status UpdateGfxEdit()
std::vector< uint8_t > scr_data_
uint64_t edit_palette_group_name_index_
absl::Status Save() override
std::array< gfx::Bitmap, kNumLinkSheets > link_sheets_
GraphicsEditor(Rom *rom=nullptr)
gfx::Bitmap link_full_sheet_
uint64_t clipboard_offset_
absl::Status UpdatePaletteColumn()
gfx::SnesPalette link_palette_
gfx::PaletteGroup col_file_palette_group_
gui::Canvas super_donkey_canvas_
std::string tilemap_file_name_
std::string col_file_path_
absl::Status UpdateLinkGfxView()
std::string cgx_file_path_
absl::Status DrawMemoryEditor()
absl::Status Load() override
void Initialize() override
absl::Status UpdateGfxSheetList()
std::vector< uint8_t > decoded_cgx_
std::string scr_file_path_
GfxEditMode gfx_edit_mode_
std::set< uint16_t > child_window_sheets_
absl::Status Copy() override
absl::Status DecompressSuperDonkey()
std::vector< uint8_t > graphics_buffer_
std::array< gfx::Bitmap, kNumGfxSheets > gfx_sheets_
gfx::SnesPalette col_file_palette_
std::string col_file_name_
absl::Status DrawCgxImport()
std::vector< uint8_t > cgx_data_
bool show_prototype_viewer_
absl::Status Redo() override
void DrawGfxEditToolset()
Draw the graphics editing toolset with enhanced ROM hacking features.
bool show_player_animations_
absl::Status Cut() override
std::string obj_file_path_
uint64_t edit_palette_index_
absl::Status DrawFileImport()
std::vector< uint8_t > import_data_
uint64_t current_palette_index_
absl::Status Paste() override
PaletteEditor palette_editor_
std::vector< SDL_Color > decoded_col_
absl::Status Undo() override
MemoryEditor col_memory_editor_
absl::Status DrawTilemapImport()
gfx::SnesPalette z3_rom_palette_
std::set< uint16_t > open_sheets_
absl::Status Update() override
absl::Status DrawScrImport()
zelda3::Overworld overworld_
uint64_t edit_palette_sub_index_
std::string tilemap_file_path_
gui::Canvas current_sheet_canvas_
absl::Status UpdateScadView()
absl::Status Find() override
uint64_t edit_palette_group_index_
std::vector< uint8_t > extra_cgx_data_
gui::Canvas import_canvas_
std::vector< uint8_t > decoded_scr_data_
std::stack< uint16_t > release_queue_
std::string cgx_file_name_
absl::Status DrawObjImport()
absl::Status DrawClipboardImport()
gui::GfxSheetAssetBrowser asset_browser_
absl::Status UpdateGfxTabView()
uint64_t num_sheets_to_load_
absl::Status DecompressImportData(int size)
absl::Status DrawExperimentalFeatures()
gui::Canvas graphics_bin_canvas_
absl::Status DrawPaletteControls()
MemoryEditor cgx_memory_editor_
std::string scr_file_name_
Allows the user to view and edit in game palettes.
Represents a bitmap image optimized for SNES ROM hacking.
Represents a palette of colors for the Super Nintendo Entertainment System (SNES).
Modern, robust canvas for drawing and manipulating graphics.
Represents the full Overworld data, light and dark world.
const std::string kSuperDonkeySprites[]
const std::string kSuperDonkeyTiles[]
constexpr int kTilesheetHeight
constexpr int kTilesheetWidth
Main namespace for the application.
Represents a group of palettes.