Refactor loading methods in EditorManager and OverworldEditor for improved clarity and consistency; add checks for loaded ROM in GfxGroupEditor and MessageEditor
This commit is contained in:
@@ -707,7 +707,7 @@ void EditorManager::LoadAssets() {
|
|||||||
auto &sheet_manager = GraphicsSheetManager::GetInstance();
|
auto &sheet_manager = GraphicsSheetManager::GetInstance();
|
||||||
ASSIGN_OR_RETURN(*sheet_manager.mutable_gfx_sheets(),
|
ASSIGN_OR_RETURN(*sheet_manager.mutable_gfx_sheets(),
|
||||||
LoadAllGraphicsData(*rom()))
|
LoadAllGraphicsData(*rom()))
|
||||||
RETURN_IF_ERROR(overworld_editor_.LoadGraphics());
|
RETURN_IF_ERROR(overworld_editor_.Load());
|
||||||
return absl::OkStatus();
|
return absl::OkStatus();
|
||||||
};
|
};
|
||||||
if (!load_rom_assets().ok()) {
|
if (!load_rom_assets().ok()) {
|
||||||
|
|||||||
@@ -111,7 +111,9 @@ void GfxGroupEditor::DrawBlocksetViewer(bool sheet_only) {
|
|||||||
BeginGroup();
|
BeginGroup();
|
||||||
for (int i = 0; i < 8; i++) {
|
for (int i = 0; i < 8; i++) {
|
||||||
int sheet_id = rom()->main_blockset_ids[selected_blockset_][i];
|
int sheet_id = rom()->main_blockset_ids[selected_blockset_][i];
|
||||||
auto &sheet = GraphicsSheetManager::GetInstance().mutable_gfx_sheets()->at(sheet_id);
|
auto &sheet =
|
||||||
|
GraphicsSheetManager::GetInstance().mutable_gfx_sheets()->at(
|
||||||
|
sheet_id);
|
||||||
gui::BitmapCanvasPipeline(blockset_canvas_, sheet, 256, 0x10 * 0x04,
|
gui::BitmapCanvasPipeline(blockset_canvas_, sheet, 256, 0x10 * 0x04,
|
||||||
0x20, true, false, 22);
|
0x20, true, false, 22);
|
||||||
}
|
}
|
||||||
@@ -164,7 +166,9 @@ void GfxGroupEditor::DrawRoomsetViewer() {
|
|||||||
BeginGroup();
|
BeginGroup();
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
int sheet_id = rom()->room_blockset_ids[selected_roomset_][i];
|
int sheet_id = rom()->room_blockset_ids[selected_roomset_][i];
|
||||||
auto &sheet = GraphicsSheetManager::GetInstance().mutable_gfx_sheets()->at(sheet_id);
|
auto &sheet =
|
||||||
|
GraphicsSheetManager::GetInstance().mutable_gfx_sheets()->at(
|
||||||
|
sheet_id);
|
||||||
gui::BitmapCanvasPipeline(roomset_canvas_, sheet, 256, 0x10 * 0x04,
|
gui::BitmapCanvasPipeline(roomset_canvas_, sheet, 256, 0x10 * 0x04,
|
||||||
0x20, true, false, 23);
|
0x20, true, false, 23);
|
||||||
}
|
}
|
||||||
@@ -202,7 +206,9 @@ void GfxGroupEditor::DrawSpritesetViewer(bool sheet_only) {
|
|||||||
BeginGroup();
|
BeginGroup();
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
int sheet_id = rom()->spriteset_ids[selected_spriteset_][i];
|
int sheet_id = rom()->spriteset_ids[selected_spriteset_][i];
|
||||||
auto &sheet = GraphicsSheetManager::GetInstance().mutable_gfx_sheets()->at(115 + sheet_id);
|
auto &sheet =
|
||||||
|
GraphicsSheetManager::GetInstance().mutable_gfx_sheets()->at(
|
||||||
|
115 + sheet_id);
|
||||||
gui::BitmapCanvasPipeline(spriteset_canvas_, sheet, 256, 0x10 * 0x04,
|
gui::BitmapCanvasPipeline(spriteset_canvas_, sheet, 256, 0x10 * 0x04,
|
||||||
0x20, true, false, 24);
|
0x20, true, false, 24);
|
||||||
}
|
}
|
||||||
@@ -234,6 +240,9 @@ void DrawPaletteFromPaletteGroup(gfx::SnesPalette &palette) {
|
|||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
void GfxGroupEditor::DrawPaletteViewer() {
|
void GfxGroupEditor::DrawPaletteViewer() {
|
||||||
|
if (!rom()->is_loaded()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
gui::InputHexByte("Selected Paletteset", &selected_paletteset_);
|
gui::InputHexByte("Selected Paletteset", &selected_paletteset_);
|
||||||
if (selected_paletteset_ >= 71) {
|
if (selected_paletteset_ >= 71) {
|
||||||
selected_paletteset_ = 71;
|
selected_paletteset_ = 71;
|
||||||
|
|||||||
@@ -85,9 +85,7 @@ void MessageEditor::Initialize() {
|
|||||||
DrawMessagePreview();
|
DrawMessagePreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
absl::Status MessageEditor::Load() {
|
absl::Status MessageEditor::Load() { return absl::OkStatus(); }
|
||||||
return absl::OkStatus();
|
|
||||||
}
|
|
||||||
|
|
||||||
absl::Status MessageEditor::Update() {
|
absl::Status MessageEditor::Update() {
|
||||||
if (rom()->is_loaded() && !data_loaded_) {
|
if (rom()->is_loaded() && !data_loaded_) {
|
||||||
@@ -152,6 +150,9 @@ void MessageEditor::DrawMessageList() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MessageEditor::DrawCurrentMessage() {
|
void MessageEditor::DrawCurrentMessage() {
|
||||||
|
if (!rom()->is_loaded()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
Button(absl::StrCat("Message ", current_message_.ID).c_str());
|
Button(absl::StrCat("Message ", current_message_.ID).c_str());
|
||||||
if (InputTextMultiline("##MessageEditor",
|
if (InputTextMultiline("##MessageEditor",
|
||||||
&parsed_messages_[current_message_.ID],
|
&parsed_messages_[current_message_.ID],
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ absl::Status OverworldEditor::Load() {
|
|||||||
tile16_editor_.Initialize(tile16_blockset_bmp_, current_gfx_bmp_,
|
tile16_editor_.Initialize(tile16_blockset_bmp_, current_gfx_bmp_,
|
||||||
*overworld_.mutable_all_tiles_types()));
|
*overworld_.mutable_all_tiles_types()));
|
||||||
ASSIGN_OR_RETURN(entrance_tiletypes_, zelda3::LoadEntranceTileTypes(rom_));
|
ASSIGN_OR_RETURN(entrance_tiletypes_, zelda3::LoadEntranceTileTypes(rom_));
|
||||||
|
RETURN_IF_ERROR(LoadGraphics());
|
||||||
all_gfx_loaded_ = true;
|
all_gfx_loaded_ = true;
|
||||||
return absl::OkStatus();
|
return absl::OkStatus();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user