Allows the user to edit sprites. More...
#include <sprite_editor.h>
Classes | |
struct | OAMConfig |
Public Member Functions | |
SpriteEditor () | |
void | Initialize () override |
absl::Status | Load () override |
absl::Status | Update () override |
absl::Status | Undo () override |
absl::Status | Redo () override |
absl::Status | Cut () override |
absl::Status | Copy () override |
absl::Status | Paste () override |
absl::Status | Find () override |
absl::Status | Save () override |
![]() | |
SharedRom ()=default | |
virtual | ~SharedRom ()=default |
std::shared_ptr< Rom > | shared_rom () |
auto | rom () |
![]() | |
Editor ()=default | |
virtual | ~Editor ()=default |
EditorType | type () const |
void | set_context (EditorContext *context) |
bool * | active () |
void | set_active (bool active) |
Private Member Functions | |
void | DrawVanillaSpriteEditor () |
void | DrawSpritesList () |
Draws the sprites list. | |
void | DrawSpriteCanvas () |
Draws the sprite canvas. | |
void | DrawCurrentSheets () |
Draws the current sheets. | |
void | DrawCustomSprites () |
void | DrawCustomSpritesMetadata () |
void | DrawAnimationFrames () |
Draws the animation frames manager. | |
Private Attributes | |
ImVector< int > | active_sprites_ |
int | current_sprite_id_ |
uint8_t | current_sheets_ [8] = {0x00, 0x0A, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00} |
bool | sheets_loaded_ |
OAMConfig | oam_config_ |
gui::Bitmap | oam_bitmap_ |
gui::Canvas | sprite_canvas_ |
gui::Canvas | graphics_sheet_canvas_ |
std::vector< zsprite::ZSprite > | custom_sprites_ |
absl::Status | status_ |
Additional Inherited Members | |
![]() | |
static std::shared_ptr< Rom > | shared_rom_ = nullptr |
![]() | |
bool | active_ = false |
EditorType | type_ |
EditorContext * | context_ = nullptr |
Allows the user to edit sprites.
This class provides functionality for updating the sprite editor, drawing the editor table, drawing the sprite canvas, and drawing the current sheets.
Definition at line 36 of file sprite_editor.h.
|
inline |
Definition at line 38 of file sprite_editor.h.
References yaze::editor::kSprite, and yaze::editor::Editor::type_.
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 24 of file sprite_editor.cc.
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 26 of file sprite_editor.cc.
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 30 of file sprite_editor.cc.
References DrawCustomSprites(), DrawVanillaSpriteEditor(), yaze::SharedRom::rom(), sheets_loaded_, and status_.
|
inlineoverridevirtual |
Implements yaze::editor::Editor.
Definition at line 43 of file sprite_editor.h.
|
inlineoverridevirtual |
Implements yaze::editor::Editor.
Definition at line 44 of file sprite_editor.h.
|
inlineoverridevirtual |
Implements yaze::editor::Editor.
Definition at line 45 of file sprite_editor.h.
|
inlineoverridevirtual |
Implements yaze::editor::Editor.
Definition at line 46 of file sprite_editor.h.
|
inlineoverridevirtual |
Implements yaze::editor::Editor.
Definition at line 47 of file sprite_editor.h.
|
inlineoverridevirtual |
Implements yaze::editor::Editor.
Definition at line 48 of file sprite_editor.h.
|
inlineoverridevirtual |
Implements yaze::editor::Editor.
Definition at line 49 of file sprite_editor.h.
|
private |
Definition at line 51 of file sprite_editor.cc.
References active_sprites_, current_sprite_id_, DrawCurrentSheets(), DrawSpriteCanvas(), DrawSpritesList(), ICON_MD_ADD, yaze::editor::kSpriteTabBarFlags, and sheets_loaded_.
Referenced by Update().
|
private |
Draws the sprites list.
Definition at line 195 of file sprite_editor.cc.
References active_sprites_, current_sprite_id_, yaze::gui::GetID(), yaze::util::HexByte(), and yaze::SharedRom::rom().
Referenced by DrawVanillaSpriteEditor().
|
private |
Draws the sprite canvas.
Definition at line 110 of file sprite_editor.cc.
References DrawAnimationFrames(), DrawCustomSpritesMetadata(), yaze::gui::GetID(), yaze::gui::InputHexByte(), yaze::gui::InputHexWord(), oam_config_, and sprite_canvas_.
Referenced by DrawCustomSprites(), and DrawVanillaSpriteEditor().
|
private |
Draws the current sheets.
Definition at line 170 of file sprite_editor.cc.
References current_sheets_, yaze::gui::GetID(), yaze::GraphicsSheetManager::GetInstance(), graphics_sheet_canvas_, and yaze::gui::InputHexByte().
Referenced by DrawCustomSprites(), and DrawVanillaSpriteEditor().
|
private |
Definition at line 225 of file sprite_editor.cc.
References DrawCurrentSheets(), DrawCustomSpritesMetadata(), and DrawSpriteCanvas().
Referenced by Update().
|
private |
Definition at line 251 of file sprite_editor.cc.
References active_sprites_, current_sprite_id_, custom_sprites_, yaze::core::FileDialogWrapper::ShowOpenFileDialog(), and status_.
Referenced by DrawCustomSprites(), and DrawSpriteCanvas().
|
private |
Draws the animation frames manager.
Definition at line 216 of file sprite_editor.cc.
Referenced by DrawSpriteCanvas().
|
private |
Active sprites.
Definition at line 76 of file sprite_editor.h.
Referenced by DrawCustomSpritesMetadata(), DrawSpritesList(), and DrawVanillaSpriteEditor().
|
private |
Current sprite ID.
Definition at line 78 of file sprite_editor.h.
Referenced by DrawCustomSpritesMetadata(), DrawSpritesList(), and DrawVanillaSpriteEditor().
|
private |
Definition at line 79 of file sprite_editor.h.
Referenced by DrawCurrentSheets().
|
private |
Flag indicating whether the sheets are loaded or not.
Definition at line 80 of file sprite_editor.h.
Referenced by DrawVanillaSpriteEditor(), and Update().
|
private |
|
private |
OAM bitmap.
Definition at line 95 of file sprite_editor.h.
|
private |
Sprite canvas.
Definition at line 97 of file sprite_editor.h.
Referenced by DrawSpriteCanvas().
|
private |
Graphics sheet canvas.
Definition at line 101 of file sprite_editor.h.
Referenced by DrawCurrentSheets().
|
private |
|
private |
Status.
Definition at line 107 of file sprite_editor.h.
Referenced by DrawCustomSpritesMetadata(), and Update().