yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::MessageEditor Class Reference

#include <message_editor.h>

Inheritance diagram for yaze::editor::MessageEditor:

Public Member Functions

 MessageEditor (Rom *rom=nullptr)
 
 MessageEditor (Rom *rom, const EditorDependencies &deps)
 
void Initialize () override
 
absl::Status Load () override
 
absl::Status Update () override
 
void DrawMessageList ()
 
void DrawCurrentMessage ()
 
void DrawFontAtlas ()
 
void DrawTextCommands ()
 
void DrawSpecialCharacters ()
 
void DrawExpandedMessageSettings ()
 
void DrawDictionary ()
 
void DrawMessagePreview ()
 
absl::Status Save () override
 
absl::Status SaveExpandedMessages ()
 
absl::Status Cut () override
 
absl::Status Copy () override
 
absl::Status Paste () override
 
absl::Status Undo () override
 
absl::Status Redo () override
 
absl::Status Find () override
 
void Delete ()
 
void SelectAll ()
 
void set_rom (Rom *rom)
 
Romrom () const
 
- Public Member Functions inherited from yaze::editor::Editor
 Editor ()=default
 
virtual ~Editor ()=default
 
void SetDependencies (const EditorDependencies &deps)
 
virtual void SetGameData (zelda3::GameData *game_data)
 
virtual absl::Status Clear ()
 
EditorType type () const
 
bool * active ()
 
void set_active (bool active)
 
void toggle_active ()
 
virtual bool IsRomLoaded () const
 
virtual std::string GetRomStatus () const
 
Romrom () const
 
zelda3::GameDatagame_data () const
 
EditorContext context () const
 
bool HasContext () const
 

Private Attributes

bool case_sensitive_ = false
 
bool match_whole_word_ = false
 
std::string search_text_ = ""
 
std::array< uint8_t, 0x4000 > raw_font_gfx_data_
 
std::vector< std::string > parsed_messages_
 
std::vector< MessageDatalist_of_texts_
 
std::vector< MessageDataexpanded_messages_
 
MessageData current_message_
 
MessagePreview message_preview_
 
gfx::Bitmap font_gfx_bitmap_
 
gfx::Bitmap current_font_gfx16_bitmap_
 
gfx::SnesPalette font_preview_colors_
 
gui::Canvas font_gfx_canvas_ {"##FontGfxCanvas", ImVec2(256, 256)}
 
gui::Canvas current_font_gfx16_canvas_
 
gui::TextBox message_text_box_
 
Romrom_
 
Rom expanded_message_bin_
 
std::string expanded_message_path_
 
bool show_message_list_ = false
 
bool show_message_editor_ = false
 
bool show_font_atlas_ = false
 
bool show_dictionary_ = false
 

Additional Inherited Members

- Protected Member Functions inherited from yaze::editor::Editor
std::string MakePanelTitle (const std::string &base_title) const
 
std::string MakePanelId (const std::string &base_id) const
 
template<typename T >
absl::StatusOr< T > SafeRomAccess (std::function< T()> accessor, const std::string &operation="") const
 
- Protected Attributes inherited from yaze::editor::Editor
bool active_ = false
 
EditorType type_
 
EditorDependencies dependencies_
 

Detailed Description

Definition at line 33 of file message_editor.h.

Constructor & Destructor Documentation

◆ MessageEditor() [1/2]

yaze::editor::MessageEditor::MessageEditor ( Rom * rom = nullptr)
inlineexplicit

Definition at line 35 of file message_editor.h.

References yaze::editor::kMessage, and yaze::editor::Editor::type_.

◆ MessageEditor() [2/2]

yaze::editor::MessageEditor::MessageEditor ( Rom * rom,
const EditorDependencies & deps )
inlineexplicit

Definition at line 39 of file message_editor.h.

References yaze::editor::Editor::dependencies_.

Member Function Documentation

◆ Initialize()

void yaze::editor::MessageEditor::Initialize ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 64 of file message_editor.cc.

