17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-17 13:19:20 +02:00
Commit Graph

41 Commits

Author SHA1 Message Date
maj00r
b466755a0f feat(editor): single slip (Rkp 1:9 R190/R300) joining the pair of tracks on the side of the click, and crossing (Skrz 1:9, 1:12) of two straights, placed as the double slip is, at a crossing of two straights, and kept in the scenery as //$r records with their parts; the list of the slip switches and crossings; Polish translation 2026-10-11 21:33:27 +02:00
maj00r
0bfb8a4e7c feat(editor): switches kept in the scenery as //$r lines: type (Rz, arc Rlj/Rld, slip Rkpd), rail, R, 1:n, side, a, b, R of the main track, the parts of a slip, km and number, catalogue or measured; recorded as they are placed on a straight, in a curve (one-sided when diverging to the side the curve turns to), as a double slip, and when their geometry is replaced or flipped; the switch panel shows the kept type and the R of the diverging track bent with the main one, with the number, rail and km to edit (km from the kept horizontal alignment); the speed check of a diverging track takes its R from the kept type; records follow renamed switches and go with removed ones on save; editor records stay out of the terrain files (.txtf), and those written there by hand go with them into .btf; the side of the diverging track shown as seen; self-test commands for placing switches, the kept switches and the .btf conversion; Polish translation 2026-10-11 21:33:27 +02:00
maj00r
572daeb274 feat(editor): the horizontal alignment designed in the route design kept in the scenery as //$h lines: its vertices and the elements they make (straight, transition, arc, with the radius at the start and the end and the cant), so the paths laid by it are known again without guessing from their curvature; a curve read from the paths takes the radius, the transitions, the cant and the compound arcs of the kept design when its paths lie on it within 2 cm, the other way round too; the whole line design taken back when the fragment has its ends; a curve redesigned alone taken into the line it belongs to; km of the start kept with the design and carried on to the vertical profile of the same paths; paths which no longer follow the kept design shown in the route window, with the kept design to take or to forget; self-test commands for the route design and the kept alignments; Polish translation 2026-10-11 21:33:27 +02:00
maj00r
c722e4e419 fix(editor): the gizmo keeps the diverging path of a switch on the surface of its main path
The diverging path p3-p4 takes its heights, grades at the ends and cant from the main path p1-p2 (the cone of
its cant) after every gizmo change: grade and cant rings, moving an end and editing a control vector. The tracks
joined to it follow its ends and grades. The grade ring measures along the main path and the gizmo stands in its
middle; the start vector of the diverging path slides along the main one and turns with it.
2026-10-11 21:33:27 +02:00
maj00r
a756beb34b feat(editor): track gizmo rings along the track: direction, grade and cant
The rotate gizmo stands along the track. The cross ring changes the grade about the middle or the selected
end, the joined tracks take the grade at the joints; the ring along the track changes the cant of the track
or of the selected end, the joined tracks take it at the joints and ramp it. On a control vector the cross
ring tilts it up or down. Ctrl steps by 5 degrees, 1 per mille, 5 mm.
2026-10-11 21:33:27 +02:00
maj00r
89678ead3e feat(editor): track gizmo turns, lengthens and edits the control vectors, joined tracks keep the tangent
W turns the track (about its middle or the selected end) and a selection of tracks, the joined tracks follow.
E lengthens the track at its free end: a straight stays straight, an arc keeps its radius, cant and grade.
The gizmo on a control point moves, turns or lengthens the vector; the control point of the track joined
there turns with it, at a switch the vector only slides along the switch. Straight neighbours dragged along
keep their tangents and become straight again when nothing bent them.
2026-10-11 21:33:27 +02:00
9935257783 Add nosonar tags 2026-10-09 18:40:31 +02:00
maj00r
a5ade3258f fix(editor): a curve with a switch in it read as one curve through the main track of the switch, the switch placed into a curve on the part around the click; the diverging path of a switch placed into a canted curve lies on the conical surface of the cant along its whole length, not only at its ends; platforms by a switch keep the cant of the track for their height, the gauge of the other path only sets them back 2026-10-08 01:39:35 +02:00
maj00r
ca208b3ed1 fix(editor): a long arc of a larger radius kept as a part of a compound curve, only short arcs of growing radius taken for the transition curve of an old scenery 2026-10-08 00:51:29 +02:00
maj00r
24923dd472 feat(editor): track editor driven by what the cursor is over: the outline and a label show what a click or a drag does, snapping to free ends on the screen, handles and ends dragged directly, no rotation gizmo; laying from a free end the same in every mode, straight with Shift, the curve of a switch going on past its diverging end; height 0 where there's no terrain; placed switch leaves the switch mode, double slips listed apart, a drive of the switch placed with it by the //$e switch description of its template; compound curves of any number of radii; dragged end of a straight fits the curve beside it; name of a path, followed by the memory cells and the includes taking it; turntable placed from a template described as one, tracks led out of it and the tracks around fitted to it, its positions written to the include; infrastructure bound to the path whose events read its memory cell; terrain made where the route has none and shaped to the formation under the ballast; models along the track over the selected path and on along the joined ones while dragged, rarely used settings folded; vehicles and trainsets placed on any path, switches included, facing the way the arrow shows; joined paths spread into the selection; New scenery in the File menu starts the editor again with the wizard; ortho zoom towards the cursor; scripted self tests; Polish translation 2026-10-06 22:19:54 +02:00
maj00r
b07050fa52 feat(tracks): switches keep their neighbours joined on replacing, flipping and moving; events copied on splitting; circuits, overhead line, sleepers and events of the paths; curve design through the switches of a line; changes in files included more than once or with parameters reported instead of written; split of a straight at the point found, not a share of its length 2026-10-05 01:21:11 +02:00
012ffc7470 Merge branch 'feat/modern-editor' of https://github.com/MaSzyna-EU07/maszyna into feat/modern-editor 2026-10-04 21:58:19 +02:00
maj00r
9bd8226c51 Fix the GCC 13 and MSVC builds: no brace-initialised reference from reference_wrapper, no near/far names 2026-10-04 02:49:05 +02:00
maj00r
b0c363b586 feat: structure gauge along the line of the selected path in the OpenGL view 2026-10-04 01:27:41 +02:00
maj00r
9cd0f0b1a7 refactor(editor): shared writers of the path definitions 2026-10-04 00:39:30 +02:00
maj00r
c85a52d5b1 refactor(editor): track observer instead of the function hooks 2026-10-04 00:37:26 +02:00
maj00r
7b8d809078 refactor(editor): drop unused editor state and vertical leftovers of the route design 2026-10-04 00:35:40 +02:00
maj00r
e5c91d8a1a refactor(editor): shared plan geometry and formatting helpers 2026-10-04 00:33:44 +02:00
maj00r
8778353b22 feat(editor): infrastructure bound to the paths follows their changes 2026-10-04 00:14:03 +02:00
maj00r
7371b18910 feat(editor): vertical profile editor, grade lines kept in the scenery 2026-10-04 00:14:03 +02:00
maj00r
cdd5c242d1 feat(editor): curves take over the adjoining straights 2026-10-04 00:14:03 +02:00
2f417fddcc feat(roads): road node with generated lanes, surface and markings 2026-10-03 17:35:08 +02:00
maj00r
676bf39136 feat(editor): track editor saves changed paths to scenery 2026-10-03 02:41:35 +02:00
maj00r
7825b92190 feat(editor): add R500 double slip 2026-10-03 02:41:35 +02:00
maj00r
4d060f166e feat(editor): add R300 double slip 2026-10-03 02:41:34 +02:00
maj00r
55fd0c74bd feat(editor): insert double slip at crossing 2026-10-03 02:41:34 +02:00
maj00r
a9e63e9496 fix(editor): fix: zero-vector curves detection 2026-10-03 02:41:34 +02:00
maj00r
de5f2069f7 feat(editor): dragging straight refits neighbor curves 2026-10-03 02:41:34 +02:00
maj00r
bf24c3983a feat(editor): no sub-metre straights, switches snap, K splits path 2026-10-03 02:41:34 +02:00
maj00r
8a50d352fb feat(editor): shift with 4 points, single path curves, undo 2026-10-03 02:41:34 +02:00
maj00r
a5955f322e feat(editor): context editor for geometry, paths behind switches, switch textures 2026-10-03 02:41:34 +02:00
maj00r
40422aec30 feat(editor): compound curves with dual radii and transition 2026-10-03 02:41:34 +02:00
maj00r
1985758a86 feat(editor): insert switches by dragging, paths from free ends 2026-10-03 02:41:34 +02:00
maj00r
32798a32bb feat(editor): switch templates, auto distances with snapping 2026-10-03 02:41:34 +02:00
maj00r
a392364f06 feat(editor): curves over 180°, click to load curve 2026-10-03 02:41:34 +02:00
maj00r
b986cc8990 feat(editor): move straights keeping parallel 2026-10-03 02:41:34 +02:00
maj00r
9198840d0f feat(editor): straights include switches, drag to edit 2026-10-03 02:41:34 +02:00
maj00r
b19f3de0d4 feat(editor): recognize collinear straights, measure 2026-10-03 02:41:34 +02:00
maj00r
7ede96df5f chore(editor): cleanup comments 2026-10-03 02:41:34 +02:00
maj00r
8f2a34b3cf feat(editor): route design with curves and transitions 2026-10-03 02:41:34 +02:00
maj00r
b93c5dde60 feat(editor): edit tracks loaded from the scenery 2026-10-03 02:41:34 +02:00