Add SaveOverworldMaps public fn and experiment flag
This commit is contained in:
@@ -341,6 +341,7 @@ void MasterEditor::DrawFileMenu() {
|
||||
Checkbox("Draw Dungeon Room Graphics",
|
||||
&mutable_flags()->kDrawDungeonRoomGraphics);
|
||||
Checkbox("Save Dungeon Maps", &mutable_flags()->kSaveDungeonMaps);
|
||||
Checkbox("Save Overworld Maps", &mutable_flags()->kSaveOverworldMaps);
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
@@ -518,6 +519,11 @@ void MasterEditor::SaveRom() {
|
||||
status_ = screen_editor_.SaveDungeonMaps();
|
||||
PRINT_IF_ERROR(status_);
|
||||
}
|
||||
if (flags()->kSaveOverworldMaps) {
|
||||
status_ = overworld_editor_.SaveOverworldMaps();
|
||||
PRINT_IF_ERROR(status_);
|
||||
}
|
||||
|
||||
status_ = rom()->SaveToFile(backup_rom_);
|
||||
}
|
||||
|
||||
|
||||
@@ -375,7 +375,7 @@ void OverworldEditor::DrawOverworldMapSettings() {
|
||||
kInputFieldSize);
|
||||
|
||||
TableNextColumn();
|
||||
gui::InputHexByte(
|
||||
gui::InputHexWord(
|
||||
"Msg Id",
|
||||
overworld_.mutable_overworld_map(current_map_)->mutable_message_id(),
|
||||
kInputFieldSize);
|
||||
@@ -667,19 +667,6 @@ void OverworldEditor::RenderUpdatedMapBitmap(const ImVec2 &click_position,
|
||||
rom()->UpdateBitmap(¤t_bitmap);
|
||||
}
|
||||
|
||||
void OverworldEditor::SaveOverworldChanges() {
|
||||
// Store the changes made by the user to the ROM (or project file)
|
||||
rom()->QueueChanges([&]() {
|
||||
PRINT_IF_ERROR(overworld_.SaveOverworldMaps());
|
||||
if (!overworld_.CreateTile32Tilemap()) {
|
||||
// overworld_.SaveMap16Tiles();
|
||||
PRINT_IF_ERROR(overworld_.SaveMap32Tiles());
|
||||
} else {
|
||||
std::cout << "Failed to create tile32 tilemap" << std::endl;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void OverworldEditor::CheckForOverworldEdits() {
|
||||
if (!blockset_canvas_.points().empty()) {
|
||||
// User has selected a tile they want to draw from the blockset.
|
||||
@@ -925,6 +912,11 @@ absl::Status OverworldEditor::LoadGraphics() {
|
||||
return absl::OkStatus();
|
||||
}
|
||||
|
||||
absl::Status OverworldEditor::SaveOverworldMaps() {
|
||||
RETURN_IF_ERROR(overworld_.SaveOverworldMaps());
|
||||
return absl::OkStatus();
|
||||
}
|
||||
|
||||
absl::Status OverworldEditor::LoadSpriteGraphics() {
|
||||
// Render the sprites for each Overworld map
|
||||
for (int i = 0; i < 3; i++)
|
||||
|
||||
@@ -87,6 +87,7 @@ class OverworldEditor : public Editor,
|
||||
}
|
||||
|
||||
absl::Status LoadGraphics();
|
||||
absl::Status SaveOverworldMaps();
|
||||
|
||||
private:
|
||||
absl::Status UpdateOverworldEdit();
|
||||
|
||||
Reference in New Issue
Block a user