References yaze::editor::MessagePreview::all_dictionaries_, yaze::editor::BuildDictionaryEntries(), yaze::gfx::Bitmap::Create(), yaze::gfx::Arena::CREATE, current_font_gfx16_bitmap_, current_message_, yaze::Rom::data(), yaze::editor::Editor::dependencies_, DrawCurrentMessage(), DrawDictionary(), DrawExpandedMessageSettings(), DrawFontAtlas(), DrawMessageList(), DrawMessagePreview(), DrawSpecialCharacters(), DrawTextCommands(), yaze::editor::MessagePreview::font_gfx16_data_, yaze::editor::MessagePreview::font_gfx16_data_2_, font_gfx_bitmap_, font_preview_colors_, yaze::editor::Editor::game_data(), yaze::gfx::Arena::Get(), yaze::gfx::PaletteGroupMap::hud, yaze::editor::MessageData::ID, yaze::editor::kCharactersWidth, yaze::editor::kFontGfxMessageDepth, yaze::editor::kFontGfxMessageSize, yaze::editor::kGfxFont, yaze::editor::kWidthArraySize, list_of_texts_, yaze::zelda3::LoadFontGraphics(), LOG_ERROR, LOG_INFO, message_preview_, message_text_box_, yaze::gfx::Bitmap::mutable_palette(), yaze::gfx::PaletteGroup::palette(), yaze::zelda3::GameData::palette_groups, yaze::editor::EditorDependencies::panel_manager, parsed_messages_, yaze::editor::ParseMessageData(), yaze::gfx::Arena::QueueTextureCommand(), raw_font_gfx_data_, yaze::editor::ReadAllTextData(), rom(), yaze::editor::EditorDependencies::session_id, yaze::gfx::Bitmap::SetPalette(), yaze::gfx::SnesTo8bppSheet(), yaze::gui::TextBox::text, and yaze::editor::MessagePreview::width_array.

◆ Load()

absl::Status yaze::editor::MessageEditor::Load ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 139 of file message_editor.cc.

◆ Update()

absl::Status yaze::editor::MessageEditor::Update ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 144 of file message_editor.cc.

◆ DrawMessageList()

◆ DrawCurrentMessage()

◆ DrawFontAtlas()

void yaze::editor::MessageEditor::DrawFontAtlas ( )

◆ DrawTextCommands()

void yaze::editor::MessageEditor::DrawTextCommands ( )

Definition at line 324 of file message_editor.cc.

References yaze::gui::InputHexByte(), message_text_box_, and yaze::gui::TextBox::text.

Referenced by Initialize().

Here is the call graph for this function:

◆ DrawSpecialCharacters()

void yaze::editor::MessageEditor::DrawSpecialCharacters ( )

Definition at line 342 of file message_editor.cc.

References message_text_box_, and yaze::gui::TextBox::text.

Referenced by Initialize().

◆ DrawExpandedMessageSettings()

◆ DrawDictionary()

void yaze::editor::MessageEditor::DrawDictionary ( )

Definition at line 357 of file message_editor.cc.

References yaze::editor::MessagePreview::all_dictionaries_, yaze::util::HexWord(), yaze::editor::kMessageTableFlags, and message_preview_.

Referenced by Initialize().

Here is the call graph for this function:

◆ DrawMessagePreview()

◆ Save()

◆ SaveExpandedMessages()

◆ Cut()

absl::Status yaze::editor::MessageEditor::Cut ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 519 of file message_editor.cc.

References yaze::gui::TextBox::Cut(), message_text_box_, and yaze::gui::TextBox::text.

Here is the call graph for this function:

◆ Copy()

absl::Status yaze::editor::MessageEditor::Copy ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 537 of file message_editor.cc.

References yaze::gui::TextBox::Copy(), message_text_box_, and yaze::gui::TextBox::selection_length.

Here is the call graph for this function:

◆ Paste()

absl::Status yaze::editor::MessageEditor::Paste ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 528 of file message_editor.cc.

References message_text_box_, and yaze::gui::TextBox::Paste().

Here is the call graph for this function:

◆ Undo()

absl::Status yaze::editor::MessageEditor::Undo ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 546 of file message_editor.cc.

References yaze::gui::TextBox::can_undo, yaze::gui::TextBox::clearUndo(), message_text_box_, and yaze::gui::TextBox::Undo().

Here is the call graph for this function:

◆ Redo()

absl::Status yaze::editor::MessageEditor::Redo ( )
overridevirtual

Implements yaze::editor::Editor.

Definition at line 558 of file message_editor.cc.

◆ Find()

absl::Status yaze::editor::MessageEditor::Find ( )
overridevirtual
Todo
Implement replace functionality

Implements yaze::editor::Editor.

Definition at line 583 of file message_editor.cc.

References case_sensitive_, match_whole_word_, and search_text_.

◆ Delete()

void yaze::editor::MessageEditor::Delete ( )

Definition at line 564 of file message_editor.cc.

References yaze::gui::TextBox::clear(), message_text_box_, and yaze::gui::TextBox::selection_length.

Here is the call graph for this function:

◆ SelectAll()

void yaze::editor::MessageEditor::SelectAll ( )

Definition at line 572 of file message_editor.cc.

References yaze::gui::TextBox::Focus(), message_text_box_, yaze::gui::TextBox::SelectAll(), and yaze::gui::TextBox::selection_length.

