OpenLoco v26.08 is out! The past two weeks has seen a good chunk of work, so we thought we’d do an early release this month. It also comes with a feature that people have been asking for, for quite some time: Signal auto placement!
Please find the download on our website, or read the changelog on GitHub.
Signal auto placement
I’m never quite sure what to call this feature, but in the signal placement tool you can now change the mode to repeated placement. When in repeated placement mode, the track will be walked along, placing signals around a customisable track piece interval. This will greatly speed up how long it takes to place all your signals at nice even spaces. The auto placement will stop as soon as it hits a junction, another signal, or a station. If, for some reason, you decide you wanted to adjust the spacing of already placed signals, we also have you covered. Whilst in repeated placement mode, a right click removal of a particular signal will remove all signals in the block (the track between a junction or station). For a demonstration, see the video below.
I hope you enjoy this quality-of-life feature. I’ll now go through a little history of the feature.
This feature was first requested back in 2018, but at that time we didn’t have enough of the code implemented to add it. In 2021, @LeftOfZen started trying to add this feature, but our knowledge of track iteration code was still so lacking, that the feature was never completed.
During 2024, I implemented a lot of the Company AI code. One function in there was placeAiAllocatedSignalsEvenlySpaced;
a function that would place signals evenly along a track. If I had been thinking about this feature at the time,
we could have very easily copied this code. Instead, I forgot about it until @MasterHellish made a YouTube video in 2026,
lamenting about the lack of this feature. You would think that would have reminded me that I had basically already implemented it
in the Company AI code but it didn’t. Instead I implemented it all from scratch again.
The reason I didn’t immediately put two and two together is that the Company AI track iteration has to iterate over track that is ‘pre-allocated’ to the company. It’s a subtle difference, which meant it used a slightly different function name and wouldn’t turn up when I was searching. After finishing the feature, I went back and found the Company AI code and it is almost identical, doh.
Are there any other features that you would like to see in OpenLoco? Perhaps they have also fallen through the cracks? Especially, if it’s a feature like this, where it doesn’t require saving anything new, but is more an improvement to the interface, then perhaps we could implement it. Feel free to bring up ideas on Discord (preferably referencing an issue from GitHub).
Trying to fix Tutorials
The tutorials in Locomotion are not great. They all depend on replaying a mouse pointer recording, moving and clicking on UI elements, expecting them to be in a particular place. Whenever we change a UI element, there is a high likelihood that the tutorial will break. The tutorials must also be run at a certain window size, as they were originally recorded for particular fullscreen resolutions.
We do plan on completely reworking the tutorials in the future, but for now we just want to make them mostly work. @AaronVanGeffen and @LeeSpork both worked on the tutorials this month, getting them finally working again. It’s been a bit of a constant battle, as we have had a few UI and under-the-hood changes that broke many tutorial assumptions. However, they are now at least playing back properly again…
Or are they? Just when they thought the job was complete, I merged my signal auto placement, which changed the UI such that tutorial number 3 broke again. :)
Catalan translation
@J0anJosep contributed a Catalan translation for OpenLoco. It’s great to see even more languages being supported!
Open Graphics
@Shusaura85 added OG_TRSTAT2.

@Phosphorus551 updated/balanced some existing vehicles:
- OG_BALDWIN1 - increased weight to 120t
- OG_SPECIAL - increased power to 500hp
- OG_USPACIF - increased top speed to 60mph
- OG_APT1 - fixed the alternating-directions flag
Misc Refactoring
@AaronVanGeffen worked on a few under-the-hood changes related to the company information panel, company window, news window, landscape generation window, and scrollview widget. In particular, this means scrollbar behaviour should be much more consistent throughout the game now.
@LeftOfZen fixed some off-by-one errors in the group box UI widget and named a few unknown variables.
@ZehMatt has been making some more major changes with how widgets and windows are referenced and are drawn. Eventually this should allow us to make a tutorial system that is robust.
@Gymnasiast, who works on our sister project OpenRCT2, corrected a small namespace mistake in our code.
New contributor @ravsmedstrom standardised some internal naming.
Misc Bug Fixes
There were quite a few bug fixes this month. Please refer to the changelog for a complete list.
Many thanks to @AaronVanGeffen, @gerritdrost (new contributor!), @LeftofZen, @Spacek531, @LeeSpork, @ZehMatt, @Shusaura85, @calosqwqqwq (new contributor!), and @Duncanspumpkin.