Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
958 commits
Select commit Hold shift + click to select a range
f9b3b7d
Fleet numbers/plates can be customized in the vehicle menu
trolley813 Oct 21, 2026
4737ad3
Fleet numbers/plates can be customized in the vehicle menu
trolley813 Oct 21, 2026
81d42c9
Merge pull request #3054 from thibautgnt/feat/apple-launcher-parity
thibautgnt Oct 21, 2026
c951f0f
Merge pull request #3074 from shamough1792/map-waypoint-navigation-pr
thibautgnt Oct 21, 2026
98d3ae9
Merge pull request #3100 from shamough1792/codex/display-layer-tolera…
thibautgnt Oct 21, 2026
ed6d457
fix: the navigator's map is read from its cache file as needed instea…
thibautgnt Oct 20, 2026
f530f67
fix: the desktop launcher's lock file has the map cache's new depende…
thibautgnt Oct 20, 2026
0821185
Merge main into MileZero
turbo-devv Oct 21, 2026
b2fa199
Review fixes: ban parsing and per-session bans, voice relay and mute,…
turbo-devv Oct 21, 2026
14b4dcf
Merge branch 'main' of github.com:openOMSI-org/openOMSI into local/bi…
turbo-devv Oct 21, 2026
bb12696
Merge branch 'main' into feat/launcher-trip-duration
isaacsa2 Oct 21, 2026
ea09cf5
Vsync: the surface's present modes are asked of the driver only for O…
thibautgnt Oct 21, 2026
936e09a
Merge upstream main into fix/gpu-incomplete-mips-telemetry
isaacsa2 Oct 21, 2026
855195a
fix: rustls-webpki 0.103.16 and webpki-roots 1.0.10 close RUSTSEC-202…
thibautgnt Oct 21, 2026
cfd0f98
fix: Windows packages ship omsi-plugin-host32.exe so 32-bit OMSI plug…
thibautgnt Oct 21, 2026
4717964
Merge pull request #3070 from thibautgnt/fix/map-layers-mapped
thibautgnt Oct 21, 2026
e619ea3
Merge pull request #3099 from openOMSI-org/feat/trolleybus-voice-play…
thibautgnt Oct 21, 2026
c77b4bd
Merge main into MileZero
turbo-devv Oct 21, 2026
8e0ae82
fix: the timetable paper's last row shows when the next trip leaves
thibautgnt Oct 21, 2026
30ceda1
fix: a full multiplayer sound queue is logged once instead of on ever…
thibautgnt Oct 21, 2026
dded3be
fix: rain and snow fall again on OpenGL and ANGLE
thibautgnt Oct 21, 2026
e1e5210
fix: photo mode on ANGLE no longer switches multisampling off
thibautgnt Oct 21, 2026
2ec4064
fix: the city map no longer runs the graphics card out of memory and …
thibautgnt Oct 21, 2026
b51823a
fix: chrono events of the OMSI 2 map folder count when openOMSI's fol…
thibautgnt Oct 21, 2026
16f63b1
fix: the GLSL test of the rain and snow shaders holds on every backend
thibautgnt Oct 21, 2026
b7a590f
feat(i18n): Georgian, and German, Spanish, French, Portuguese and Rus…
thibautgnt Oct 21, 2026
fe031d9
suggested fixes after the review
trolley813 Oct 21, 2026
8525829
Merge branch 'main' into fleet-number-in-settings
trolley813 Oct 21, 2026
0757f93
feat(i18n): every text the player sees is translated
thibautgnt Oct 21, 2026
80ed9cd
fix(3128): added fix for when multiple routes use the same number
wmalt Oct 21, 2026
e874276
Merge pull request #3122 from thibautgnt/fix/plugin-host32
thibautgnt Oct 21, 2026
cf017bf
fixed automatic plate assignment if cleared
trolley813 Oct 21, 2026
6014c48
Limit plugin improvements to read-only game data and full tours
Burst99325 Oct 21, 2026
8192c46
Avoid initial freetex reloads and poll shared textures only when due
Burst99325 Oct 21, 2026
7957185
Merge remote-tracking branch 'upstream/main' into fix/freetex-file-re…
Burst99325 Oct 21, 2026
514bb80
Deduplicate freetex watch commands without locking frame state
Burst99325 Oct 21, 2026
f0b692d
chore: move the workspace to Rust 2024 and resolver 3
thibautgnt Oct 21, 2026
4b8c174
fixed opacity not applying to the VR map
wmalt Oct 21, 2026
951ac90
Add Serbian Latin translations
kizule Oct 21, 2026
2952e34
Merge pull request #3121 from thibautgnt/fix/issue-sweep-2026-10-21
isaacsa2 Oct 21, 2026
eba0184
Merge pull request #3126 from thibautgnt/feat/georgian-translations
isaacsa2 Oct 21, 2026
934b86c
Merge pull request #3137 from thibautgnt/chore/edition-2024
thibautgnt Oct 21, 2026
fc18160
Merge main into MileZero; Georgian for the new strings
turbo-devv Oct 21, 2026
6ca88e4
feat(render): every light casts a shadow, shaded saloon, no baked lam…
turbo-devv Oct 22, 2026
6a83dd5
Merge upstream main and resolve Serbian locale conflicts
kizule Oct 22, 2026
e971318
feat: the arrival half of each stop on the depot files that keep two …
anonchan958 Oct 20, 2026
5090a1f
Merge branch 'main' into fleet-number-in-settings
trolley813 Oct 22, 2026
fa45782
supplied missing translations
trolley813 Oct 22, 2026
882d1d9
added missing quote
trolley813 Oct 22, 2026
cbccd4b
test(i18n): controller menu tests read English under the language lock
thibautgnt Oct 22, 2026
d2c504f
Merge pull request #3149 from kizule/serbian-latin-translation-updates
thibautgnt Oct 22, 2026
c0cdc40
Merge pull request #2978 from openOMSI-org/feat/milezero-radio
thibautgnt Oct 22, 2026
3aefc0c
fix(app): stop frame stages during shutdown
shamough1792 Oct 22, 2026
fd6e868
Merge main
thibautgnt Oct 22, 2026
a732717
Merge pull request #3087 from isaacsa2/fix/gpu-incomplete-mips-telemetry
thibautgnt Oct 22, 2026
a51aa7d
Merge pull request #3032 from isaacsa2/feat/launcher-trip-duration
thibautgnt Oct 22, 2026
af09a67
Merge pull request #3102 from Burst99325/plugin-improvements
thibautgnt Oct 22, 2026
9c4a536
Merge pull request #3141 from wmalt/fix/vr-route-map-opacity
thibautgnt Oct 22, 2026
1d8d539
Merge main
thibautgnt Oct 22, 2026
c327b34
Merge main
thibautgnt Oct 22, 2026
00bed27
suggested fixes
trolley813 Oct 22, 2026
ec78a31
Merge remote-tracking branch 'upstream/main' into fix/freetex-file-re…
Burst99325 Oct 22, 2026
964efbf
Update freetex GPU regression tests for Rust 2024
Burst99325 Oct 22, 2026
3c51d09
Merge pull request #3049 from anonchan958/feat/auto-arrival-announcem…
thibautgnt Oct 22, 2026
569db8f
fix: 32-bit OMSI plugins run without a console window, from the OMSI …
thibautgnt Oct 22, 2026
cf7ab42
Added checkbox to start run with temperature 22
wmalt Oct 22, 2026
47fdc67
fix: trolleybuses whose poles are plain, animated or rear-section mes…
thibautgnt Oct 22, 2026
bf73f55
Merge branch 'main' into fleet-number-in-settings
trolley813 Oct 22, 2026
edb4304
added flag clearing in open_list
trolley813 Oct 22, 2026
41e3e93
added fahrenheit support, also removed first trip condition
wmalt Oct 22, 2026
e5a3dc2
Polish Serbian Latin translations
kizule Oct 22, 2026
9d878a4
feat(plugin): expose loaded HOF data and identifier lookups
Burst99325 Oct 22, 2026
2cba5be
Merge main into fix/beam-snow-mirrors-1021 and answer the review
turbo-devv Oct 22, 2026
e948f8f
merged two adjacent if let Some(p) blocks to reduce line size to meet…
wmalt Oct 22, 2026
f3d7d05
docs: the changelog's far map wording
turbo-devv Oct 22, 2026
59b6ea3
Enhanced: AI cars are lent their headlamps' beams only while it is da…
turbo-devv Oct 22, 2026
77a53f0
Timetable buses: a departure waits until its vehicle is read ahead, t…
turbo-devv Oct 22, 2026
2667adb
AI vehicles are drawn with their model's lower levels of detail
turbo-devv Oct 22, 2026
9653c64
CHANGELOG: the lighter Enhanced daylight frame, the vehicles' lower l…
turbo-devv Oct 22, 2026
245deb8
Cabin condensation: read the weather's humidity as g/m³, not as a dew…
turbo-devv Oct 23, 2026
56e73cc
Vehicle lower levels of detail in a module of their own, OMSI_FORCE_L…
turbo-devv Oct 23, 2026
993bfbd
Vehicle levels of detail: the bands are made from the levels that loaded
turbo-devv Oct 23, 2026
3c8752a
Merge pull request #3163 from thibautgnt/fix/plugin-host-quiet
thibautgnt Oct 23, 2026
3d20d5d
Merge pull request #3165 from thibautgnt/fix/trolleybus-model-poles
thibautgnt Oct 23, 2026
e76e7e9
Merge pull request #3132 from thibautgnt/feat/translate-everything
thibautgnt Oct 23, 2026
68c2e31
Merge pull request #3188 from openOMSI-org/fix/cabin-dew-point
thibautgnt Oct 23, 2026
edddc7e
AI beams count the weather's gloom, lower levels of detail keep to wh…
turbo-devv Oct 23, 2026
0706509
Merge pull request #3185 from kizule/polish-serbian-voice-rollsign
thibautgnt Oct 23, 2026
1f59ef6
Merge pull request #3159 from shamough1792/prevent-plugin-reload-on-exit
thibautgnt Oct 23, 2026
3544f6c
Merge pull request #3186 from Burst99325/codex/plugin-hof-data
thibautgnt Oct 23, 2026
5846b9d
Merge pull request #3103 from Burst99325/fix/freetex-file-reload
thibautgnt Oct 23, 2026
7347632
Merge remote-tracking branch 'upstream/main' into fix3184
thibautgnt Oct 23, 2026
daddf39
Merge remote-tracking branch 'upstream/main' into fix3108
thibautgnt Oct 23, 2026
0e395f5
Merge remote-tracking branch 'upstream/main' into fix3136
thibautgnt Oct 23, 2026
0ddb5f2
fix(render): the mirrors stay Standard by default
turbo-devv Oct 23, 2026
96a8fde
Merge pull request #3184 from wmalt/feature/3112-start-with-comfortab…
thibautgnt Oct 23, 2026
d7787d3
fix(render): keep street lighting opt-in by default
isaacsa2 Oct 23, 2026
01a0702
fix(launcher): default street lighting to off
isaacsa2 Oct 23, 2026
2746aeb
Trolley frogs: find junctions drawn loosely, plates over short spans
turbo-devv Oct 23, 2026
eb81e5a
test(settings): cover opt-in street light defaults
isaacsa2 Oct 23, 2026
f7abf6d
docs: note that street lighting is opt-in
isaacsa2 Oct 23, 2026
a7ca3d9
docs: clarify the street light default in the user guide
isaacsa2 Oct 23, 2026
535462a
test(timetable): use yesterday calendar for the overnight fixture
isaacsa2 Oct 23, 2026
8b199f2
fix(people): only release textures inserted by map read-ahead
isaacsa2 Oct 23, 2026
7314d42
Merge pull request #3108 from trolley813/fleet-number-in-settings
thibautgnt Oct 23, 2026
5a63c88
fix(i18n): complete Traditional Chinese interface translations
shamough1792 Oct 23, 2026
18b0dd5
feat(ui): reorganize the pause menu into categories
shamough1792 Oct 23, 2026
cb44e99
Merge remote-tracking branch 'upstream/main' into fix3136b
thibautgnt Oct 23, 2026
c1b9b3d
fix: require pole evidence for legacy trolley detection
shamough1792 Oct 23, 2026
b56d1a8
Road vehicle physics: air drag from the vehicle's size and the wind, …
turbo-devv Oct 21, 2026
1fd418a
Rail vehicles: rail classes and a rail dynamics model (adhesion, runn…
turbo-devv Oct 21, 2026
c26c4c9
Rail tracks: classes by rule file, profile name or surroundings, curv…
turbo-devv Oct 21, 2026
0330373
Rail dynamics also drive the simple model a rail-bound player runs on…
turbo-devv Oct 21, 2026
68b1968
Tyres hold across by slip angle (stretched-string model with the fric…
turbo-devv Oct 21, 2026
4864c33
Slip-angle tyres stiffer and quicker (cornering 14, relaxation 0.9 ra…
turbo-devv Oct 21, 2026
1f5a06f
Rail: generic profile names defer to the track's surroundings; OMSI_D…
turbo-devv Oct 21, 2026
399e43d
Example openomsi-rail.cfg
turbo-devv Oct 21, 2026
f380338
Rail: a coupled part just behind the vehicle is placed from the vehic…
turbo-devv Oct 21, 2026
7b56269
Pantographs: a rail vehicle moves only with its pantograph raised; fo…
turbo-devv Oct 21, 2026
da542d0
Rail bogie frames that name one coupling hang by their origin and sta…
turbo-devv Oct 21, 2026
f6b315b
Review: the road model is the opt-in setting Realistic road physics; …
turbo-devv Oct 22, 2026
7e9abe7
Rigid body: the air and the road's surfaces out of step_slice (under …
turbo-devv Oct 23, 2026
5dec744
Realistic road physics: the setting's texts in all 29 languages
turbo-devv Oct 23, 2026
f5fb8cd
Merge pull request #3151 from openOMSI-org/fix/beam-snow-mirrors-1021
turbo-devv Oct 23, 2026
61f87b1
Merge main into perf/calm-frame
turbo-devv Oct 23, 2026
9e1d01c
Merge pull request #3187 from openOMSI-org/perf/calm-frame
turbo-devv Oct 23, 2026
b9c11e2
Merge remote-tracking branch 'origin/main' into feat/rail-physics
turbo-devv Oct 23, 2026
0aa60eb
Launcher: timetable editor on the map, one-line route preview, no cap…
turbo-devv Oct 23, 2026
c15a66e
Merge pull request #3150 from openOMSI-org/feat/rail-physics
turbo-devv Oct 23, 2026
fe7b967
Merge main into feat/launcher-timetable-editor
turbo-devv Oct 23, 2026
75a45f8
Merge pull request #3136 from wmalt/fix/launcher-duplicate-tour-selec…
thibautgnt Oct 23, 2026
7d91827
Merge remote-tracking branch 'origin/main' into pr3130
thibautgnt Oct 23, 2026
caf95e8
Merge pull request #3130 from shamough1792/fix-zh-tw-translations-pr
thibautgnt Oct 23, 2026
bbe68d7
Trolley frogs: drop stubs shorter than the join distance, cut T-junct…
turbo-devv Oct 23, 2026
0b9c904
Timetable editor: translations of its texts, trip note only after a s…
turbo-devv Oct 23, 2026
ca5dff7
Merge main into feat/launcher-timetable-editor
turbo-devv Oct 23, 2026
04848da
Merge remote-tracking branch 'origin/main' into parity-fixes-1017
turbo-devv Oct 23, 2026
f3e328e
fix(trolley): keep wire junctions separate across height levels
isaacsa2 Oct 23, 2026
dfd3319
Merge origin/main into feat/physical-light; Georgian entries, 6x6 com…
turbo-devv Oct 23, 2026
6d7dd48
fix(ui): preserve the pause category and mouse focus in settings
isaacsa2 Oct 23, 2026
59ed7de
fix(ui): preserve pause navigation and main settings layout
shamough1792 Oct 23, 2026
b518411
fix(optimiser): treat missing street light settings as off
isaacsa2 Oct 23, 2026
fb5c434
chore: integrate maintainer pause menu fixes
shamough1792 Oct 23, 2026
15e0222
Update ctutils to 0.4.5 (RustSec advisory, cargo audit)
turbo-devv Oct 23, 2026
35eb254
Update ctutils to 0.4.5 in the launcher's lockfile (RustSec advisory)
turbo-devv Oct 23, 2026
7c18b57
Merge remote-tracking branch 'origin/feat/physical-light' into feat/p…
turbo-devv Oct 23, 2026
a875a99
fix: keep rod-shaped unnamed trolley poles, never take lights as poles
turbo-devv Oct 23, 2026
5fd20d3
fix: follow-ups to #3151, #3187 and #3150 merged without review
thibautgnt Oct 23, 2026
8a787c7
Video memory: the allocator's holes count against the card
filiphajduch420 Oct 23, 2026
646129e
Merge pull request #3204 from thibautgnt/fix/unreviewed-merges
turbo-devv Oct 23, 2026
b869daf
Merge pull request #3201 from openOMSI-org/fix/legacy-trolley-detection
turbo-devv Oct 23, 2026
8438826
Merge pull request #3199 from openOMSI-org/feat/launcher-timetable-ed…
thibautgnt Oct 23, 2026
3592bc6
Merge pull request #3198 from filiphajduch420/fix/vram-footprint
thibautgnt Oct 23, 2026
17fcca1
Merge pull request #3192 from shamough1792/pause-menu-navigation-pr
thibautgnt Oct 23, 2026
cac6bc2
Merge pull request #2910 from openOMSI-org/parity-fixes-1017
thibautgnt Oct 23, 2026
7c8823c
Merge main into feat/physical-light
thibautgnt Oct 23, 2026
cec1f9d
Merge pull request #2925 from openOMSI-org/feat/physical-light
thibautgnt Oct 23, 2026
0aeab3b
test: isolate Steam startup and temporary directories in unit tests
NotSourLimes Oct 23, 2026
2647bf1
fix(vr): restore timetable details and trip-start controls
NotSourLimes Oct 23, 2026
58e2447
Website: openMapper tab (#3221)
turbo-devv Oct 24, 2026
1f40fd2
Website: openMapper docs pages and expiring New markers (#3222)
turbo-devv Oct 24, 2026
21fda32
Website: openMapper page in the documentation style (#3224)
turbo-devv Oct 24, 2026
d3ef54d
Trolley frogs: a span never joins its own two ends, cuts in a fixed o…
turbo-devv Oct 24, 2026
47a1ab2
fix: Ctrl+T puts all the change still owed on the tray again (#3218)
thibautgnt Oct 24, 2026
3606a96
fix: the city map knows French road textures (#3240)
ThiBot77 Oct 24, 2026
330de5f
perf: the launcher's map moves and zooms smoothly on large maps (#3239)
ThiBot77 Oct 24, 2026
ec8d821
Textures: a DDS asked for and not there is missing, not stood in for …
rafaelkaiz Oct 24, 2026
d1a1961
feat: plugins can leave the IBIS to the driver, or type the duty's tr…
Luc-nbr Oct 24, 2026
8a02150
feat: an Add-ons page in the launcher lists projects made for openOMS…
Luc-nbr Oct 24, 2026
2a51042
feat(plugin): run native helpers with explicit player opt-in (#3139)
Burst99325 Oct 24, 2026
e8c212c
test: preserve startup context and remove unrelated formatting
NotSourLimes Oct 24, 2026
0cea49d
feat: Troubleshooting page with Model-Test (#3175)
paulbmueller Oct 24, 2026
ac3eb50
Head tracking: Tobii eye trackers natively, without opentrack (#3025)
Luc-nbr Oct 24, 2026
ff63b02
CPU: a car out of the view and beyond 150 m runs its script a few tim…
turbo-devv Oct 24, 2026
706c79e
fix(ui): clarify settings sections and stabilize sliders (#3234)
shamough1792 Oct 24, 2026
95e9cb5
fix(brt): serve scheduled platforms through matching-side doors (#3227)
isaacsa2 Oct 24, 2026
b716e42
Merge pull request #3196 from openOMSI-org/fix/trolley-frog-dewire
thibautgnt Oct 24, 2026
fcd618a
Merge pull request #3209 from NotSourLimes/codex/pr-00-test-fixtures
thibautgnt Oct 24, 2026
e5a1ebd
Merge pull request #3216 from NotSourLimes/codex/pr-07-timetable
thibautgnt Oct 24, 2026
33fcc78
feat(render): optional FSR 1.0 EASU + RCAS upscaling (#3147)
isaacsa2 Oct 24, 2026
4cefe50
Vehicles: a paint scheme's [setvar]s are set again after the scripts …
rafaelkaiz Oct 24, 2026
2568734
London: road markings and red bus lanes no longer disappear with dist…
rafaelkaiz Oct 24, 2026
d22cde9
feat(ui): let players customize pause quick actions (#3236)
shamough1792 Oct 24, 2026
4fad251
Enhanced: a script's screen is never taken for glass (#2927) (#3258)
rafaelkaiz Oct 24, 2026
1a10acc
perf: cull and shadow casters in many small parts (#3257)
ThiBot77 Oct 24, 2026
c9d0f42
Pantographs meet the wire, rail bodies on springs, class traction for…
turbo-devv Oct 24, 2026
5388daf
Pause menu: quick action cards sit at the top left next to the rail, …
turbo-devv Oct 24, 2026
2460e8d
Pause menu: opens with no category chosen, the dimmed game visible; a…
turbo-devv Oct 25, 2026
2ba0076
Pause menu tests: draw the category page, click the Edit button where…
turbo-devv Oct 25, 2026
95a8168
Scenery after vehicles is sorted with them behind a bus's glass (#2852)
rafaelkaiz Oct 25, 2026
7763165
.x: MeshNormals and MeshTextureCoords win over DeclData again, and a …
turbo-devv Oct 25, 2026
a43b33a
.x: a binary string ended by a WORD token keeps the } after it (Köln'…
rafaelkaiz Oct 25, 2026
e2d9249
Merge PR #3271: scenery after vehicles is sorted with them behind a b…
turbo-devv Oct 25, 2026
8645825
perf: lamp shadow taps in loops of fixed bounds (#3256)
ThiBot77 Oct 25, 2026
adc54b7
Merge origin/main
turbo-devv Oct 25, 2026
e159e40
test(ui): locate quick-actions edit button from drawn bounds (#3274)
isaacsa2 Oct 25, 2026
784e3f1
test(plugin): tolerate slow Windows child startup in consent integrat…
isaacsa2 Oct 25, 2026
023ab45
feat(multiplayer): sync freetex pixels with SHA-256 reuse (#3284)
Burst99325 Oct 25, 2026
89c4b76
feat: a plugin's panel can fill the navigator's whole frame, with the…
Luc-nbr Oct 25, 2026
50ea2f0
fix(render): isolate stereo eye visibility and LOD history (#3210)
NotSourLimes Oct 25, 2026
358a9b3
fix(xr): order D3D12 handoff without per-frame CPU completion waits (…
NotSourLimes Oct 25, 2026
1f97b15
Launcher: AI Lists tab in Settings (AI traffic, depot buses and line …
turbo-devv Oct 25, 2026
ffdb336
Lua and .oop scripts for vehicles and map objects, with the omsi.obje…
turbo-devv Oct 25, 2026
d78b85a
Enhanced: the ground lit once from one albedo picture, cheaper fog, s…
turbo-devv Oct 25, 2026
efb884c
perf: plan the prepass lists and long phases on the pool (#3286)
ThiBot77 Oct 25, 2026
536bd03
perf: split the main pass when the view has an excavation (#3285)
ThiBot77 Oct 25, 2026
bce1f4f
Transport modes: bus, tram, railway, metro and trolleybus with rail p…
turbo-devv Oct 25, 2026
6617487
perf(vr): defer Enhanced+ eye pipelines and omit unused surfaces (#3213)
NotSourLimes Oct 25, 2026
b8bfe33
Launcher preview: the bus is made on a mild day, not at 0 °C (#3287)
rafaelkaiz Oct 25, 2026
a72539e
fix(plugin): log and dismiss native Steam API error dialogs (#3265)
isaacsa2 Oct 25, 2026
fbea7b0
An opt-in modern engine for HTML screens: modern CSS and a full JavaS…
turbo-devv Oct 25, 2026
d5dc801
fix(navigator): cap geometry before GPU vertex allocation (#3266)
isaacsa2 Oct 25, 2026
641cf4a
fix: a bus's window labels keep their depth, as before v0.3.33 (#2790…
KYChung1287 Oct 25, 2026
3733037
fix(vr): keep cabin aim current without changing desktop controls (#3…
NotSourLimes Oct 25, 2026
8119ca6
Vanilla: a self-lit blended layer is mixed as Omsi.exe mixes it (the …
rafaelkaiz Oct 25, 2026
40c3cfa
Vanilla: the headlight is Omsi.exe's Direct3D spot light, lit at the …
rafaelkaiz Oct 25, 2026
e7cb44b
fix: the launcher's map gets its whole ground again (#3301)
ThiBot77 Oct 25, 2026
10ffd99
Launcher: Update the .openomsi folder logic (#3243)
georgefung892 Oct 25, 2026
5b5cf57
AI traffic: a vehicle waiting to move over no longer holds up the lan…
turbo-devv Oct 25, 2026
b186135
feat: a setting to turn the street lamps' shadows off (#3299)
ThiBot77 Oct 25, 2026
ed5508f
Launcher preview: the bus gets its paint scheme as in the game (the J…
rafaelkaiz Oct 25, 2026
c0de578
A flashlight on Alt+F (#3295)
turbo-devv Oct 25, 2026
3846546
Timetable buses: riders walk in to their seats, and no long waits at …
turbo-devv Oct 25, 2026
65ddc9e
Enhanced options, quality presets from Low to Ultra, cloud shadows, s…
turbo-devv Oct 25, 2026
9d5833b
Fix terrain continuity around aligned spline ditches (#3203)
p3taomsi Oct 25, 2026
10060f4
Revert the navigator's hard vertex cap (#3266, #3301): the city map a…
turbo-devv Oct 25, 2026
e624dfb
Changelog: the navigator's map draws the whole ground again [skip ci]
turbo-devv Oct 25, 2026
7d14aef
restore money sound effects, manually take money before next sale (#3…
insus100 Oct 25, 2026
9e1fdae
On foot, the player walks wherever the AI passengers' paths lead (#3303)
turbo-devv Oct 25, 2026
ef5ecec
feat(navigator): add optional lightweight classic 2D mode (#3267)
isaacsa2 Oct 25, 2026
f03f928
fix: 4-character route displays (LiAZ 5292 etc.) now pad with spaces …
trolley813 Oct 26, 2026
71cf6ea
docs: 4-character route matrix pads with spaces (#3320)
turbo-devv Oct 26, 2026
c7b54b9
Revert "Launcher: Update the .openomsi folder logic (#3243)"
turbo-devv Oct 26, 2026
8248fe4
A lost graphics device is told by the flood of invalid-resource error…
turbo-devv Oct 26, 2026
fd8cfec
feat: the Alt quick menu as OMSI 2's grid of icon tiles, with pages a…
rafaelkaiz Oct 26, 2026
f76af26
perf: read how surface objects' pictures blend on the tile worker (#3…
ThiBot77 Oct 26, 2026
0444fe2
perf: find each material override's slot once per mesh (#3331)
ThiBot77 Oct 26, 2026
2615967
perf: clear the vehicles' blank display textures on the GPU (#3325)
ThiBot77 Oct 26, 2026
292f23a
perf: mirrors leave out small objects past 600 m (#3321)
ThiBot77 Oct 26, 2026
06f901d
Force feedback tuning per wheel: self-centring, damping, parking resi…
filiphajduch420 Oct 26, 2026
35470a0
Cab wheel rotation: the steering wheel in the cab turns as far as the…
filiphajduch420 Oct 26, 2026
dd515ba
Trains: cars that run their own scripts take the paint's variables an…
turbo-devv Oct 26, 2026
f663f7d
Merge openOMSI 0.3.45 and add editor stops, entry points and route au…
DarkBat2709 Oct 30, 2026
4351c36
Record verified 0.8.9-pre local source manifest
DarkBat2709 Oct 30, 2026
1aa3778
Update bilingual editor guides for 0.8.9-pre with launcher and route …
DarkBat2709 Oct 30, 2026
f6af17e
Merge remote-tracking branch 'github/codex/editor-0.8.0-pre' into cod…
DarkBat2709 Oct 30, 2026
8f20462
Prepare 0.8.9-pre release notes and updated download documentation
DarkBat2709 Oct 30, 2026
64620d6
Refresh verified source manifest for 0.8.9-pre release
DarkBat2709 Oct 30, 2026
c5987ed
Fix release audit dependencies and document merged editor validation …
DarkBat2709 Oct 30, 2026
a7cbaaa
Record audited 0.8.9-pre source manifest
DarkBat2709 Oct 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# The Docker build context: the sources only (target/ alone is tens of GB).
target/
dist/
.git/
android/
site/
**/*.png
!assets/**/*.png
!crates/**/*.png
docker/server/config/
docker/server/.env
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.sh text eol=lf
21 changes: 20 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,37 @@
<!-- Describe what players will notice. One or two sentences are enough. -->

## How to test
<!-- What testers should do with the test build (linked in a comment below once it is built): the map, the bus, the steps, and what should happen. Before/after screenshots help. -->
<!-- What testers should do with the test build (linked in a comment below once it is built): the map, the bus, the steps, and what should happen. -->

## Screenshots
<!-- Required when something changes on screen, in the launcher or in the game: before and after, same place and same settings. Drag the images here; do not commit them. Write "No visible change" otherwise. -->

## What does this change, and why?
<!-- Briefly explain the approach and the reason for it. Point out anything reviewers should look at first. -->

## What could break?
<!-- What else uses the code you changed, and what you could not test yourself (a platform, VR, online play, a map, a mod). "Nothing that I know of" is a fine answer for a small fix. -->

## Performance
<!-- Required for a new feature: fill in the table. Same machine, map, bus, settings and place for the three columns; take the two releases from the Releases page.
Frame times: run with OMSI_PROFILE=1 OMSI_PROFILE_JSON=<file> and --exit-after 120, then python3 scripts/compare-performance.py (on macOS, python3 scripts/bench-matrix.py runs it all).
Memory: the game's memory after 2 minutes of driving (Windows: Task Manager, "Memory" column; macOS: Activity Monitor; Linux: RssAnon in /proc/<pid>/status).
Write "No feature added" for a fix that adds none. -->

| | This branch | Current release (0.x.y) | 0.2.30 |
|---|---|---|---|
| Average FPS | | | |
| Slowest 1 % of frames (p99, ms) | | | |
| Memory after 2 min (MB) | | | |

Machine, map and settings:

## Checklist
<!-- Tick what applies; strike through (~~like this~~) what does not apply to this change. -->
- [ ] `cargo test --workspace` and `cargo build --release` pass
- [ ] The pull request contains a single change
- [ ] Before/after screenshots are in the description if anything changes on screen
- [ ] A new feature has its performance table filled in (this branch, the current release, 0.2.30)
- [ ] New or changed interface texts are in `crates/omsi-app/locales/app.yml`, in every language I can
- [ ] Online play, saves, settings and mods made for the previous release still work, or the description says what changes
- [ ] No original OMSI 2 content and no file of a megabyte or more in the commits
1 change: 1 addition & 0 deletions .github/workflows/apple.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ jobs:
- uses: Swatinem/rust-cache@v2
with:
key: apple
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Tools
run: |
brew install xcodegen
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ on:
branches: [main]
pull_request:
schedule:
- cron: "0 5 * * 1"
- cron: "0 5 * * *"
workflow_dispatch:

concurrency:
group: codeql-${{ github.ref }}
group: codeql-${{ github.event_name }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

permissions:
Expand All @@ -26,16 +26,22 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [rust, javascript-typescript, actions]
language: ${{ fromJSON((github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && '["rust", "javascript-typescript", "actions"]' || '["javascript-typescript", "actions"]') }}
steps:
- uses: actions/checkout@v7
- uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
build-mode: none
# test files hold fixed passwords, salts and keys on purpose (a known answer, a
# password too short to take); a test module inside a source file cannot be told
# apart by its path and is still analysed
config: |
paths-ignore:
- launcher/patches
- "**/tests/**"
- "**/tests.rs"
- "**/*_tests.rs"
- uses: github/codeql-action/analyze@v4
with:
category: /language:${{ matrix.language }}
6 changes: 3 additions & 3 deletions .github/workflows/editor-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Editor preview validation
on:
push:
branches: [editor-preview, "codex/spline-dimensions", "codex/editor-0.8.8.1", "update/**", "codex/editor-0.8.0-pre", "codex/editor-0.8.8-pre", "codex/windows-dxc-package-fix", "codex/editor-building-performance", "codex/editor-basis-0.3.33"]
branches: [editor-preview, "codex/editor-0.3.45-lines", "codex/spline-dimensions", "codex/editor-0.8.9-pre", "update/**", "codex/editor-0.8.0-pre", "codex/editor-0.8.8-pre", "codex/windows-dxc-package-fix", "codex/editor-building-performance", "codex/editor-basis-0.3.45"]
pull_request:
branches: [editor-preview]
workflow_dispatch:
Expand All @@ -16,7 +16,7 @@ jobs:
os: [ubuntu-22.04, windows-latest]
runs-on: ${{ matrix.os }}
env:
OPENOMSI_VERSION: 0.3.33-editor-0.8.8.1
OPENOMSI_VERSION: 0.3.45-editor-0.8.9-pre
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -95,7 +95,7 @@ jobs:
if: runner.os == 'Windows'
uses: actions/upload-artifact@v7.0.2
with:
name: openOMSI-Editor-0.8.8.1-windows-x64
name: openOMSI-Editor-0.8.9-pre-windows-x64
path: out/editor-windows/*
if-no-files-found: error
retention-days: 30
31 changes: 24 additions & 7 deletions .github/workflows/pr_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ permissions:
jobs:
files:
runs-on: ubuntu-latest
timeout-minutes: 15
env:
BASE: ${{ github.event.pull_request.base.sha }}
LOCALES: crates/omsi-app/locales/app.yml
Expand All @@ -37,6 +38,7 @@ jobs:
case "$f" in
docs/openOMSI-Editor-Kurzanleitung.pdf|docs/openOMSI-Editor-Quick-Guide-EN.pdf) limit=8000000 ;;
esac
[ "$f" = apple/Resources/Localizable.xcstrings ] && continue
size=$(stat -c %s "$f" 2>/dev/null || echo 0)
if [ "$size" -ge "$limit" ]; then
echo "::error file=$f::$f is $((size / 1024)) KB. File exceeds its allowed size (1 MB normally, 8 MB for the two shipped PDF guides) (see CONTRIBUTING.md): link screenshots and videos in the pull request, and keep test data small."
Expand All @@ -46,6 +48,7 @@ jobs:
exit $status

- name: Translations
if: ${{ !cancelled() }}
run: |
if git diff --quiet "$BASE" HEAD -- "$LOCALES"; then
echo "$LOCALES is not changed."
Expand All @@ -55,17 +58,31 @@ jobs:
git show "$BASE:$LOCALES" > "$RUNNER_TEMP/app.base.yml" 2>/dev/null || : > "$RUNNER_TEMP/app.base.yml"
python3 .github/scripts/check_locales.py "$RUNNER_TEMP/app.base.yml" "$LOCALES"

# No Rust file and no function may grow past its recorded size (+5 %), and new ones stay
# under 1500 / 300 lines: scripts/size-budget.sh, baseline in scripts/size-budget.txt.
size-budget:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7

# No Rust file and no function may grow past its recorded size (+5 %), and new ones stay
# under 1500 / 300 lines: scripts/size-budget.sh, baseline in scripts/size-budget.txt.
- name: File and function sizes
if: ${{ !cancelled() }}
run: bash scripts/size-budget.sh

# Which crate may depend on which (nothing on omsi-app, the simulation on no renderer,
# ...) and the app crate only shrinking: scripts/arch-guard.sh, rules in scripts/arch-rules.txt.
- name: Crate layers
if: ${{ !cancelled() }}
run: bash scripts/arch-guard.sh

- name: Drive page layouts
if: ${{ !cancelled() }}
run: |
if git diff --quiet "$BASE" HEAD -- launcher/ui launcher/tests .github/workflows/pr_checks.yml; then
echo "The launcher's page is not changed."
exit 0
fi
if node -e "process.exit(typeof WebSocket === 'function' ? 0 : 1)"; then
node launcher/tests/drive-check.mjs
else
node --experimental-websocket launcher/tests/drive-check.mjs
fi

- name: AI Lists state
if: ${{ !cancelled() }}
run: node launcher/tests/ai-lists-check.mjs
Loading
Loading