From c9f381a9c964b6576acf6ea1d6383e174d3c81a9 Mon Sep 17 00:00:00 2001 From: maj00r Date: Mon, 12 Oct 2026 01:52:28 +0200 Subject: [PATCH] feat(editor): the parallel track is a tool of its own (N) in the toolbar, its green preview only shows there, Shift+click on a straight in L opens it with that track; the norms are two buttons at the top of the Lay panel and of the Curve tool, shared by both, free hides the recommendations of the curve and its norm warnings, the duplicate transitions checkbox is gone; the Lay panel starts with the radius, the speed and the shape; the Tracks toolbar shows the tools that lay track, the ones that correct a line are under More (remembered); First steps ends with driving the track laid; self-test command tracktab --- application/editormode.cpp | 6 +- application/editormode.h | 13 ++-- application/editormodeparallel.cpp | 6 +- application/editormodeselftest.cpp | 12 +++- application/editormodetrack.cpp | 100 ++++++++++++++++++----------- application/editormodetrackux.cpp | 8 ++- application/editormodevehicle.cpp | 1 + application/editormodeviewport.cpp | 16 ++++- editor/editorIcons.hpp | 2 + editor/editorSettings.cpp | 3 + editor/editorSettings.hpp | 3 + editor/icons/editor_icons.png | Bin 52589 -> 46348 bytes editor/icons/editor_icons.py | 17 ++++- lang/editor_pl.po | 57 ++++++++++++++++ 14 files changed, 187 insertions(+), 57 deletions(-) diff --git a/application/editormode.cpp b/application/editormode.cpp index eb4ca8e3..8d8ba960 100644 --- a/application/editormode.cpp +++ b/application/editormode.cpp @@ -4612,7 +4612,8 @@ void editor_mode::render_first_steps() "Joining: press on a free end (magenta ring) and drag onto another free end", "T: switch. Click a straight, then press on it and drag: along sets the direction, sideways the side", "Ctrl+Z takes a step back, Backspace while laying takes back the last piece", - "Ctrl+S saves the scenery"}; + "Ctrl+S saves the scenery", + "Drive it: Vehicle in the toolbar, pick a locomotive from the list, LMB on the track, then Place and drive"}; ImGui::SetNextWindowSize(ImVec2(440.0f * Global.ui_scale, 0.0f), ImGuiCond_FirstUseEver); ImGui::SetNextWindowPos(ImVec2(8.0f, ImGui::GetIO().DisplaySize.y - 8.0f), ImGuiCond_FirstUseEver, ImVec2(0.0f, 1.0f)); ImGui::SetNextWindowBgAlpha(1.0f); @@ -4706,7 +4707,8 @@ void editor_mode::render_shortcuts_window() {"Shift+wheel", "Laying: arc then straight, straight then arc, arc, straight; at a free end: another way to join"}, {"0-9 while laying", "Type the length (or the radius) of the next piece, Enter lays it"}, {"Alt held while laying", "The direction in steps of 15 degrees"}, - {"Shift+LMB on a track in L", "Choose it for a parallel track"}, + {"N", "Parallel track: LMB on a straight, then the side and the spacing"}, + {"Shift+LMB on a track in L", "The Parallel tool (N) with it"}, {"Enter / Backspace", "Laying track: lay up to the cursor / take the last piece back"}, {"Del", "Delete the selected tracks"}}}, {"Roads", diff --git a/application/editormode.h b/application/editormode.h index 2bc552f8..6b056944 100644 --- a/application/editormode.h +++ b/application/editormode.h @@ -252,7 +252,7 @@ class editor_mode : public application_mode, private editor_track::observer void render_help_menu(); void render_shortcuts_window(); bool m_shortcuts_open{false}; - enum class first_step { tracks, lay, laid, wheel, join, turnout, undo, save, count }; + enum class first_step { tracks, lay, laid, wheel, join, turnout, undo, save, drive, count }; void render_first_steps(); void first_step_done(first_step const Step); bool m_first_steps_open{false}; @@ -837,7 +837,11 @@ class editor_mode : public application_mode, private editor_track::observer bool digitize_drawn(std::vector const &Created, bool const Alone = true); bool digitize_chain(editor_track::chain const &Chain); void render_route_stored(); - void route_update() { m_route.result = alignment::compute(m_route.design); } + void route_update() + { + m_route.design.norms.checked = false == m_norms_free; + m_route.result = alignment::compute(m_route.design); + } void route_apply(); bool route_relay_through_switches(editor_track::chain const &Chain, std::vector> &States, std::vector &Created, TTrack *&Last); void route_recommend(alignment::vertex &Vertex) const; @@ -1108,6 +1112,7 @@ class editor_mode : public application_mode, private editor_track::observer lay_tool m_lay; bool m_norms_free{true}; alignment::limits laying_norms() const; + bool render_norms_choice(); glm::dvec3 lay_angle_snap(glm::dvec3 const &Mouse) const; void lay_after_history(bool const Undo); void lay_back(); @@ -1193,7 +1198,7 @@ class editor_mode : public application_mode, private editor_track::observer void update_build_tools(); void draw_build_overlay() const; // modes of the track editor, one at a time: path is the plain selection - enum class track_tab { straights, route, path, turnout, profile, speed, joints, infra, lay, lineside, turntable, signals }; + enum class track_tab { straights, route, path, turnout, profile, speed, joints, infra, lay, lineside, turntable, signals, parallel }; struct track_mode { char const *label; @@ -1201,7 +1206,7 @@ class editor_mode : public application_mode, private editor_track::observer track_tab tab; char const *tooltip; }; - static std::array const &track_modes(); + static std::array const &track_modes(); // the objects along the track: a tab for each tool int m_lineside_tab{0}; void render_lineside_ui(); diff --git a/application/editormodeparallel.cpp b/application/editormodeparallel.cpp index 7d0f57d5..79840b9f 100644 --- a/application/editormodeparallel.cpp +++ b/application/editormodeparallel.cpp @@ -373,11 +373,9 @@ bool editor_mode::parallel_preview_visible() const { if (m_parallel.pieces.empty() || parallel_source() != m_parallel.built_for) return false; - if (m_track_tab == track_tab::lay) - return m_lay.points.empty(); - if (m_track_tab == track_tab::path) + if (m_track_tab == track_tab::parallel) return true; - return m_track_tab == track_tab::lineside && m_parallel.open; + return m_track_tab == track_tab::path && parallel_target() != nullptr; } void editor_mode::draw_parallel_preview() const diff --git a/application/editormodeselftest.cpp b/application/editormodeselftest.cpp index 6dbb1750..2aa89c72 100644 --- a/application/editormodeselftest.cpp +++ b/application/editormodeselftest.cpp @@ -722,7 +722,7 @@ editor_mode::selftest_result editor_mode::selftest_sweep(std::string const &comm { std::string tab; words >> tab; - show_track_tab(track_tab::lineside); + show_track_tab(tab == "parallel" ? track_tab::parallel : track_tab::lineside); (tab == "vehicle" ? m_vehicle.expand : tab == "hekto" ? m_hekto.expand : tab == "fouling" ? m_fouling.expand : m_parallel.expand) = true; return selftest_result::handled; } @@ -1711,6 +1711,16 @@ editor_mode::selftest_result editor_mode::selftest_join(std::string const &comma WriteLog(format("SELFTEST %s end: %.3f m from the target", command.c_str(), geometry::plan_distance(previous, b))); return selftest_result::handled; } + if (command == "tracktab") + { + std::string key; + words >> key; + for (auto const &mode : track_modes()) + if (key == mode.key) + show_track_tab(mode.tab); + WriteLog(format("SELFTEST tracktab %s: %s", key.c_str(), track_mode_name().c_str())); + return selftest_result::handled; + } if (command == "laychain") { int layout{0}; diff --git a/application/editormodetrack.cpp b/application/editormodetrack.cpp index 412b0516..cdce2f3f 100644 --- a/application/editormodetrack.cpp +++ b/application/editormodetrack.cpp @@ -522,12 +522,13 @@ void editor_mode::restore_track_snapshot(EditorSnapshot const &Snapshot, std::ve profile_restore(); } -std::array const &editor_mode::track_modes() +std::array const &editor_mode::track_modes() { - static std::array const modes{{ + static std::array const modes{{ {"Select", "Esc", track_tab::path, "LMB on a path selects it: its points, control vectors and parameters"}, {"Lay track", "L", track_tab::lay, "Lays new track through the clicked points, on the ground or from a free end of a track"}, {"Switch", "T", track_tab::turnout, "Puts switches into the selected straight or curve, edits the geometry of the selected switch"}, + {"Parallel", "N", track_tab::parallel, "A second track beside a straight: LMB on the straight, then the side and the spacing"}, {"Turntable", "U", track_tab::turntable, "Places a turntable, leads tracks out of it and fits the tracks around to it"}, {"Straight", "G", track_tab::straights, "The whole straight through the selected path: drag its ends or the middle, break it, shift it"}, {"Curve", "C", track_tab::route, "The line through the path, switch to switch: vertices with the radii, transitions and cant of the curves"}, @@ -659,6 +660,7 @@ std::string editor_mode::track_mode_name() const case track_tab::lineside: return STR_C("Objects along the track"); case track_tab::infra: return STR_C("Infrastructure along the track"); + case track_tab::parallel: return m_parallel.pieces.empty() ? STR_C("Parallel track: LMB on a straight") : STR_C("Parallel track: the side and the spacing in the panel, then Lay"); case track_tab::signals: if (m_signal.moving) return STR_C("Signal: drag along the track, release to put it there"); @@ -734,6 +736,9 @@ void editor_mode::render_track_tool_options() case track_tab::lay: render_lay_ui(); break; + case track_tab::parallel: + render_parallel_ui(); + break; case track_tab::turnout: if (track != nullptr && track->eType == tt_Switch) render_turnout_ui(); @@ -2340,6 +2345,8 @@ void editor_mode::render_route_gizmo() void editor_mode::render_route_ui() { auto &route{m_route}; + render_norms_choice(); + ImGui::Separator(); if (false == route.error.empty()) ImGui::TextColored(ImVec4(1.0f, 0.35f, 0.3f, 1.0f), "%s", route.error.c_str()); if (route.chain.tracks.empty()) @@ -2489,15 +2496,17 @@ bool editor_mode::render_route_vertex(int const Index) vertex.transition_in = std::max(0.0, vertex.transition_in); vertex.transition_out = std::max(0.0, vertex.transition_out); vertex.cant = std::max(0.0, vertex.cant); - if (ImGui::SmallButton(STR_C("Apply recommended for V"))) + if (false == m_norms_free) { - route_recommend(vertex); - changed = true; + if (ImGui::SmallButton(STR_C("Apply recommended for V"))) + { + route_recommend(vertex); + changed = true; + } + item_tooltip("Cant and transitions recommended for the design speed and the radius"); + auto const recommended{alignment::recommend(design.speed, vertex.radius, design.norms)}; + ImGui::TextDisabled(STR_C("For %.0f km/h: R min %.0f m, cant %.0f mm (equilibrium %.0f, min %.0f), transition %.0f m"), design.speed, recommended.radius_min, recommended.cant, recommended.cant_equilibrium, recommended.cant_min, recommended.transition); } - item_tooltip("Cant and transitions recommended for the design speed and the radius"); - - auto const recommended{alignment::recommend(design.speed, vertex.radius, design.norms)}; - ImGui::TextDisabled(STR_C("For %.0f km/h: R min %.0f m, cant %.0f mm (equilibrium %.0f, min %.0f), transition %.0f m"), design.speed, recommended.radius_min, recommended.cant, recommended.cant_equilibrium, recommended.cant_min, recommended.transition); if (ImGui::TreeNode(STR_C("Details"))) { for (auto const &curve : route.result.curves) @@ -3653,7 +3662,7 @@ std::vector editor_mode::track_key_hints(bool const All) if (m_lay.active) { if (m_lay.points.empty()) - hints = {{"LMB", "start of the new track, on the ground or at a free end"}, {"Drag from a free end", "the shape chosen towards the cursor, to a free end: joins it"}, {"Shift+click a straight", "a parallel track beside it, in the panel"}, {"Alt", "the direction in steps of 15 degrees"}, {"Esc", "stop laying"}}; + hints = {{"LMB", "start of the new track, on the ground or at a free end"}, {"Drag from a free end", "the shape chosen towards the cursor, to a free end: joins it"}, {"Shift+click a straight", "the Parallel tool (N) with it"}, {"Alt", "the direction in steps of 15 degrees"}, {"Esc", "stop laying"}}; else { bool const chained{m_lay.start.track != nullptr}; @@ -3697,6 +3706,8 @@ std::vector editor_mode::track_key_hints(bool const All) hints = {{"LMB on a row", "show the path"}}; else if (m_track_window_open && m_track_tab == track_tab::lineside) hints = {{"LMB on a track", "the line the objects go along"}}; + else if (m_track_window_open && m_track_tab == track_tab::parallel) + hints = {{"LMB on a straight", "the track the new one goes beside, green in the view"}, {"Esc", "back to Select"}}; else if (m_track_window_open && m_track_tab == track_tab::signals && (m_signal.placing || m_signal.moving)) hints = {{"Drag along", m_signal.moving ? "moves the signal along the track" : "the trains it faces run that way"}, {"Release", "done"}, {"Esc", "cancel"}}; else if (m_track_window_open && m_track_tab == track_tab::signals) @@ -4614,9 +4625,6 @@ void editor_mode::render_extend_ui() ImGui::SameLine(); if (ImGui::Button(STR_C("Curve right##extend"), ImVec2(100.0f, 0.0f))) extend_add(-1); - ImGui::PushID("extend"); - render_layout_combo(); - ImGui::PopID(); } void editor_mode::render_layout_combo() @@ -5042,47 +5050,61 @@ alignment::limits editor_mode::laying_norms() const return norms; } +bool editor_mode::render_norms_choice() +{ + ImGui::AlignTextToFramePadding(); + ImGui::TextUnformatted(STR_C("Norms:")); + auto changed{false}; + char const *names[]{STR_C("free"), STR_C("PKP PLK")}; + for (int i = 0; i < 2; ++i) + { + ImGui::SameLine(); + auto const chosen{m_norms_free == (i == 0)}; + if (chosen) + ImGui::PushStyleColor(ImGuiCol_Button, ImGui::GetStyleColorVec4(ImGuiCol_ButtonActive)); + if (ImGui::Button(names[i], ImVec2(90.0f, 0.0f)) && false == chosen) + { + m_norms_free = i == 0; + m_lay.transitions = false == m_norms_free; + changed = true; + } + if (chosen) + ImGui::PopStyleColor(); + item_tooltip(i == 0 ? "Plain arcs with no transition curves and no cant, no warnings about the norms: the track goes where it's clicked" + : "Transition curves and cant for the design speed, warnings when the radius, the cant or the transitions don't meet the norms"); + } + if (changed && false == m_route.chain.tracks.empty()) + route_update(); + return changed; +} + void editor_mode::render_lay_ui() { auto &tool{m_lay}; - { - int norms{m_norms_free ? 0 : 1}; - char const *names[]{STR_C("free"), STR_C("PKP PLK")}; - ImGui::PushItemWidth(120.0f); - if (ImGui::Combo(STR_C("Norms"), &norms, names, IM_ARRAYSIZE(names))) - { - m_norms_free = norms == 0; - tool.transitions = false == m_norms_free; - } - ImGui::PopItemWidth(); - item_tooltip("Free: plain arcs with no transition curves and no cant, no warnings about the norms, the track goes where it's clicked.\nPKP PLK: transition curves and cant for the design speed, warnings when the radius, the cant or the transitions don't meet the norms"); - } + render_norms_choice(); + ImGui::Separator(); + ImGui::PushItemWidth(120.0f); + ImGui::DragScalar(STR_C("Curve radius (m)"), ImGuiDataType_Double, &tool.radius, 5.0f, nullptr, nullptr, "%.0f"); + item_tooltip("Drag to change, Ctrl+click to type the value. While laying: Ctrl+wheel"); + tool.radius = std::max(10.0, tool.radius); + ImGui::DragScalar(STR_C("Speed (km/h)"), ImGuiDataType_Double, &tool.style.velocity, 1.0f, nullptr, nullptr, "%.0f"); + tool.style.velocity = std::clamp(tool.style.velocity, 0.0, 400.0); + item_tooltip(m_norms_free ? "Speed limit of the new paths; the speed of the track joined comes first" + : "Speed limit of the new paths, and the design speed of the transition curves and of the cant; the speed of the track joined comes first, and none higher than the radius allows"); + ImGui::PopItemWidth(); + render_layout_combo(); if (auto *track{selected_track()}; track != nullptr) { std::string reason; if (editor_track::can_edit_geometry(*track, reason)) render_extend_ui(); } - if (ImGui::CollapsingHeader(STR_C("Parallel track"), ImGuiTreeNodeFlags_DefaultOpen)) - render_parallel_ui(); - ImGui::Separator(); - ImGui::PushItemWidth(120.0f); - ImGui::DragScalar(STR_C("Curve radius (m)"), ImGuiDataType_Double, &tool.radius, 5.0f, nullptr, nullptr, "%.0f"); - item_tooltip("Drag to change, Ctrl+click to type the value"); - tool.radius = std::max(10.0, tool.radius); - ImGui::DragScalar(STR_C("Speed (km/h)"), ImGuiDataType_Double, &tool.style.velocity, 1.0f, nullptr, nullptr, "%.0f"); - tool.style.velocity = std::clamp(tool.style.velocity, 0.0, 400.0); - item_tooltip("Speed limit of the new paths, and the design speed of the transition curves and of the cant; the speed of the track joined comes first, and none higher than the radius allows"); - ImGui::PopItemWidth(); - render_layout_combo(); if (false == ImGui::TreeNode(STR_C("More settings"))) { render_lay_status(); return; } ImGui::PushItemWidth(120.0f); - ImGui::Checkbox(STR_C("Transition curves and cant"), &tool.transitions); - item_tooltip("Lengths and the cant recommended for the speed and the radius; off: plain circular arcs with no cant"); ImGui::DragScalar(STR_C("Longest path (m)"), ImGuiDataType_Double, &tool.piece_length, 1.0f, nullptr, nullptr, "%.0f"); tool.piece_length = std::clamp(tool.piece_length, 5.0, 1000.0); ImGui::PopItemWidth(); diff --git a/application/editormodetrackux.cpp b/application/editormodetrackux.cpp index ec508fc9..459f8812 100644 --- a/application/editormodetrackux.cpp +++ b/application/editormodetrackux.cpp @@ -222,7 +222,7 @@ editor_mode::track_intent editor_mode::track_intent_at(int const Mods) intent.track = under.track; intent.path = under.path; if (shift) - return make(kind::select, "Click: choose this track, the parallel track goes beside it"); + return make(kind::select, "Click: the Parallel tool (N) with this track"); return make(kind::lay, "Click: start on the ground beside this track. Shift+click: a parallel track to it, T: a switch into it"); } return make(kind::lay, lay.points.empty() ? "Click: start of the new track" : "Click: lay the track to here"); @@ -381,6 +381,7 @@ editor_mode::track_intent editor_mode::track_intent_at(int const Mods) case track_tab::turnout: return make(kind::select, m_hover.track->eType == tt_Switch ? "Click: edit this switch" : m_switch.armed < 0 ? "Click: choose this track, then the type of the switch" : "Click: choose this track, then press and drag on it for the switch"); case track_tab::profile: return make(kind::select, "Click: the grade line through this track"); case track_tab::lineside: return make(kind::select, "Click: the line the objects go along"); + case track_tab::parallel: return make(kind::select, "Click: the straight the new track goes beside"); default: return make(kind::select, "Click: select"); } } @@ -498,6 +499,8 @@ void editor_mode::track_press(track_intent const &Intent) } } select_track(track != nullptr ? track : node); + if (m_track_tab == track_tab::lay && track != nullptr) + show_track_tab(track_tab::parallel); }); return; } @@ -1422,10 +1425,9 @@ void editor_mode::render_lineside_ui() bool *expand; std::function render; }; - std::array const tabs{{ + std::array const tabs{{ {"Hectometre posts", &m_hekto.open, &m_hekto.expand, [this]() { render_hekto_ui(); }}, {"Fouling points", &m_fouling.open, &m_fouling.expand, [this]() { render_fouling_ui(); }}, - {"Parallel track", &m_parallel.open, &m_parallel.expand, [this]() { render_parallel_ui(); }}, {"Vehicle", &m_vehicle.open, &m_vehicle.expand, [this]() { render_vehicle_ui(); }}, }}; if (selected_track() == nullptr) diff --git a/application/editormodevehicle.cpp b/application/editormodevehicle.cpp index 58562caa..bcd1f1ad 100644 --- a/application/editormodevehicle.cpp +++ b/application/editormodevehicle.cpp @@ -174,6 +174,7 @@ bool editor_mode::vehicle_place() return false; } tool.placed = head; + first_step_done(first_step::drive); tool.status = format(STR_C("%s and %d vehicle(s) behind it stand on %s. It isn't saved with the scenery"), head.c_str(), static_cast(vehicles.size()) - 1, tool.track->name().empty() ? "(noname)" : tool.track->name().c_str()); WriteLog("Editor: " + tool.status, logtype::generic); return true; diff --git a/application/editormodeviewport.cpp b/application/editormodeviewport.cpp index 817658e3..8ea888d2 100644 --- a/application/editormodeviewport.cpp +++ b/application/editormodeviewport.cpp @@ -14,6 +14,7 @@ http://mozilla.org/MPL/2.0/. #include "application/editormode.h" #include "application/editoruilayer.h" #include "editor/editorIcons.hpp" +#include "editor/editorSettings.hpp" #include "rendering/renderer.h" #include "utilities/Globals.h" #include "utilities/translation.h" @@ -168,8 +169,7 @@ void editor_mode::work_area_tools(std::vector &Buttons) add(track_tab::path, icon::select, false); add(track_tab::lay, icon::lay_track, false); add(track_tab::turnout, icon::turnout, false); - add(track_tab::straights, icon::straight, false); - add(track_tab::route, icon::curve, false); + add(track_tab::parallel, icon::parallel, false); add(track_tab::turntable, icon::turntable, false); add(track_tab::signals, icon::signal, true); add(track_tab::lineside, icon::objects, false); @@ -177,7 +177,17 @@ void editor_mode::work_area_tools(std::vector &Buttons) show_track_tab(vehicle ? track_tab::path : track_tab::lineside); m_vehicle.expand = false == vehicle; }}); - add(track_tab::profile, icon::profile, true); + auto const advanced{m_track_tab == track_tab::straights || m_track_tab == track_tab::route || m_track_tab == track_tab::profile || m_track_tab == track_tab::speed || m_track_tab == track_tab::joints || m_track_tab == track_tab::infra || m_gauge.open}; + auto const more{EditorSettings.track_tools_more()}; + Buttons.push_back({icon::more, more ? STR_C("Less") : STR_C("More"), nullptr, STR_C("The tools that correct a line already laid: straight, curve, profile, speed, joints, infrastructure, structure gauge"), more, [more]() { + EditorSettings.track_tools_more(false == more); + EditorSettings.save(); + }, true}); + if (false == more && false == advanced) + break; + add(track_tab::straights, icon::straight, true); + add(track_tab::route, icon::curve, false); + add(track_tab::profile, icon::profile, false); add(track_tab::speed, icon::speed, false); add(track_tab::joints, icon::joints, false); add(track_tab::infra, icon::infra, false); diff --git a/editor/editorIcons.hpp b/editor/editorIcons.hpp index 91c9a5f3..eec9f4a8 100644 --- a/editor/editorIcons.hpp +++ b/editor/editorIcons.hpp @@ -50,6 +50,8 @@ enum class icon infra, gauge, turntable, + parallel, + more, // the fields of work work_surroundings, work_tracks, diff --git a/editor/editorSettings.cpp b/editor/editorSettings.cpp index 0623e454..909e4465 100644 --- a/editor/editorSettings.cpp +++ b/editor/editorSettings.cpp @@ -104,6 +104,8 @@ bool editorSettings::load() parse(value, m_palette); else if (key == "first_steps") m_first_steps = (value == "1"); + else if (key == "track_tools_more") + m_track_tools_more = (value == "1"); else if (key.rfind(origin_prefix, 0) == 0) { // northing;easting @@ -148,6 +150,7 @@ bool editorSettings::save() stream << "nodebank_card " << m_nodebank_card << "\n"; stream << "colours " << m_palette << "\n"; stream << "first_steps " << (m_first_steps ? 1 : 0) << "\n"; + stream << "track_tools_more " << (m_track_tools_more ? 1 : 0) << "\n"; stream << std::fixed << std::setprecision(3); for (auto const &origin : m_orthophoto_origins) stream << origin.first << " " << origin.second.first << ";" << origin.second.second << "\n"; diff --git a/editor/editorSettings.hpp b/editor/editorSettings.hpp index 6b87d11b..29408332 100644 --- a/editor/editorSettings.hpp +++ b/editor/editorSettings.hpp @@ -56,6 +56,8 @@ public: bool first_steps() const { return m_first_steps; } void first_steps(bool Show) { m_first_steps = Show; } + bool track_tools_more() const { return m_track_tools_more; } + void track_tools_more(bool Show) { m_track_tools_more = Show; } private: movement_scheme m_movement{movement_scheme::wsad}; @@ -67,6 +69,7 @@ private: int m_nodebank_card{96}; int m_palette{0}; bool m_first_steps{true}; + bool m_track_tools_more{false}; }; // global editor settings instance diff --git a/editor/icons/editor_icons.png b/editor/icons/editor_icons.png index 50878092d771399b35673dff962b91e6b053b04e..affe75b5021dd99818f350ec3adb81cf0c483fa3 100644 GIT binary patch literal 46348 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 z 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 z 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 literal 52589 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 _L^|=X<2GbaqHA$M* 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 diff --git a/editor/icons/editor_icons.py b/editor/icons/editor_icons.py index 9ef66aa1..a1756b34 100644 --- a/editor/icons/editor_icons.py +++ b/editor/icons/editor_icons.py @@ -321,6 +321,21 @@ def turntable(d): line(d, [(32 + math.cos(r) * 24, 32 + math.sin(r) * 24), (32 + math.cos(r) * 31, 32 + math.sin(r) * 31)], W - 4) +def parallel(d): + # a track and a second one beside it, with the spacing between them + for x in (8, 22): + line(d, [(x, 60), (x, 4)], W - 6) + for x in (42, 56): + dashed(d, (x, 60), (x, 4), 8, 6, W - 6) + line(d, [(26, 32), (38, 32)], W - 8) + arrowhead(d, 40, 32, 0, 10) + + +def more(d): + for x in (12, 32, 52): + circle(d, x, 32, 6) + + # the fields of work of the editor, in the row over the toolbar @@ -366,7 +381,7 @@ def work_terrain(d): ICONS = [select, insert, brush, area_fill, copy_to_bank, translate, rotate, scale, local_space, ortho, perspective, sculpt, smooth, chunks, orthophoto, road, place, lanes, lay_track, switch, straight, curve, signal, objects, - vehicle, profile, speed, joints, infra, gauge, turntable, work_surroundings, + vehicle, profile, speed, joints, infra, gauge, turntable, parallel, more, work_surroundings, work_tracks, work_roads, work_terrain] diff --git a/lang/editor_pl.po b/lang/editor_pl.po index 00b87ee8..841b91cd 100644 --- a/lang/editor_pl.po +++ b/lang/editor_pl.po @@ -5634,3 +5634,60 @@ msgstr "Shift+LPM na torze w L" msgid "Choose it for a parallel track" msgstr "Wybiera go pod tor równoległy" + +msgid "A second track beside a straight: LMB on the straight, then the side and the spacing" +msgstr "Drugi tor obok prostej: LPM na prostej, potem strona i rozstaw" + +msgid "Parallel track: LMB on a straight" +msgstr "Tor równoległy: LPM na prostej" + +msgid "Parallel track: the side and the spacing in the panel, then Lay" +msgstr "Tor równoległy: strona i rozstaw w panelu, potem Ułóż" + +msgid "LMB on a straight" +msgstr "LPM na prostej" + +msgid "the track the new one goes beside, green in the view" +msgstr "tor, obok którego pójdzie nowy, zielony w widoku" + +msgid "Click: the straight the new track goes beside" +msgstr "Klik: prosta, obok której pójdzie nowy tor" + +msgid "More" +msgstr "Więcej" + +msgid "Less" +msgstr "Mniej" + +msgid "The tools that correct a line already laid: straight, curve, profile, speed, joints, infrastructure, structure gauge" +msgstr "Narzędzia do poprawiania ułożonej linii: prosta, łuk, profil, prędkość, styki, infrastruktura, skrajnia" + +msgid "Norms:" +msgstr "Normy:" + +msgid "Plain arcs with no transition curves and no cant, no warnings about the norms: the track goes where it's clicked" +msgstr "Zwykłe łuki bez krzywych przejściowych i przechyłki, bez ostrzeżeń o normach: tor idzie tam, gdzie klikniesz" + +msgid "Transition curves and cant for the design speed, warnings when the radius, the cant or the transitions don't meet the norms" +msgstr "Krzywe przejściowe i przechyłka dla prędkości projektowej, ostrzeżenia, gdy promień, przechyłka albo przejściówki nie spełniają norm" + +msgid "Drag to change, Ctrl+click to type the value. While laying: Ctrl+wheel" +msgstr "Przeciągnij, by zmienić, Ctrl+klik, by wpisać. W trakcie układania: Ctrl+kółko" + +msgid "Speed limit of the new paths; the speed of the track joined comes first" +msgstr "Ograniczenie prędkości nowych odcinków; pierwszeństwo ma prędkość dołączanego toru" + +msgid "Drive it: Vehicle in the toolbar, pick a locomotive from the list, LMB on the track, then Place and drive" +msgstr "Przejedź się: Pojazd na pasku narzędzi, wybierz lokomotywę z listy, LPM na torze, potem Postaw i jedź" + +msgid "the Parallel tool (N) with it" +msgstr "narzędzie Równoległy (N) z nią" + +msgid "Parallel track: LMB on a straight, then the side and the spacing" +msgstr "Tor równoległy: LPM na prostej, potem strona i rozstaw" + +msgid "The Parallel tool (N) with it" +msgstr "Narzędzie Równoległy (N) z tym torem" + +msgid "Click: the Parallel tool (N) with this track" +msgstr "Klik: narzędzie Równoległy (N) z tym torem"