17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-11-02 01:09:13 +01:00
Commit Graph

3800 Commits

Author SHA1 Message Date
maj00r
a811486b53 fix(editor): the pin of the signal under the mouse in the list of the signal heads stands over its name, clear of its lamps; the routes name the switches they turn off the straight at, a plural for several, and the Polish of the tooltip reads plainer 2026-10-22 17:55:05 +02:00
maj00r
cbbf373aab fix(editor): the templates of the signals swapped or placed without a track changed are a step of the history of their own: they went into the step before, the block signals set say, undone with it, and the SRK tool, missing a new step, kept showing the lights as they were 2026-10-22 17:55:05 +02:00
f4f8c75e49 fix(ai): orders of road junctions and level crossings measured along the lane they lie on, so they aren't misplaced on short lanes 2026-10-22 17:16:33 +02:00
29f624024f feat(ui): memory cells section in the debug panel, to look up and set them while the simulation runs 2026-10-22 16:42:56 +02:00
1cc1ba27d2 fix(roads): an axle getting on a crossroads takes the way the other axle took, one starting where it gets on 2026-10-22 16:22:49 +02:00
maj00r
92552b49cd feat(editor): the SRK tool checks the lights of the signals against the routes of their trains: the speed of each route through the switches by the radius of their curves and the speed set on them, 40, 60 or 100 km/h, a lower orange light for these with an orange strip for 60 and a green one for 100 as Ie-1 gives them, an upper orange one where the next signal can show stop, the white one of the substitute signal; a signal telling of the next one nearer than the braking distance slows the trains with it at stop, Ie-4 § 8 ust. 5, a W21 for 140. The templates read for the speeds their events show; the signals set get the template of the kind with these lights and the least beyond them, the standing ones fitted so in one step of undo, the template swapped with the name, the plate and the read event kept, a variant leaning the other way only with the same speeds. The braking distance shown with the speed of the main tracks it follows, set by hand in the record of the station and used for the block sections too; the warning discs and the block sections nearer than it marked, the signals that don't fit marked in the schematic and the scenery 2026-10-22 16:07:04 +02:00
maj00r
ad0a7e7d62 fix(editor): the records of the stations, the switches, the alignments and the kilometrage stay out of a _ter.scm too, as out of a .txtf: with the .sbt of the scenery the file loads as terrain, isn't written back and the changes kept there were lost 2026-10-22 16:06:37 +02:00
maj00r
2452c1cd0d fix(editor): the tools see each change of the history by a revision of it, not by its size, which stood still once the oldest steps were dropped at the limit of 200 and came back to the same after an undo and another change: the SRK schematic, the lineside lists, the gauge, the joints, the speeds and the parallel track missed them 2026-10-22 16:06:25 +02:00
maj00r
43346b61e7 feat(editor): the SRK tool measures the station tracks: the construction length and the useful one each way, as the rozporządzenie on the railway structures (Dz.U. 2026 poz. 1225) § 2 defines it, from the signal the trains stop by back to the joint, the fouling point or the level crossing behind them, between those where no signal stands; the switches within a track part it into stretches. A list in the panel with the longest train, the two ways marked where they differ, the track under the mouse or selected drawn in the schematic and the scenery, the list copied as a table 2026-10-22 15:24:02 +02:00
maj00r
1f8a477ec4 fix(editor): the exit signals of a station track stand at the ends of its longest circuit, for the longest useful length both ways as Ie-4 § 13 ust. 8 wants, not at the outer ends of the outermost long circuits, which left the trains of one way a short stretch beyond a switch within the track 2026-10-22 15:24:02 +02:00
maj00r
a217c9ba75 fix(editor): the hectometre posts write the km at the point on a line of its own under the kilometrage of the line, the wrapped text broke the number at its comma 2026-10-22 14:42:42 +02:00
maj00r
192dfd2035 feat(editor): the signalling mode takes the km of the station and of the block signals from the kilometrage of the line where the Kilometrage tool sets it, jumps included, the way the km rise from its axis, the line of each line out at a junction too, the station of a line set there without typing its number 2026-10-22 14:33:18 +02:00
maj00r
435b80eb55 feat(editor): the hectometre posts go by the kilometrage of the line where the Kilometrage tool sets it, its jumps too, a post at a jump of the km on from it or of the km it is reached at, the km given at the point still there as a choice; the posts standing go with the place of their number nearest to them 2026-10-22 14:33:18 +02:00
maj00r
7cc8e5bb9a feat(editor): the kilometrage tool leads a line through a station along the tracks chosen, the straight paths of the switches by default, from the track chosen on along them until the line meets its tracks again or on and away at a junction, kept as //$k via lines; a track beside that comes back onto the line between the stretches it runs beside it or both ways is a track of a station, not the other track of a double-track line 2026-10-22 14:16:42 +02:00
maj00r
5ecb6ebe00 feat(editor): the kilometrage tool sets the km of the railway lines, points where the km is known and jumps of the km, the rest along the axis of the line, between the tracks of a double-track one and along the longer track where they run apart, kept in the scenery as //$k lines
The track mode Kilometrage (X, under More) puts a point of the km where a track is clicked: the line, the km and, at a jump,
the km on from it. The axis of a line follows the main paths of the switches through the tracks of its points; on a
double-track line it runs between the tracks, and where they part on formations of their own and come together again it
runs along the longer one, the shorter one going by its own length with its last hectometre before they meet taking up
the difference (PKP GK-1 6.1.12). The km between the points are stretched to the length of the scenery evenly; the panel
lists the points with the stretch, the 3D view shows the axis, a tick at each hectometre, the points with their km and
the km of the lines by the mouse. Read the km from the posts turns the hectometre posts along the line into the points
of its km, a jump where two runs of numbers meet, and warns of a jump on a curve or at a station (Id-1 § 19). Each change
is a step of undo.
2026-10-22 13:27:37 +02:00
maj00r
8fde4dc843 fix(editor): the readout of a straight dragged beside another one writes the arrow as ->, the font of the interface has no arrows and showed a question mark 2026-10-22 13:27:29 +02:00
maj00r
f287ecf840 fix(editor): the signalling mode places the joints and the signals as Ie-4 gives them, a branch joint 4.2 m beyond the fouling point, the joint a main signal drops at 15 m beyond it, the block sections no shorter than the braking distance of the line and the warning discs that far out
The block signals are numbered after the nearest hectometre of their parity ahead of them, and two signals no longer take one spot between the tracks.
2026-10-22 12:34:53 +02:00
maj00r
2b40a36173 feat(editor): the switch numbering of the signalling mode renames the switch in the objects of the scenery naming it, as the lanterns of the switches 2026-10-22 12:13:22 +02:00
maj00r
46e665c468 feat(editor): the signalling mode sets the signals of the lines out of a station, the automatic block signals and the block sections to the next station on a double-track line, a warning disc before the entry signal on a single-track one
The station keeps its km and the direction of its numbering in its record. The block signals are named after their km, odd on track 1 and even on track 2, the sections after the signals at their ends, and each signal gets the control of its section.
2026-10-22 12:13:22 +02:00
maj00r
e230544987 feat(editor): the signalling mode names the signals in the scenery above their lamps, the names shown within 700 m only, and draws the track circuits wider in the top view 2026-10-22 11:40:38 +02:00
maj00r
c50d412bc4 feat(editor): the signalling mode shows the track circuits in the scenery, the tracks in their colours, a bar across them with a post at each joint and the names of the station tracks 2026-10-22 11:21:59 +02:00
maj00r
8f8a1518b7 feat(editor): the signalling mode places the signals of a station and names them as PKP PLK does, the entry ones out on the lines with the circuits before them, the exit ones at the ends of the station tracks, the shunting ones at the shorter tracks, and renames the signals standing in their places 2026-10-22 11:07:58 +02:00
maj00r
21d7a0e94a fix(editor): a track with its track circuits changed is marked for the save, the circuits the signalling mode set without cutting the track were lost from the saved scenery 2026-10-22 11:07:58 +02:00
maj00r
f5d2ae7569 feat(editor): the signalling mode numbers a station track as a whole through the switches along it, keeps the numbers the tracks have when set again, renumbers the selected track and labels the schematic without one label over another 2026-10-22 10:41:11 +02:00
maj00r
c8f3039a8c feat(editor): the signalling mode cuts a station at the joints of its track circuits and names them, a circuit for each switch and one for each stretch of a station track, the tracks numbered as PKP PLK does 2026-10-22 08:16:39 +02:00
maj00r
5044beb380 feat(editor): the signalling mode numbers the switches of a station along it and names them after its code, the drives and the switch records follow, and an undo of names passed round among the tracks leaves the drives right 2026-10-22 07:50:59 +02:00
maj00r
8c5795348f feat(editor): the signalling mode finds the station of a switch, lays it out as a schematic along its main track and keeps its name, code and line in the scenery 2026-10-22 07:35:31 +02:00
maj00r
7fb9d2d458 fix(editor): the whole-scenery grade fit takes spans a few metres apart for one bridge, leaves the culverts on the embankment and ends a bridge at a joint by its abutment
Bridged stretches less than 5 m apart are merged into one bridge on its piers, and those shorter than 3 m, a ditch or a
culvert under the embankment, are no bridge. A bridge end within 1 m of a joint of the route or a break of the line moves to
it, so the cut leaves no sliver of a path by the abutment. Against the OpenStreetMap railway bridges the marked share stays
the same (lk91 60 of 66, TG 90 of 104); the places with nothing under them in the map fall from 6 to 4 on lk91 and from 18
to 12 on TG, and the bridge paths shorter than 1 m from 9 to 0 and from 11 to 1.
2026-10-22 05:56:05 +02:00
maj00r
0d9fa6337d feat(editor): the whole-scenery grade fit sets the tracks over a bridge or a viaduct to the bridge environment
Where the terrain model falls away under a fitted line by the abutments, the paths are cut off at the ends of the stretch as the line is applied and set to the bridge, in the same step of the history: they sound as on a bridge, get no formation and the terrain under them stays as the model has it, also after the scenery is saved and opened again. Tunnels and tracks set to the bridge already are left as they are. The status says how many paths went on a bridge.
2026-10-22 02:45:19 +02:00
maj00r
f361bc406b feat(editor): the whole-scenery grade fit keeps the tracks a station shares at one height, lets the switches lie on the vertical curves the regulation allows, runs straight through the double slips and leaves the bridges out of the faults
A switch may lie on a concave vertical curve, and on a convex one no sharper than 2000 m (Dz.U. 2026 poz. 1225 § 58 ust. 16): the fit bends over the switches and their shared timbers where the ground does, a curve on a switch is a warning, and only a sharper convex one an error. A sharp crest of a hump keeps its curve off the switch zones. The zone of a crossing reaches only as far as the path crossed has rails, so the middle of a double slip keeps to itself.

