summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--editor/imgui.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/editor/imgui.cpp b/editor/imgui.cpp
index 51c690b2..7fafc8d7 100644
--- a/editor/imgui.cpp
+++ b/editor/imgui.cpp
@@ -50,22 +50,29 @@ float app::draw_main_menu()
{
auto mode = _editor.mode();
using m = editor_mode;
+ const auto* ed_sc = _editor.current_scenery_editor();
+ const auto* ed_w = _editor.current_tile_editor();
bool b_none = mode == m::none, b_floor = mode == m::floor, b_walls = mode == m::walls,
b_scenery = mode == m::scenery, b_collisions = _render_bboxes,
b_clickables = _render_clickables;
+ const bool b_rotate = ed_sc && ed_sc->is_anything_selected() ||
+ mode == editor_mode::walls && ed_w && ed_w->is_anything_selected();
ImGui::SeparatorText("Mode");
- if (ImGui::MenuItem("Select", "1", &b_none))
+ if (ImGui::MenuItem("Select", "1", b_none))
do_key(key_mode_none);
- if (ImGui::MenuItem("Floor", "2", &b_floor))
+ if (ImGui::MenuItem("Floor", "2", b_floor))
do_key(key_mode_floor);
- if (ImGui::MenuItem("Walls", "3", &b_walls))
+ if (ImGui::MenuItem("Walls", "3", b_walls))
do_key(key_mode_walls);
- if (ImGui::MenuItem("Scenery", "4", &b_scenery))
+ if (ImGui::MenuItem("Scenery", "4", b_scenery))
do_key(key_mode_scenery);
+ ImGui::SeparatorText("Modify");
+ if (ImGui::MenuItem("Rotate", "R", false, b_rotate))
+ do_key(key_rotate_tile);
ImGui::SeparatorText("View");
- if (ImGui::MenuItem("Show collisions", "Alt+C", &b_collisions))
+ if (ImGui::MenuItem("Show collisions", "Alt+C", b_collisions))
do_key(key_render_collision_boxes);
- if (ImGui::MenuItem("Show clickables", "Alt+L", &b_clickables))
+ if (ImGui::MenuItem("Show clickables", "Alt+L", b_clickables))
do_key(key_render_clickables);
}