2f96dfe767
perf(physics): air flowing along a pipe wakes the physics of a coupled vehicle only when it changes its pressure by more than physics.pipewake (0.001 bar), not with any trickle of it
2026-10-23 19:30:21 +02:00
9a7ff372f7
perf(debug): count what wakes the physics of the vehicles (brake pipe, main reservoir pipe, command, speed, acceleration, neighbour, other) in the debug panel
2026-10-23 19:08:09 +02:00
f17462b186
perf(physics): road vehicles farther than 1 km from the camera go by one step of the physics in a frame (physics.roadlod); count what resets the switching time of the vehicles (compressor, mains, diesel, physics woken) in the debug panel
2026-10-23 18:47:01 +02:00
a04efbf968
perf(physics): vehicles standing still and held by their brakes let their physics sleep (physics.sleepheld)
2026-10-23 18:20:49 +02:00
e054fe900d
perf(debug): count what keeps the physics on in rail vehicles standing still (active cab, speed, acceleration, switching, ezt/dmu, moving neighbour), for the debug panel
2026-10-23 18:06:12 +02:00
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