17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-31 20:29:04 +01:00
Commit Graph

31 Commits

Author SHA1 Message Date
maj00r
4512ed4e0b fix(editor): guard the places where the editor could crash outright
Found with an address and undefined behaviour sanitizer build, random
monkey sessions on the test sceneries and broken inputs:

- A deleted model left its pointer in the pick list of the renderer, the
  bound node of the panels, the bindings of the infrastructure and the
  selection: the next pick or panel frame read freed memory. The renderer
  forgets it, and one erase_model does the cleaning for all the places
  which deleted a model by hand.
- The plan band of a route read the vertex before the first one in the
  frame a drag was let go.
- A scenery which can't be opened goes back to the launcher with the
  reason in the log, a track of an unknown type or a tributary loads as
  a normal track or a river with a message, and a spline with no finite
  length or step gets a sane number of segments.
- Typed numbers which aren't (NaN, inf, ends 0 m or 1000 km apart, a
  vector of 1e30, a diverging track part of 5 km, a curve threshold of 0,
  a zero history size, radius norms below zero) are refused or clamped,
  where they made the geometry run away or divide by zero.
- Folders which can't be read and file names which aren't valid in the
  locale no longer throw out of the scans of sceneries, textures, sweeps,
  roads and signal plates; the scans skip them.
- The launcher: Ctrl+Del with no trainset selected, a dropped vehicle
  whose skin is gone and a text with a percent sign.
- A terrain mesh made for another resolution of its chunk isn't put into
  the chunk, and a slot is reused only for a mesh of the same size.
- Vehicles on a track changed by the editor are moved over a copy of the
  list they leave.
- The table of the keyboard shortcuts gives its stretched column a
  weight, else ImGui divides 0 by 0 in the first frame of the window.
2026-10-21 08:42:29 +02:00
344034ec70 feat(ui): imgui 1.91.9b-docking in place of 1.73: local changes of the backends carried over (glad as the gl loader, srgb and gamma of the ui, gles glsl string), BufferingBar/Spinner kept, imgui_tables in cmake; cursor position, cursor enter and focus of the main window passed to the glfw backend, which works with events now; code adapted to the api: ImGuiListClipper::Begin, BeginListBox, ImTextureID as an integer, ImageButton with an id, ImGuiKey without GetKeyIndex, logarithmic sliders in place of the removed power argument; ImGuizmo with the math operators defined before imgui.h and SetNextFrameWantCaptureMouse 2026-10-08 20:38:13 +02:00
917c8f7285 Merge branch 'master' into feat/modern-editor 2026-10-08 17:44:58 +02:00
maj00r
978b99b7e5 feat(scenery): models laid along curves (sweep nodes), bent to follow the paths or repeated along them, loaded and saved with the scenery; trainsets put on a path while the simulation runs; trainset turned around by reversed after its header: the first vehicle stays at the offset and leads towards point 1, the rest stands behind it; launcher keeps reversed trainsets and can turn one around; memory cells saved with the new name of the path they name; events tell their targets and the events of a multiple event; renderer tells whether the cursor is over a surface; vehicle placed in the editor entered when the driving goes on 2026-10-06 22:19:32 +02:00
jerrrrycho
79bd0c8e91 fix(sonar): addressing reliability/security issues (#202) 2026-10-04 20:00:13 +02:00
jerrrrycho
176427f96b refactor: sonar c++20 changes (#185) 2026-09-28 21:08:15 +02:00
jerrrrycho
d85096f64d reformat: remove redundant parentheses 2026-06-30 21:19:46 +02:00
docentYT
e95e00a2e2 Use texture id casting recommended by ImGui wiki 2026-05-12 18:04:50 +02:00
copilot-swe-agent[bot]
7e49aa8740 Rewrite #includes to use explicit subdirectory paths
Co-authored-by: Hirek193 <23196899+Hirek193@users.noreply.github.com>
2026-03-14 19:16:48 +00:00
Ryba04
33ad7b718f Merge branch 'master' into master 2025-09-13 19:46:26 +02:00
jakubg1
c217081823 Launcher improvements
Launcher windows are more Starter-like now:
- The scenery picker, vehicle list and keymapper buttons are now tied to the top portion of the screen.
- The current window is spanning the entire rest of the screen.
- Scenarios are now grouped into categories in the exact same way as Starter does.
- Some drawbacks include:
  - Currently you cannot edit the current trainset, as the vehicle picker window overwrites the scenario list window.
  - The GUI doesn't update when the screen resolution is changed.
2025-09-09 16:40:04 +02:00
jakubg1
c83c123596 Add scenery category detection, launcher category list parity with Starter 2025-09-04 18:01:48 +02:00
Jano211
0e08086937 Fix for writing useless log informations 2025-03-16 13:44:36 +01:00
Jano211
797045e8ae Changes in camera shaking, and others:
clatter sounds, csm stage boundaries, particles physics and hiding log panel when in launcher mode.
2025-03-16 13:44:07 +01:00
WLs50
a5f6397eca merge manul 2025-03-09 15:36:11 +01:00
milek7
b01c19308c fix scenery_list crashes when missing vehicles 2023-05-28 21:25:05 +02:00
milek7
286f31b75c bugfixes 2020-10-23 01:23:48 +02:00
milek7
29f8f91ad8 Merge remote-tracking branch 'tmj/master' into sim 2020-10-18 23:35:14 +02:00
milek7
1dc1bd5fcb pre-merge renames 2020-09-30 18:27:43 +02:00
milek7
45142cb826 launcher tweaks 2019-09-22 14:03:49 +02:00
milek7
d0d7fa6738 launcher changes 2019-09-21 23:25:48 +02:00
milek7
f7ac7cc581 launcher link start fix, assume scn files in win1250 2019-09-01 17:41:23 +02:00
milek7
30df10a58e further WIP on launcher 2019-08-29 00:10:30 +02:00
milek7
89919fc44d use explicit string() in filesystem::path 2019-08-26 12:57:35 +02:00
milek7
555d69b835 further WIP on launcher 2019-08-25 00:41:03 +02:00
milek7
aa9bee57da further WIP on launcher 2019-08-24 01:28:55 +02:00
milek7
2bcdb36df1 further work on launcher 2019-08-21 17:18:39 +02:00
milek7
bd850655a9 scenery parser work 2019-08-10 22:52:23 +02:00
milek7
1626864bfe cleanup 2019-08-09 00:45:38 +02:00
milek7
d95986745c add missing replace_slashes in node triangles deserializer, vehicle picker changes, explicit filesystem::path to string conversion 2019-07-31 21:43:58 +02:00
milek7
ee65ca77e3 add missing files 2019-07-31 17:22:13 +02:00