A line runs through a switch along its main path, and through the quarters of a double slip straight on, so the long lines go through the slips and the connections between them are fitted after. Rails of the lines fitted already nearer than a sleeper is long are taken at their height, as both lie on the same timbers. A short line between two lines whose end grades can't be joined within the norms keeps only the heights of its ends, and the grade breaks at the joints. The norms speed of a line is the one most of its length is laid for, so a few tracks set much faster don't stiffen the curves of all of it.

The fault finder leaves out the places over the terrain model on a bridge or a viaduct, the ground falling away under them by the abutments. A formation modifier may be open at its start or end.
2026-10-22 01:48:04 +02:00
c7f4790aa9 fix(track): the blending at the joints exactly as long as set, however far apart the vertices 2026-10-22 00:29:00 +02:00
c17d77fe6c fix(track): a blending length of 0 on either side keeps the joint sharp 2026-10-22 00:11:26 +02:00
173fe2ec3c feat(editor): ballast and rails blending lengths apart, as sliders 2026-10-21 23:51:43 +02:00
925f5910bb refactor(track): the ballast fades into that of the tracks joined, as the rails do 2026-10-21 23:36:03 +02:00
b8eb5c71a1 feat(track): parallax track materials blended at the joints 2026-10-21 23:25:40 +02:00
674abfeeab fix(track): seasonal and specgloss track materials blended at the joints 2026-10-21 23:15:29 +02:00
283b8523e6 feat(track): normal mapped track materials blended at the joints too 2026-10-21 23:04:53 +02:00
6b87fe43b3 chore(track): log why a material isn't blended at the joints of the tracks 2026-10-21 22:52:59 +02:00
c5a894a674 feat(track): rails and ballast blended into those of the tracks joined, where their textures differ 2026-10-21 22:34:57 +02:00
407a555803 fix(track): 3D sleepers of a track's own sleeper model at the height it was fitted to 2026-10-21 22:01:30 +02:00
2d7942786d feat(track): each 3D sleeper at the level of detail of its own distance 2026-10-21 21:48:17 +02:00
maj00r
66a940d4f5 Merge pull request #220 from MaSzyna-EU07/fix/python-worker-shutdown-crash
fix(python): stop python workers before destroying windows on exit
2026-10-21 21:45:46 +02:00
maj00r
04af7d5758 fix(python): stop python workers before destroying windows on exit build-fix-python-worker-shutdown-crash 2026-10-21 21:23:29 +02:00
maj00r
9fedbaf6a8 feat(editor): the design speed the norms lay for is shown by the cursor with the track it comes from, and can be the one set for the laying
Laid to the norms, the readout says the design speed of the transition curves and of the cant: that of the track the laying goes on from or joins, or the one set for the laying. A new option takes the set speed also on from a track with its own, the new tracks get it; Ctrl+Shift+wheel steps it while laying and turns the option on. The panel shows the speed the laying under way is designed for.
2026-10-21 20:28:34 +02:00
maj00r
415c7484ec feat(editor): laid to the norms, a track laid on from an end gets its transition curves, into the arc, between the arcs of a compound curve and out to the straight
A track laid on from a free end in the PKP PLK laying, by a drag out of the end, by clicks from it or laid back onto it, starts from the curvature and the cant the end has. An arc turning the same way as the end is a compound curve: a transition of the norms ramps the curvature and the cant from the one arc into the other. From a straight the arc gets its entry transition, the arc then straight its exit one. Where the way is too short the transitions are cut and the cant lowered to what they ramp, and the readout says so; with no room at all the track is laid as before and the note says why. The curves traced on the orthophoto and the recommended values of a compound curve get the transitions between their arcs too. The free laying stays as it was.
2026-10-21 19:51:56 +02:00
12c2aaf1db chore: remove the NVRHI-based betterRenderer 2026-10-21 19:30:32 +02:00
maj00r
5764b328be feat(editor): a curve of the plan traced on the orthophoto, the points clicked along the track give its radius or the radii and the shares of a compound curve 2026-10-21 18:54:14 +02:00
maj00r
21595ba010 feat(editor): the tracks are laid to the PKP PLK norms unless the free laying is chosen, asked as the laying starts
The free laying isn't the default any more. The first time a session opens the laying or the plan, a window asks how the
new tracks are laid, with the two cards of the panels (the norms marked as chosen); a click on one of them takes it and
closes the window, which comes before the offer of the terrain model of a new scenery. "Remember the choice, don't ask
again" keeps it in eu07_editor.ini (track_norms ask, free or plk), and a choice kept follows a later click on the cards of
the panels; the settings of the editor (General) choose between asking and either way. The self-test scripts start with the
free laying, as they were written for it.
2026-10-21 18:23:49 +02:00
9c2520ea52 fix(track): 3D sleepers let go of the beams of the tracks far away 2026-10-21 18:19:21 +02:00
maj00r
79642a95c7 feat(editor): a measuring tape in the track mode, M: the distance, the difference of height, the grade and the azimuth between two clicks
M in any tab of the track mode turns the tape on: a click puts its start, the next one its end, at a free end, on the axis
of the track under the cursor or else on the ground. The readout at the cursor gives the distance in plan and in space,
the difference of height and the grade between them and the azimuth, while the second point follows the cursor and once
it's put; a further click starts a new measure, M or Esc puts the tape away. Self-test command tape.
2026-10-21 17:57:05 +02:00