17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-24 21:27:37 +02:00
Commit Graph

3581 Commits

Author SHA1 Message Date
0aa1e2d4b6 perf(debug): forces and update of the vehicles by kind in the debug panel: rail and road, within 1 km of the camera and farther, with the counts of vehicles and of the ones standing still 2026-10-23 17:54:05 +02:00
5a53c32b0a perf(debug): forces and update of the vehicles by kind in the debug panel: rail and road, within 1 km of the camera and farther, with the counts of vehicles and of the ones standing still 2026-10-23 17:51:15 +02:00
52df707f30 perf(debug): parts of the vehicle update in the debug panel: scenery animations, power grid, roads, preparation, forces, vehicle update and ai, with the counts of vehicles and physics steps; input and the start of the ui frame timed apart 2026-10-23 17:26:44 +02:00
fc714d50ec perf(debug): cpu timers of the simulation and the main loop, cpu time of the frame parts next to the gpu, renderer data of the debug panel in folding sections 2026-10-22 20:54:30 +02:00
5d3f857c39 perf(gl46): leave out instance buckets before the culling, lod bounds once per model, shared walks of the shadow cascades 2026-10-22 20:13:25 +02:00
b343e98e22 fix(roads): a level crossing watches the rails within its warning distance measured from where it is, however long the track through it 2026-10-22 18:42:36 +02:00
8fbf056749 fix(ai): a road order holding the vehicle keeps the road orders past it from telling the vehicle to drive on 2026-10-22 18:01:04 +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
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
12c2aaf1db chore: remove the NVRHI-based betterRenderer 2026-10-21 19:30:32 +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
83c8c23c80 feat(editor): presets of the track properties, applied on the selected tracks 2026-10-21 16:09:05 +02:00
16c77ab6fb feat(editor): texture of the rails of path 2 of a switch set apart 2026-10-21 15:50:00 +02:00
30cb83584d fix(track): timbermodel of a track lays switch timbers without sleepers3d in eu07.ini 2026-10-21 15:37:11 +02:00
3c890e4eb9 Make the default material matte 2026-10-21 15:03:14 +02:00
ae3e063df0 Add a list of the terrain chunks to the editor 2026-10-21 13:15:44 +02:00
7d0f76aaa9 Make the material shaders physically based 2026-10-20 18:39:31 +02:00
cf36b24e8d Let the smoke leave the exhaust as a widening jet that fades in 2026-10-20 18:00:51 +02:00
abbdca4773 Let the templates of smoke sources set how fast their particles rise or fall 2026-10-20 17:12:23 +02:00
867497b658 Simulate and light the smoke on the GPU and make rain and snow of particles 2026-10-20 16:44:27 +02:00
6a109e984c perf(gl46): skip shapes out of the pass frustum and the motion blur when nothing moves 2026-10-20 15:23:03 +02:00
dfbe8a6d9e feat(gl46): leave out instance buckets beyond their range before the culling 2026-10-20 14:57:30 +02:00
07ac7406a0 feat(terrain): grass follows the seasons and fades out over gfx.grass.fadedistance 2026-10-20 02:20:03 +02:00
ceb439b218 Fix windows build 2026-10-20 01:38:33 +02:00
f3bdadad66 feat(terrain): holes cut in the heightmap terrain and shader grass painted over it 2026-10-20 01:32:01 +02:00
d7ba6926fc Enable rail crossings and sleepers 2026-10-19 22:17:09 +02:00
34f206fefc to de9f61b307 2026-10-19 22:14:04 +02:00
de9f61b307 Merge remote-tracking branch 'origin/feat/switch-blades' into feat/gl46-migration 2026-10-19 22:13:43 +02:00
maj00r
33892c1936 fix(editor): a touchpad swipe going on past the edge of the window no longer throws the camera away
With the cursor out of the window ImGui has no place for it, and the ray
under it came out as NaN: the zoom put the camera there for good and the
next look at the ground under the cursor aborted. The wheel is left
alone then, and the ground isn't asked for a point which isn't one. The
self-test gets leave, the cursor taken out of the window.
build-feat-switch-blades
2026-10-19 20:02:03 +02:00
maj00r
90ce10960e fix(editor): a vertex the track runs straight through no longer crashes the fit of a shape
The ends' budget of a curve too big for its leg lowered the scale of both
vertices beside it, a straight one too, which has no tangents to ask:
with no transitions the empty function was called and threw
bad_function_call, with transitions the vertex got a false warning of a
reduced R. Straight vertices are left out of the scaling.
2026-10-19 19:31:36 +02:00
maj00r
a311bd013f fix(editor): orthophoto tiles no longer turn white after a while out of sight
The tiles are given to the gpu straight from memory; the garbage sweep
released them like the ones read from files and they came back as the
grey stub until made again. They're kept now, and a new texture name
clears the cache of the bound units.
2026-10-19 19:25:25 +02:00
maj00r
e3ea6a766e fix(editor): putting the scenery onto the terrain model no longer leaves deleted models in the scene
The lift moved the models of the includes it remade a moment later, so
the cells kept the old ones after they were destroyed and the next look
at the ground there (a zoom) crashed. They stay as they are now, and the
models already waiting to be destroyed are skipped too. The self-test
gets danglers, which counts the models the cells hold past their end.
2026-10-19 19:25:25 +02:00
maj00r
af9e836632 feat(editor): the terrain of a scenery begun from nothing grows where the track is laid
The terrain model was made once around the camera when a new scenery
took it; tracks laid on past it went over nothing. While a track is laid
or dragged out, the chunks missing within 400 m of the cursor are now
made from the model too, the nearest first, in a scenery with the
heightmap terrain placed on the map. The formations aren't made anew
after such chunks. A chip in the terrain panel turns it off.
2026-10-19 19:01:49 +02:00
maj00r
bedef1f2af fix(editor): a touchpad no longer flips through the shapes nor throws the zoom far out
A touchpad under Wayland sends a scroll as many fractions of a notch.
Shift+wheel took each of them for a step and went round the shapes of
the laid track, the joins and the connections several times in one
swipe; now the fractions are gathered into whole notches and a gesture
moves such a choice one step. Ctrl+wheel steps the radius once a notch.

