Update constants for OverworldEditor
This commit is contained in:
@@ -35,7 +35,7 @@ absl::Status OverworldEditor::Update() {
|
|||||||
RETURN_IF_ERROR(DrawToolset())
|
RETURN_IF_ERROR(DrawToolset())
|
||||||
|
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
if (ImGui::BeginTable("#owEditTable", 2, ow_edit_flags, ImVec2(0, 0))) {
|
if (ImGui::BeginTable(kOWEditTable.data(), 2, kOWEditFlags, ImVec2(0, 0))) {
|
||||||
ImGui::TableSetupColumn("Canvas", ImGuiTableColumnFlags_WidthStretch,
|
ImGui::TableSetupColumn("Canvas", ImGuiTableColumnFlags_WidthStretch,
|
||||||
ImGui::GetContentRegionAvail().x);
|
ImGui::GetContentRegionAvail().x);
|
||||||
ImGui::TableSetupColumn("Tile Selector");
|
ImGui::TableSetupColumn("Tile Selector");
|
||||||
@@ -54,7 +54,7 @@ absl::Status OverworldEditor::Update() {
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
absl::Status OverworldEditor::DrawToolset() {
|
absl::Status OverworldEditor::DrawToolset() {
|
||||||
if (ImGui::BeginTable("OWToolset", 17, toolset_table_flags, ImVec2(0, 0))) {
|
if (ImGui::BeginTable("OWToolset", 17, kToolsetTableFlags, ImVec2(0, 0))) {
|
||||||
for (const auto &name : kToolsetColumnNames)
|
for (const auto &name : kToolsetColumnNames)
|
||||||
ImGui::TableSetupColumn(name.data());
|
ImGui::TableSetupColumn(name.data());
|
||||||
|
|
||||||
@@ -83,18 +83,13 @@ absl::Status OverworldEditor::DrawToolset() {
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
void OverworldEditor::DrawOverworldMapSettings() {
|
void OverworldEditor::DrawOverworldMapSettings() {
|
||||||
if (ImGui::BeginTable("#mapSettings", 8, ow_map_flags, ImVec2(0, 0), -1)) {
|
if (ImGui::BeginTable(kOWMapTable.data(), 8, kOWMapFlags, ImVec2(0, 0), -1)) {
|
||||||
for (const auto &name : kOverworldSettingsColumnNames)
|
for (const auto &name : kOverworldSettingsColumnNames)
|
||||||
ImGui::TableSetupColumn(name.data());
|
ImGui::TableSetupColumn(name.data());
|
||||||
|
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::SetNextItemWidth(100.f);
|
ImGui::SetNextItemWidth(100.f);
|
||||||
ImGui::Combo("##world", &game_state_, "Part 0\0Part 1\0Part 2\0");
|
ImGui::Combo("##world", ¤t_world_, kWorldList.data(), 3);
|
||||||
|
|
||||||
ImGui::TableNextColumn();
|
|
||||||
ImGui::SetNextItemWidth(100.f);
|
|
||||||
ImGui::Combo("##world", ¤t_world_,
|
|
||||||
"Light World\0Dark World\0Extra World\0");
|
|
||||||
|
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::Text("GFX");
|
ImGui::Text("GFX");
|
||||||
@@ -126,6 +121,10 @@ void OverworldEditor::DrawOverworldMapSettings() {
|
|||||||
ImGui::SetNextItemWidth(50.f);
|
ImGui::SetNextItemWidth(50.f);
|
||||||
ImGui::InputText("##msgid", spr_palette_, kMessageIdSize);
|
ImGui::InputText("##msgid", spr_palette_, kMessageIdSize);
|
||||||
|
|
||||||
|
ImGui::TableNextColumn();
|
||||||
|
ImGui::SetNextItemWidth(100.f);
|
||||||
|
ImGui::Combo("##world", &game_state_, "Part 0\0Part 1\0Part 2\0", 3);
|
||||||
|
|
||||||
ImGui::TableNextColumn();
|
ImGui::TableNextColumn();
|
||||||
ImGui::Checkbox("Show grid", &opt_enable_grid); // TODO
|
ImGui::Checkbox("Show grid", &opt_enable_grid); // TODO
|
||||||
ImGui::EndTable();
|
ImGui::EndTable();
|
||||||
@@ -286,7 +285,8 @@ void OverworldEditor::DrawAreaGraphics() {
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
void OverworldEditor::DrawTileSelector() {
|
void OverworldEditor::DrawTileSelector() {
|
||||||
if (ImGui::BeginTabBar("##TabBar", ImGuiTabBarFlags_FittingPolicyScroll)) {
|
if (ImGui::BeginTabBar(kTileSelectorTab.data(),
|
||||||
|
ImGuiTabBarFlags_FittingPolicyScroll)) {
|
||||||
if (ImGui::BeginTabItem("Tile16")) {
|
if (ImGui::BeginTabItem("Tile16")) {
|
||||||
if (ImGuiID child_id = ImGui::GetID((void *)(intptr_t)2);
|
if (ImGuiID child_id = ImGui::GetID((void *)(intptr_t)2);
|
||||||
ImGui::BeginChild(child_id, ImGui::GetContentRegionAvail(), true,
|
ImGui::BeginChild(child_id, ImGui::GetContentRegionAvail(), true,
|
||||||
@@ -378,6 +378,10 @@ absl::Status OverworldEditor::LoadGraphics() {
|
|||||||
rom_.RenderBitmap(&(maps_bmp_[i]));
|
rom_.RenderBitmap(&(maps_bmp_[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return absl::OkStatus();
|
||||||
|
}
|
||||||
|
|
||||||
|
absl::Status OverworldEditor::LoadSpriteGraphics() {
|
||||||
// Render the sprites for each Overworld map
|
// Render the sprites for each Overworld map
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
for (auto &sprite : overworld_.Sprites(i)) {
|
for (auto &sprite : overworld_.Sprites(i)) {
|
||||||
@@ -389,7 +393,6 @@ absl::Status OverworldEditor::LoadGraphics() {
|
|||||||
sprite_previews_[sprite.id()].ApplyPalette(palette_);
|
sprite_previews_[sprite.id()].ApplyPalette(palette_);
|
||||||
rom_.RenderBitmap(&(sprite_previews_[sprite.id()]));
|
rom_.RenderBitmap(&(sprite_previews_[sprite.id()]));
|
||||||
}
|
}
|
||||||
|
|
||||||
return absl::OkStatus();
|
return absl::OkStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,18 @@ static constexpr absl::string_view kOverworldSettingsColumnNames[] = {
|
|||||||
"##1stCol", "##gfxCol", "##palCol", "##sprgfxCol",
|
"##1stCol", "##gfxCol", "##palCol", "##sprgfxCol",
|
||||||
"##sprpalCol", "##msgidCol", "##2ndCol"};
|
"##sprpalCol", "##msgidCol", "##2ndCol"};
|
||||||
|
|
||||||
|
constexpr ImGuiTableFlags kOWMapFlags = ImGuiTableFlags_Borders;
|
||||||
|
constexpr ImGuiTableFlags kToolsetTableFlags = ImGuiTableFlags_SizingFixedFit;
|
||||||
|
constexpr ImGuiTableFlags kOWEditFlags = ImGuiTableFlags_Reorderable |
|
||||||
|
ImGuiTableFlags_Resizable |
|
||||||
|
ImGuiTableFlags_SizingStretchSame;
|
||||||
|
|
||||||
|
constexpr absl::string_view kWorldList = "Light World\0Dark World\0Extra World";
|
||||||
|
|
||||||
|
constexpr absl::string_view kTileSelectorTab = "##TileSelectorTabBar";
|
||||||
|
constexpr absl::string_view kOWEditTable = "##OWEditTable";
|
||||||
|
constexpr absl::string_view kOWMapTable = "#MapSettingsTable";
|
||||||
|
|
||||||
class OverworldEditor : public SharedROM {
|
class OverworldEditor : public SharedROM {
|
||||||
public:
|
public:
|
||||||
absl::Status Update();
|
absl::Status Update();
|
||||||
@@ -48,8 +60,8 @@ class OverworldEditor : public SharedROM {
|
|||||||
absl::Status Cut() const { return absl::UnimplementedError("Cut"); }
|
absl::Status Cut() const { return absl::UnimplementedError("Cut"); }
|
||||||
absl::Status Copy() const { return absl::UnimplementedError("Copy"); }
|
absl::Status Copy() const { return absl::UnimplementedError("Copy"); }
|
||||||
absl::Status Paste() const { return absl::UnimplementedError("Paste"); }
|
absl::Status Paste() const { return absl::UnimplementedError("Paste"); }
|
||||||
void SetupROM(ROM &rom) {
|
void SetupROM(ROM &rom) {
|
||||||
rom_ = rom;
|
rom_ = rom;
|
||||||
shared_rom_ = std::make_shared<ROM>(rom_);
|
shared_rom_ = std::make_shared<ROM>(rom_);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,6 +80,7 @@ class OverworldEditor : public SharedROM {
|
|||||||
void DrawAreaGraphics();
|
void DrawAreaGraphics();
|
||||||
void DrawTileSelector();
|
void DrawTileSelector();
|
||||||
absl::Status LoadGraphics();
|
absl::Status LoadGraphics();
|
||||||
|
absl::Status LoadSpriteGraphics();
|
||||||
|
|
||||||
int current_world_ = 0;
|
int current_world_ = 0;
|
||||||
int current_map_ = 0;
|
int current_map_ = 0;
|
||||||
@@ -111,8 +124,6 @@ class OverworldEditor : public SharedROM {
|
|||||||
gfx::BitmapTable current_graphics_set_;
|
gfx::BitmapTable current_graphics_set_;
|
||||||
gfx::BitmapTable sprite_previews_;
|
gfx::BitmapTable sprite_previews_;
|
||||||
|
|
||||||
ImGuiTableFlags toolset_table_flags = ImGuiTableFlags_SizingFixedFit;
|
|
||||||
ImGuiTableFlags ow_map_flags = ImGuiTableFlags_Borders;
|
|
||||||
ImGuiTableFlags ow_edit_flags = ImGuiTableFlags_Reorderable |
|
ImGuiTableFlags ow_edit_flags = ImGuiTableFlags_Reorderable |
|
||||||
ImGuiTableFlags_Resizable |
|
ImGuiTableFlags_Resizable |
|
||||||
ImGuiTableFlags_SizingStretchSame;
|
ImGuiTableFlags_SizingStretchSame;
|
||||||
|
|||||||
Reference in New Issue
Block a user