OpenLoco v24.09.1 is out! This release contains fixes for issues that surfaced in the aftermath of the v24.09 release this week.
For a complete summary of changes, please find the changelog on GitHub.
Randomly generated landscapes could lead to a crash (#2615)
In release notes for the previous release, we proudly proclaimed the last functions of the map generator had been implemented. While we had tested these functions extensively using the scenario editor, we had forgotten there was a second path into these functions in the form of scenarios with a randomly generated landscape.
As it turns out, as a result of a change earlier this month, this code path was using invalid height map coordinates. The Locomotion map generator was using 512x512 height maps internally, presumably the intended map size before ultimately settling on the 384x384 we’re all familiar with. When we scaled down the height map earlier this month, aiming for a slight optimisation we had forgotten about this code path, leading to invalid coordinates being used – indeed, anything between 384 and 512. Oops.
Hang on, so we think the map size was intended to be 512x512? Does that mean we can increase the map sizes even within the SC5/SV5 scenario/save format? Well, we think so, but we will need to implement more code paths before we can do so. It’s also questionable if it’s worth doing. The thinking is that, once these code paths are reimplemented, the path to a custom save format becomes feasible as well. Ultimately, that would be the big one, potentially leading to maps much, much bigger than 512x512 tiles.
Reversed car components displayed incorrectly in vehicle window (#2618)
Some keen eyes spotted that vehicles with some of their car components reversed were not being displayed properly in the vehicle window’s component tab. This was the case for trains with engines on the front and back, for example. @duncanspumpkin quickly realised what was wrong, and implemented a fix!
Level crossings display incorrectly when they are over track, trams and road (#2619)
Over the course of the past few months, @duncanspumpkin has started to nibble away at the logic surrounding road tile elements, culminating in tackling the paint road functions just last month. These make up quite a large part of the Locomotion code base, so we did our best to ensure no regressions. Despite this, a funny bug sneaked in: level crossings would not display correctly for the specific combination of a track, road, and tram track! The resulting bug is only a visual bug, which made it even funnier: the level crossing barriers were seemingly ignored. Thankfully, @duncanspumpkin realised what was wrong, and fixed the issue.