The 3D zoom measured to the level 0 when nothing was under the cursor,
which in a scenery on the terrain model lies far below or kilometres
ahead, so a light swipe at the horizon flew the camera away. It
measures to the ground under the camera now, backs away by no more than
four heights of the camera over it, and takes at most two notches at a
time. Self-test laystate tells the shape, the radius and the camera.
2026-10-19 18:54:08 +02:00
maj00r
907068c69c feat(editor): Alt while laying turns the straight to 1:9, 1:6.6... of a straight track
Besides the steps of 15 degrees, Alt snaps the laid straight to the
ratios of the switches (1:4.8 to 1:26.5) of the straight track the
straight crosses, or of one within 30 m of where it starts; the label at
the cursor says which ratio to which track. The first click with Alt
within 2 m of a straight track puts the start on its axis, so a branch
or a crossing at 1:9 starts exactly on the track.
2026-10-19 18:48:54 +02:00
maj00r
438cb4ea3a feat(editor): a join of ends side by side shifts the track with reverse curves over the whole gap
The reverse curves of a join start and end at the joined ends, with the
largest radius that fits, so a shift of the track spacing (4 -> 4.75 m
over 400 m) is one S instead of two curves with straights around them.
A straight or a single arc with a kink at its ends, though still under
the joints check, comes after the smooth curves among the variants; a
practically exact one stays first.

An element under 1 mm, like the straight left between the reverse
curves by the radius fit, no longer drops out of the pieces and leaves
a gap: the neighbouring piece takes it over.
2026-10-19 18:40:43 +02:00
maj00r
ffdccd90ed fix(track): the carving scan's near() clashed with the near macro of windows.h on MSVC 2026-10-19 18:37:44 +02:00
maj00r
93a45fb632 fix(editor): a slip goes to the crossing under the cursor or nowhere, shown before the click
A slip went to the crossing of the selected straight with another straight within 40 m of the click. When the track under the cursor wasn't taken as a straight (a slight curve, a switch), the slip silently went to another crossing up to 40 m away. A double slip within 25 m of the click was replaced, even when the click was on a free crossing.

- The crossing nearest the cursor, within 12 m, is found among all the rail tracks. A slip goes only there; when that track is a curve or a switch, the tool says so.
- A double slip is replaced only when it is nearer the cursor than any crossing.
- The cursor is taken at the height of the straight under it, so on a grade the 3D view doesn't put the click metres away from the track.
- Before the click, the view marks the crossing the slip goes to, with its two straights, or the reason it can't go there.
2026-10-19 18:20:41 +02:00