Refactor OverworldEditor to use constexpr for map settings column names

This commit is contained in:
scawful
2024-08-17 12:16:30 -04:00
parent 1cc1fce3d0
commit aaa3a5c8fa
2 changed files with 16 additions and 17 deletions

View File

@@ -299,11 +299,13 @@ absl::Status OverworldEditor::DrawToolset() {
return absl::OkStatus();
}
constexpr std::array<const char *, 8> kMapSettingsColumnNames = {
"##WorldId", "##GfxId", "##PalId", "##SprGfxId",
"##5thCol", "##6thCol", "##7thCol", "##8thCol"};
void OverworldEditor::DrawOverworldMapSettings() {
if (BeginTable(kOWMapTable.data(), 8, kOWMapFlags, ImVec2(0, 0), -1)) {
for (const auto &name :
{"##1stCol", "##gfxCol", "##palCol", "##sprgfxCol", "##sprpalCol",
"##msgidCol", "##2ndCol", "##mosaic"})
for (const auto &name : kMapSettingsColumnNames)
ImGui::TableSetupColumn(name);
TableNextColumn();
@@ -1023,13 +1025,9 @@ absl::Status OverworldEditor::LoadGraphics() {
// Add the vector for the current tile to the vector of tile pixel data
tile16_individual_data_.push_back(tile_data);
}
// Render the bitmaps of each tile.
for (int id = 0; id < 4096; id++) {
tile16_individual_.emplace_back();
RETURN_IF_ERROR(Renderer::GetInstance().CreateAndRenderBitmap(
0x10, 0x10, 0x80, tile16_individual_data_[id], tile16_individual_[id],
0x10, 0x10, 0x80, tile16_individual_data_[i], tile16_individual_[i],
palette_));
}

View File

@@ -1,8 +1,6 @@
#ifndef YAZE_APP_EDITOR_OVERWORLDEDITOR_H
#define YAZE_APP_EDITOR_OVERWORLDEDITOR_H
#include "imgui/imgui.h"
#include <cmath>
#include <unordered_map>
@@ -25,6 +23,7 @@
#include "app/gui/zeml.h"
#include "app/rom.h"
#include "app/zelda3/overworld/overworld.h"
#include "imgui/imgui.h"
namespace yaze {
namespace app {
@@ -101,8 +100,8 @@ class EntranceContext {
*/
class OverworldEditor : public Editor,
public SharedRom,
public context::GfxContext,
public EntranceContext,
public context::GfxContext,
public core::ExperimentFlags {
public:
OverworldEditor() { type_ = EditorType::kOverworld; }
@@ -110,12 +109,14 @@ class OverworldEditor : public Editor,
void InitializeZeml();
absl::Status Update() final;
absl::Status Undo() { return absl::UnimplementedError("Undo"); }
absl::Status Redo() { return absl::UnimplementedError("Redo"); }
absl::Status Cut() { return absl::UnimplementedError("Cut"); }
absl::Status Copy() { return absl::UnimplementedError("Copy"); }
absl::Status Paste() { return absl::UnimplementedError("Paste"); }
absl::Status Find() { return absl::UnimplementedError("Find Unused Tiles"); }
absl::Status Undo() override { return absl::UnimplementedError("Undo"); }
absl::Status Redo() override { return absl::UnimplementedError("Redo"); }
absl::Status Cut() override { return absl::UnimplementedError("Cut"); }
absl::Status Copy() override { return absl::UnimplementedError("Copy"); }
absl::Status Paste() override { return absl::UnimplementedError("Paste"); }
absl::Status Find() override {
return absl::UnimplementedError("Find Unused Tiles");
}
auto overworld() { return &overworld_; }