1#ifndef YAZE_APP_EDITOR_SCREEN_EDITOR_H
2#define YAZE_APP_EDITOR_SCREEN_EDITOR_H
6#include "absl/status/status.h"
18#include "imgui/imgui.h"
43 absl::Status
Load()
override;
44 absl::Status
Update()
override;
45 absl::Status
Undo()
override {
return absl::UnimplementedError(
"Undo"); }
46 absl::Status
Redo()
override {
return absl::UnimplementedError(
"Redo"); }
47 absl::Status
Cut()
override {
return absl::UnimplementedError(
"Cut"); }
48 absl::Status
Copy()
override {
return absl::UnimplementedError(
"Copy"); }
49 absl::Status
Paste()
override {
return absl::UnimplementedError(
"Paste"); }
50 absl::Status
Find()
override {
return absl::UnimplementedError(
"Find"); }
51 absl::Status
Save()
override {
return absl::UnimplementedError(
"Save"); }
75 bool bin_mode =
false);
The Rom class is used to load, save, and modify Rom data.
Interface for editor classes.
The ScreenEditor class allows the user to edit a variety of screens in the game or create a custom me...
void DrawTitleScreenEditor()
absl::Status LoadDungeonMapTile16(const std::vector< uint8_t > &gfx_data, bool bin_mode=false)
void DrawDungeonMapsRoomGfx()
Draw dungeon room graphics editor with enhanced tile16 editing.
gfx::SnesPalette palette_
absl::Status Undo() override
void DrawTitleScreenBlocksetSelector()
bool title_screen_loaded_
gui::Canvas ow_map_canvas_
absl::Status SaveDungeonMapTile16()
gfx::Tilemap tile16_blockset_
void DrawTitleScreenBG2Canvas()
absl::Status Paste() override
gui::Canvas tilemap_canvas_
absl::Status Cut() override
void DrawInventoryItemIcons()
std::array< gfx::TileInfo, 4 > current_tile16_info
absl::Status Save() override
absl::Status Load() override
absl::Status Update() override
gui::Canvas screen_canvas_
void DrawTitleScreenBG1Canvas()
absl::Status Copy() override
gui::Canvas title_bg1_canvas_
absl::Status Find() override
zelda3::OverworldMapScreen ow_map_screen_
void Initialize() override
int selected_title_tile16_
gui::Canvas current_tile_canvas_
void DrawDungeonMapsEditor()
Draw dungeon maps editor with enhanced ROM hacking features.
gui::Canvas title_bg2_canvas_
absl::Status Redo() override
void DrawInventoryToolset()
gfx::Tilemap tile8_tilemap_
ScreenEditor(Rom *rom=nullptr)
void DrawTitleScreenCompositeCanvas()
zelda3::TitleScreen title_screen_
void DrawOverworldMapEditor()
zelda3::Inventory inventory_
EditingMode current_mode_
zelda3::DungeonMapLabels dungeon_map_labels_
bool paste_button_pressed
gui::Canvas ow_tileset_canvas_
gui::Canvas title_blockset_canvas_
void DrawDungeonMapToolset()
gui::Canvas tilesheet_canvas_
void DrawNamingScreenEditor()
void DrawDungeonMapScreen(int i)
void DrawDungeonMapsTabs()
std::vector< zelda3::DungeonMap > dungeon_maps_
void DrawInventoryMenuEditor()
Represents a palette of colors for the Super Nintendo Entertainment System (SNES).
Modern, robust canvas for drawing and manipulating graphics.
void SetCanvasSize(ImVec2 canvas_size)
Inventory manages the inventory screen graphics and layout.
OverworldMapScreen manages the overworld map (pause menu) graphics.
TitleScreen manages the title screen graphics and tilemap data.
std::unordered_map< int, gfx::Bitmap > BitmapTable
std::array< std::vector< std::array< std::string, kNumRooms > >, kNumDungeons > DungeonMapLabels
Main namespace for the application.
Tilemap structure for SNES tile-based graphics management.