Here is the call graph for this function:

◆ set_rom()

void yaze::editor::MessageEditor::set_rom ( Rom * rom)
inline

Definition at line 69 of file message_editor.h.

References rom(), and rom_.

Here is the call graph for this function:

◆ rom()

Rom * yaze::editor::MessageEditor::rom ( ) const
inline

Definition at line 70 of file message_editor.h.

References rom_.

Referenced by Initialize(), Save(), and set_rom().

Member Data Documentation

◆ case_sensitive_

bool yaze::editor::MessageEditor::case_sensitive_ = false
private

Definition at line 73 of file message_editor.h.

Referenced by Find().

◆ match_whole_word_

bool yaze::editor::MessageEditor::match_whole_word_ = false
private

Definition at line 74 of file message_editor.h.

Referenced by Find().

◆ search_text_

std::string yaze::editor::MessageEditor::search_text_ = ""
private

Definition at line 75 of file message_editor.h.

Referenced by Find().

◆ raw_font_gfx_data_

std::array<uint8_t, 0x4000> yaze::editor::MessageEditor::raw_font_gfx_data_
private

Definition at line 77 of file message_editor.h.

Referenced by Initialize().

◆ parsed_messages_

std::vector<std::string> yaze::editor::MessageEditor::parsed_messages_
private

Definition at line 78 of file message_editor.h.

Referenced by DrawExpandedMessageSettings(), DrawMessageList(), and Initialize().

◆ list_of_texts_

std::vector<MessageData> yaze::editor::MessageEditor::list_of_texts_
private

Definition at line 79 of file message_editor.h.

Referenced by DrawMessageList(), Initialize(), and Save().

◆ expanded_messages_

std::vector<MessageData> yaze::editor::MessageEditor::expanded_messages_
private

◆ current_message_

MessageData yaze::editor::MessageEditor::current_message_
private

◆ message_preview_

MessagePreview yaze::editor::MessageEditor::message_preview_
private

◆ font_gfx_bitmap_

gfx::Bitmap yaze::editor::MessageEditor::font_gfx_bitmap_
private

Definition at line 85 of file message_editor.h.

Referenced by DrawFontAtlas(), and Initialize().

◆ current_font_gfx16_bitmap_

gfx::Bitmap yaze::editor::MessageEditor::current_font_gfx16_bitmap_
private

Definition at line 86 of file message_editor.h.

Referenced by DrawCurrentMessage(), DrawMessagePreview(), and Initialize().

◆ font_preview_colors_

gfx::SnesPalette yaze::editor::MessageEditor::font_preview_colors_
private

Definition at line 87 of file message_editor.h.

Referenced by DrawCurrentMessage(), DrawMessagePreview(), and Initialize().

◆ font_gfx_canvas_

gui::Canvas yaze::editor::MessageEditor::font_gfx_canvas_ {"##FontGfxCanvas", ImVec2(256, 256)}
private

Definition at line 89 of file message_editor.h.

Referenced by DrawCurrentMessage(), and DrawFontAtlas().

◆ current_font_gfx16_canvas_

gui::Canvas yaze::editor::MessageEditor::current_font_gfx16_canvas_
private
Initial value:
{"##CurrentMessageGfx",
ImVec2(172 * 2, 4096)}

Definition at line 90 of file message_editor.h.

Referenced by DrawCurrentMessage().

◆ message_text_box_

gui::TextBox yaze::editor::MessageEditor::message_text_box_
private

◆ rom_

Rom* yaze::editor::MessageEditor::rom_
private

Definition at line 93 of file message_editor.h.

Referenced by rom(), and set_rom().

◆ expanded_message_bin_

Rom yaze::editor::MessageEditor::expanded_message_bin_
private

Definition at line 94 of file message_editor.h.

Referenced by SaveExpandedMessages().

◆ expanded_message_path_

std::string yaze::editor::MessageEditor::expanded_message_path_
private

Definition at line 95 of file message_editor.h.

Referenced by DrawExpandedMessageSettings(), and SaveExpandedMessages().

◆ show_message_list_

bool yaze::editor::MessageEditor::show_message_list_ = false
private

Definition at line 98 of file message_editor.h.

◆ show_message_editor_

bool yaze::editor::MessageEditor::show_message_editor_ = false
private

Definition at line 99 of file message_editor.h.

◆ show_font_atlas_

bool yaze::editor::MessageEditor::show_font_atlas_ = false
private

Definition at line 100 of file message_editor.h.

◆ show_dictionary_

bool yaze::editor::MessageEditor::show_dictionary_ = false
private

Definition at line 101 of file message_editor.h.


The documentation for this class was generated from the following files: