A community tool to fix a compatibility issue between Railyard and recent versions of Subway Builder.
Starting with Subway Builder 1.4.x, the game changed the format it uses to read a city's building data. Custom maps built for 1.3.x and earlier ship their building index as buildings_index.json.gz, but the game now expects a packed binary format, buildings_index.bin.gz. Maps that only include the old JSON format will fail to load properly: building foundation depth and height data won't show up in-game, and Railyard will warn that the map needs Subway Builder 1.3.0 or earlier.
This tool converts the old buildings_index.json.gz into the new buildings_index.bin.gz, so older community maps work on current versions of the game.
node convert-buildings-index-v2.js path/to/buildings_index.json.gzThis writes buildings_index.bin and buildings_index.bin.gz in the same folder as the source file. Copy the resulting .bin.gz file into your map's data folder alongside the original .json.gz (both can coexist), making sure it's named exactly buildings_index.bin.gz — the extension matters, the game will silently fail to read it otherwise.
Requires Node.js, no external dependencies.
This is an unofficial, community-made tool. It isn't affiliated with Subway Builder, Redistricter LLC, or the Subway Builder Modded / Railyard projects.
The binary format used here — including the per-building data appended after the foundation-depth section — was reverse-engineered by comparing an official map before and after a game update, not confirmed by the developer. It matches every officially-generated binary file tested against it, but the game's internal format could change again in a future release without notice, which could break this tool.
MIT — see LICENSE.
0 comments
log in to comment.