Workflow artifacts can only be downloaded by signed-in users with access to
the repository, so they are useless for handing a build to anyone else. After
the matrix publishes, a release job recreates a rolling pre-release from the
same packages; its assets are downloadable without an account:
releases/download/latest/<file> from main
releases/download/staging/<file> from staging
Each branch owns its tag, so a staging build never overwrites the main one.
The release is deleted and created again rather than edited, so the tag
follows its branch and assets from an older build do not linger. Write access
is granted to that job only, the workflow default stays read.
build-macos.sh ships the macOS binary as eu07.exe, so IsValidBinaryFile
must accept that extension on non-Windows too. Also fix the AlwaysOn
battery default check to use a proper near-zero epsilon instead of an
overly broad <0.2 threshold that clobbered legitimate low velocities.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Cross-checked against ../maszyna: several StarterNG defaults didn't
match the simulator's actual defaults (Globals.h), and three exposed
options never mapped to a real eu07.ini key.
- Correct defaults to match the engine: VSync=false, LiveTraction=true,
VirtualShunting(ai.trainman)=true, DynamicLights=7 fallback,
CabShadowsRange=0, GfxResourceSweep=true, FeedbackMode=1,
ShadowMapResolution=2048, ReflectionsFidelity=0, Volume=50.
- Remove Post-processing (gfx.postfx.tonemapping), onboard-screen
refresh rate (pyscreenrendererpriority), and volume-during-pause
(sound.volume.paused) — none of these keys exist in the simulator.
- Only apply parsed UART feature tokens when eu07.ini actually has an
uartfeature line; otherwise fall back to the engine's own defaults
instead of all-false.
Adds save/apply named settings profiles (SettingsProfileStore), a
battery-default export option that rewrites trainset velocity on
launch, and an option to omit decorative trainsets from the exported
scenery. Also surfaces many previously-unmapped eu07.ini keys in the
Settings UI (UART/feedback port, FPS limit, shadow angle, fullscreen
windowed, ANGLE Vulkan, friction/brake sensitivity, and an Advanced
section for texture/GLES/threading tunables).
- Add DynamicLights (0–7) setting mapped to the eu07.ini dynamiclights key,
exposed as a slider in the Graphics section of Settings.
- Fix config file paths on macOS for eu07.ini, eu07_input-keyboard.ini,
and userpresets.json to use ~/Library/Application Support/MaSzyna/
instead of falling through to the Linux XDG path.