Refactor OverworldEditor and Overworld class
This commit is contained in:
@@ -383,7 +383,7 @@ absl::Status Tile16Editor::UpdateTransferTileCanvas() {
|
||||
// Load the Link to the Past overworld.
|
||||
PRINT_IF_ERROR(transfer_overworld_.Load(transfer_rom_))
|
||||
transfer_overworld_.set_current_map(0);
|
||||
palette_ = transfer_overworld_.AreaPalette();
|
||||
palette_ = transfer_overworld_.current_area_palette();
|
||||
|
||||
// Create the tile16 blockset image
|
||||
RETURN_IF_ERROR(Renderer::GetInstance().CreateAndRenderBitmap(
|
||||
|
||||
@@ -749,7 +749,7 @@ absl::Status OverworldEditor::DrawAreaGraphics() {
|
||||
if (overworld_.is_loaded() &&
|
||||
current_graphics_set_.count(current_map_) == 0) {
|
||||
overworld_.set_current_map(current_map_);
|
||||
palette_ = overworld_.AreaPalette();
|
||||
palette_ = overworld_.current_area_palette();
|
||||
gfx::Bitmap bmp;
|
||||
RETURN_IF_ERROR(Renderer::GetInstance().CreateAndRenderBitmap(
|
||||
0x80, kOverworldMapSize, 0x08, overworld_.current_graphics(), bmp,
|
||||
@@ -1048,7 +1048,7 @@ absl::Status OverworldEditor::Save() {
|
||||
absl::Status OverworldEditor::LoadGraphics() {
|
||||
// Load the Link to the Past overworld.
|
||||
RETURN_IF_ERROR(overworld_.Load(*rom()))
|
||||
palette_ = overworld_.AreaPalette();
|
||||
palette_ = overworld_.current_area_palette();
|
||||
|
||||
// Create the area graphics image
|
||||
RETURN_IF_ERROR(Renderer::GetInstance().CreateAndRenderBitmap(
|
||||
@@ -1091,9 +1091,9 @@ absl::Status OverworldEditor::LoadGraphics() {
|
||||
// Render the overworld maps loaded from the ROM.
|
||||
for (int i = 0; i < zelda3::overworld::kNumOverworldMaps; ++i) {
|
||||
overworld_.set_current_map(i);
|
||||
auto palette = overworld_.AreaPalette();
|
||||
auto palette = overworld_.current_area_palette();
|
||||
RETURN_IF_ERROR(Renderer::GetInstance().CreateAndRenderBitmap(
|
||||
kOverworldMapSize, kOverworldMapSize, 0x200, overworld_.BitmapData(),
|
||||
kOverworldMapSize, kOverworldMapSize, 0x200, overworld_.current_map_bitmap_data(),
|
||||
maps_bmp_[i], palette));
|
||||
}
|
||||
|
||||
@@ -1159,21 +1159,21 @@ void OverworldEditor::DrawOverworldProperties() {
|
||||
}
|
||||
|
||||
Text("Area Gfx LW/DW");
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 1.0f, 32, 0);
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 2.0f, 32, 0);
|
||||
SameLine();
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 1.0f, 32, 1);
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 2.0f, 32, 1);
|
||||
ImGui::Separator();
|
||||
|
||||
Text("Sprite Gfx LW/DW");
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 1.0f, 32, 6);
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 2.0f, 32, 6);
|
||||
SameLine();
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 1.0f, 32, 7);
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 2.0f, 32, 7);
|
||||
ImGui::Separator();
|
||||
|
||||
Text("Area Pal LW/DW");
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 1.0f, 32, 2);
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 2.0f, 32, 2);
|
||||
SameLine();
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 1.0f, 32, 3);
|
||||
properties_canvas_.UpdateInfoGrid(ImVec2(256, 256), 8, 2.0f, 32, 3);
|
||||
|
||||
static bool show_gfx_group = false;
|
||||
Checkbox("Show Gfx Group Editor", &show_gfx_group);
|
||||
|
||||
@@ -293,8 +293,7 @@ class OverworldEditor : public Editor,
|
||||
gui::CanvasGridSize::k32x32};
|
||||
gui::Canvas graphics_bin_canvas_{"GraphicsBin", kGraphicsBinCanvasSize,
|
||||
gui::CanvasGridSize::k16x16};
|
||||
gui::Canvas properties_canvas_{"Properties", ImVec2(0x100, 0x100),
|
||||
gui::CanvasGridSize::k8x8};
|
||||
gui::Canvas properties_canvas_;
|
||||
gui::zeml::Node layout_node_;
|
||||
absl::Status status_;
|
||||
};
|
||||
|
||||
@@ -60,7 +60,7 @@ void OverworldEditor::RefreshOverworldMap() {
|
||||
absl::Status OverworldEditor::RefreshMapPalette() {
|
||||
RETURN_IF_ERROR(
|
||||
overworld_.mutable_overworld_map(current_map_)->LoadPalette());
|
||||
const auto current_map_palette = overworld_.AreaPalette();
|
||||
const auto current_map_palette = overworld_.current_area_palette();
|
||||
|
||||
if (overworld_.overworld_map(current_map_)->is_large_map()) {
|
||||
// We need to update the map and its siblings if it's a large map
|
||||
@@ -107,7 +107,7 @@ absl::Status OverworldEditor::RefreshTile16Blockset() {
|
||||
current_blockset_ = overworld_.overworld_map(current_map_)->area_graphics();
|
||||
|
||||
overworld_.set_current_map(current_map_);
|
||||
palette_ = overworld_.AreaPalette();
|
||||
palette_ = overworld_.current_area_palette();
|
||||
// Create the tile16 blockset image
|
||||
Renderer::GetInstance().UpdateBitmap(&tile16_blockset_bmp_);
|
||||
RETURN_IF_ERROR(tile16_blockset_bmp_.ApplyPalette(palette_));
|
||||
|
||||
Reference in New Issue
Block a user