1#ifndef YAZE_APP_EDITOR_MESSAGE_EDITOR_H
2#define YAZE_APP_EDITOR_MESSAGE_EDITOR_H
9#include "absl/status/status.h"
47 absl::Status
Load()
override;
48 absl::Status
Update()
override;
65 absl::Status
Save()
override;
70 absl::Status
Cut()
override;
71 absl::Status
Copy()
override;
72 absl::Status
Paste()
override;
73 absl::Status
Undo()
override;
74 absl::Status
Redo()
override;
75 absl::Status
Find()
override;
101 ImVec2(172 * 2, 4096)};
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Interface for editor classes.
zelda3::GameData * game_data() const
EditorDependencies dependencies_
std::vector< std::string > parsed_messages_
absl::Status Copy() override
bool current_message_is_expanded_
std::vector< MessageData > expanded_messages_
int CalculateExpandedBankUsage() const
absl::Status Find() override
void ResolveFontPalette()
void EnsureFontTexturesReady()
absl::Status SaveExpandedMessages()
bool font_graphics_loaded_
absl::Status Update() override
void FinalizePendingUndo()
absl::Status LoadExpandedMessagesFromRom()
void DrawExpandedMessageSettings()
void UpdateCurrentMessageFromText(const std::string &text)
absl::Status Paste() override
void ApplySnapshot(const MessageSnapshot &snapshot)
gui::Canvas current_font_gfx16_canvas_
gui::Canvas font_gfx_canvas_
void RefreshFontAtlasBitmap(const std::vector< uint8_t > &font_data)
absl::Status Undo() override
absl::Status Load() override
bool show_message_editor_
std::string message_bundle_status_
std::array< uint8_t, 0x4000 > raw_font_gfx_data_
gfx::SnesPalette BuildFallbackFontPalette() const
void Initialize() override
MessageEditor(Rom *rom=nullptr)
absl::Status Cut() override
void DrawMessagePreview()
Rom expanded_message_bin_
MessageEditor(Rom *rom, const EditorDependencies &deps)
int expanded_message_base_id_
bool message_bundle_status_error_
std::optional< MessageSnapshot > pending_undo_before_
std::vector< MessageData > list_of_texts_
bool OpenMessageById(int display_id)
gfx::SnesPalette font_preview_colors_
MessageData current_message_
MessagePreview message_preview_
gui::TextBox message_text_box_
void DrawCurrentMessage()
void DrawSpecialCharacters()
absl::Status Redo() override
int ResolveExpandedMessageBaseId() const
void ImportMessageBundleFromFile(const std::string &path)
gfx::Bitmap current_font_gfx16_bitmap_
int current_message_index_
gfx::Bitmap font_gfx_bitmap_
std::string expanded_message_path_
absl::Status Save() override
void SetGameData(zelda3::GameData *game_data) override
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.
constexpr int kCharactersWidth
constexpr int kFontGfx16Size
constexpr uint8_t kBlockTerminator
constexpr int kFontGfxMessageSize
constexpr int kFontGfxMessageDepth
constexpr uint8_t kMessageBankChangeId
constexpr int kNumMessages
Unified dependency container for all editor types.