1#ifndef YAZE_APP_EDITOR_GFX_GROUP_EDITOR_H
2#define YAZE_APP_EDITOR_GFX_GROUP_EDITOR_H
11#include "absl/status/status.h"
59 std::function<absl::StatusOr<zelda3::MainGroupUsageReport>(
int,
int)>;
69 std::function<absl::StatusOr<zelda3::RoomsetUsageReport>(
int)>;
103 std::make_shared<AssignmentSession>();
142 std::optional<std::map<int, zelda3::OverworldAreaGfxInfo>>
usage_areas_;
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Manage graphics group configurations in a Rom.
const GfxGroupWorkspaceState & Ws() const
std::array< gfx::Bitmap, 4 > roomset_previews_
std::string host_surface_hint_
void SetSelectedSpriteset(uint8_t spriteset)
std::function< absl::StatusOr< zelda3::RoomsetUsageReport >(int)> RoomsetUsageCallback
void SetSelectedRoomset(uint8_t roomset)
std::string assignment_error_
RoomsetUsageCallback roomset_usage_
absl::Status EditRoomsetGraphicsSheet(int group, int entry, int sheet)
std::array< gui::Canvas, 8 > blockset_canvases_
absl::Status EditGraphicsSheet(GroupKind kind, int group, int slot, int sheet)
zelda3::GameData * game_data() const
std::shared_ptr< AssignmentSession > assignment_session_
void DrawAssignmentControls(GroupKind kind)
std::function< absl::StatusOr< zelda3::MainGroupUsageReport >(int, int)> MainUsageCallback
MainUsageCallback main_usage_
std::optional< std::map< int, zelda3::OverworldAreaGfxInfo > > usage_areas_
zelda3::GameData * game_data_
GfxGroupWorkspaceState * workspace_
std::array< gui::Canvas, 4 > roomset_canvases_
void SetRoomsetUsageCallback(RoomsetUsageCallback callback)
void UpdateCurrentPalette()
void SetMainUsageCallback(MainUsageCallback callback)
std::array< gfx::Bitmap, 4 > spriteset_previews_
absl::Status EditMainGraphicsSheet(int group, int slot, int sheet)
std::map< int, gfx::Bitmap > picker_previews_
GfxGroupWorkspaceState & Ws()
gfx::SnesPalette * current_palette_
std::optional< std::map< int, zelda3::RoomGfxInfo > > usage_rooms_
void SetSelectedBlockset(uint8_t blockset)
int selected_roomset_entry_
GfxGroupWorkspaceState fallback_
void DetachRuntimeContext()
void DrawSpritesetViewer(bool sheet_only=false)
void DrawSpritesetUsage(int id)
std::array< gfx::Bitmap, 8 > blockset_previews_
void SetWorkspaceState(GfxGroupWorkspaceState *state)
void SetUndoManager(UndoManager *undo)
uint8_t picker_expected_sheet_
std::array< gui::Canvas, 4 > spriteset_canvases_
void DrawPaletteControls()
void SetHostSurfaceHint(std::string hint)
const GfxGroupWorkspaceState & workspace_state() const
void DrawBlocksetViewer(bool sheet_only=false)
void SetGameData(zelda3::GameData *data)
gfx::Bitmap * PrepareSheetPreview(int sheet_id, gfx::SheetRole role, gfx::Bitmap &preview)
Manages undo/redo stacks for a single editor.
Represents a bitmap image optimized for SNES ROM hacking.
Represents a palette of colors for the Super Nintendo Entertainment System (SNES).
Which graphics sheets exist, which tables use them, and which 16x16 blocks are free.
Per-ROM-session UI state shared by all GfxGroupEditor surfaces.
uint8_t selected_blockset
uint8_t selected_spriteset