MCPcopy Create free account
hub / github.com/JGRennison/OpenTTD-patches

github.com/JGRennison/OpenTTD-patches @jgrpp-0.72.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release jgrpp-0.72.4 ↗ · + Follow
27,037 symbols 96,429 edges 1,554 files 11,126 documented · 41% updated 9d agojgrpp-0.72.4 · 2026-06-19★ 778109 open issues

Browse by type

Functions 21,952 Types & classes 5,085
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

JGR's Patchpack version 0.72.4

This is a collection of features and other modifications applied to OpenTTD.
It's a separate version of the game which can be installed and played alongside the standard game, not a loadable mod (NewGRF, script, or so on).

This is mainly intended to be used by players who are already familiar with the standard game and how to play it.
It is not aimed at beginner/novice players. Some features and settings are there for very experienced players and so may have a steep learning curve.


OpenTTD is a transport simulation game based upon the popular game Transport Tycoon Deluxe, written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features.

OpenTTD is licensed under the GNU General Public License version 2.0, but includes some 3rd party software under different licenses. See the section "Licensing" below for details,


See below for the original OpenTTD readme.

See jgrpp-changelog.md for the changelog.

See the wiki for guides on how to use some of the included features.

See installation.md for instructions on how to install.

The TT-Forums thread for this patchpack can be found here.

(Nearly all of the patches which are listed below have been modified, fixed or extended in some way, and so are not the same as the originals which are linked).

Railways and Trains

  • Drive-through train depots.
  • Template-based train replacement.
  • Routing restrictions.
    See the guide on the wiki for more information.
  • Programmable pre-signals.
    These are not shown in the build signal window by default.
    See the guide on the wiki for more information.
  • Freight train through load.
    This is an alternative loading mode for freight trains for the case where the train is longer then the platform.
  • Multiple rail types per tile.
  • Polyline rail track building tool.
  • Add news setting for trains waiting due to routing restrictions.
  • Add setting to enable flipping direction of all train types in depot.
  • Realistic train braking.
    In this mode, trains have a stopping distance and will reserve ahead accordingly, trains cannot stop instantly.
    See the guide on the wiki for more information.
  • Allow converting track type under trains when compatible with the new rail type.
  • Add feature where trains adjust their speed to match the train in front to avoid stop-start behaviour.
  • Add a new train purchase window, where locomotive and wagons are in separate lists.
  • Add information about train full and empty loads and achievable speeds to the train info window.
  • Add setting to sort track types by category and speed.
  • Add a setting for whether to pathfind up to back of a one-way path signal.
  • Multi-aspect signal graphics.
    This requires a NewGRF which supports this and realistic train braking.
  • No-entry signals.
    These are not shown in the build signal window by default.
  • Add client setting to show all signals using the default baseset sprites.
  • Remember the last-used signal type between games.
  • Add client setting to show the introduction year for train wagons.
  • Add setting for rail depot maximum speed.
  • Add setting to allow auto-fill signal dragging to skip over stations/waypoints.

Roads and Road Vehicles

  • One-way road and road vehicle overtaking enhancements.
    See the wiki for full details.
  • Add setting to allow articulated road vehicles to overtake other vehicles.
  • Add setting to control road vehicle re-routing on road layout changes.
  • Disallow ordering ordinary road vehicles to tram depots and vice versa.
  • Improve road vehicle pathfinding when multiple vehicles are simultaneously heading to a station with multiple bay/stop entrances.
  • Add setting for default road/tram types.
  • Add a setting to turn off road vehicles slowing in curves.
  • Add a setting to disable road vehicles from passing through each other when blocked for an extended period of time.
  • Allow road vehicle go to station/waypoint orders to have an associated required stop/bay/waypoint direction.
  • Allow changing road vehicle driving side when all road vehicles are in depots.

Level Crossings

  • Close adjacent level crossings.
  • Prevent road vehicles from being stopped on level crossings.
  • Add setting to enable improved level crossing safety.
  • Trains break down after colliding with a road vehicle.
  • Only show level crossing overlay sprites on the outsides of multi-track crossings when using both adjacent and safer crossings settings.

Bridges and Tunnels

  • Signals in tunnels and on bridges.
  • Custom bridge heads.
  • Chunnels (tunnels under bodies of water). Off by default.
  • Allow building rail stations under bridges, subject to height/clearance and bridge pillar limitations.
  • Add setting to allow placing NewGRF rail stations under bridges, when the GRF doesn't specify whether or not it can be placed under bridges.
  • Add setting to allow placing all NewGRF objects under bridges, even when it would not otherwise be allowed by the GRF.
  • Add setting to allow placing road/tram stops under bridges.
  • Add setting to allow placing docks under bridges.
  • Vehicles visible in tunnels (transparency setting).

Airports

Ships

Vehicles in General

  • Improved breakdowns.
  • Vehicle repair cost setting.
  • Send vehicles which need auto-renewing due to age, for servicing, even if breakdowns are off and no servicing if no breakdowns is on.
  • Add shift-clicking on vehicle depot button to select specific depot.
  • Cargo type filter in vehicle list windows.
  • Add client setting for vehicle naming scheme.
  • Vehicle lifetime profit.
  • Add settings to disable vehicle expiry and introduction after the given years.
  • Open train vehicle details window on total cargo tab if shift pressed.
  • Add news/advice setting to warn if no depot order in vehicle schedule.
  • Add buttons to collapse/expand all groups.
  • Add a setting to include the train length and group name in the vehicle details window.
  • Add a setting for whether to open the new vehicle GUI when share-cloning.
  • Add setting to disable mass action buttons for top-level vehicle lists.
  • Add feature to create a new auto-named group when dragging and dropping a vehicle onto the new group button (ctrl includes shared order vehicles).
  • Add settings to reduce vehicle running costs when a vehicle is stationary or in a depot.
  • If a vehicle's next order is for the current station when leaving, start loading again without moving, instead of leaving.
  • Slots and counters.
    See the guide on the wiki for more information.
  • Add cargo capacity / running cost sort mode to the build vehicle window.
  • Add client settings to show the full group hierarchy in group and vehicle names.

Orders and Timetabling

  • Automated timetables and separation.
  • Allow clearing of timetable time fields which are at 0. Allow explicitly setting timetable time fields to 0 without clearing them.
  • Add client setting to show the remainder ticks in timetable, after dividing to days or minutes.
  • Add a company setting to control the number of ticks used in auto-fill timetable rounding.
  • Cargo type orders.
    This allows order load/unload types to be set per cargo type. (This does work with cargodist).
  • Order occupancy.
    Add column to the orders GUI to show occupancy running average, show the average order occupancy, and add a vehicle sort mode.
  • Timetabling waiting time in depots.
  • Scheduled dispatch.
    This allows dispatching vehicles from timing points using one or more repeating schedules. This is useful for clock-face timetabling.
  • More conditional orders.
    Next station: is cargo waiting, is cargo accepted, number of free platforms, amount of cargo waiting.
    Percent of times, per-cargo load percentage, current time/date, timetable lateness.
    Slots/counters: train in slot, slot occupancy, counter value.
    Scheduled dispatch departure slots.
  • Reverse at waypoint orders.
  • Add a menu item to the vehicle list to change order target, e.g. for moving depot orders to a different depot.
  • Add game setting to allow only non-stop orders for trains and road vehicles.
  • Go to depot and sell vehicle orders.
  • Order mode to lock timetable wait and travel times against autofill/automate changes.
  • Leave early and leave early if any/all cargoes fully loaded order timetable flags.
  • Timetabled wait times at waypoints.
  • Add warning/info messages to the timetable window.
  • Add features to reverse the order of an order list, and to append the reverse of an order list.
    (Use the ctrl key when the end of orders marker is selected, or enable the order management button).
  • Add features to duplicate an individual order and to change the jump target of conditional orders.
  • Add company setting for whether to advance the current order when cloning/copying/sharing (if current depot is in order list).
  • Add vehicle list menu item to mass cancel go to or service at depot orders.
  • Allow changing colour of orders in order list and timetable windows.
  • Add text label and departure board via order types.

Stations

  • Departure boards.
  • Add road waypoints.
  • Add a setting to increase the station catchment radius.
  • Station rating: track "last visited vehicle type" separately per cargo.
  • Add setting to scale station cargo capacity and rating tolerance by size.
  • Add setting: station rating tolerance to waiting time depends on cargo class.
  • Enable vehicle list buttons in station window when the list would be non-empty.
  • Enable vehicle group management actions on other companies' stations.
  • Add support for allowing/disallowing supply to a station, per cargo, by ctrl-clicking the station cargo rating.
  • Add setting to show a company-coloured mark next to vehicles in vehicle list windows, if their owner does not match the list owner.
  • Add a waiting cargo history graph for stations.
  • Add a tooltip to show station rating details (controlled by a setting).
  • Add sort by number of vehicles calling to the station list window.
  • Add setting to distribute cargo received at a station to all accepting industries equally, instead of just one of them.
  • Add setting to allow hiding viewport labels of individual waypoints.
  • Increase the distance a station can be from the town centre and still be assigned have the same name as the town (no suffix/prefix), for large towns.
  • Allow NewGRFs to supply additional station name strings.
  • Allow generating new default name for station (ctrl-click default button in rename station query window).
  • Allow exchanging a station's name with another station in the same town.

Towns

  • Rating in town label.
  • Random town road reconstruction. This defaults to off.
  • Add very and extremely slow options to town growth rate setting.
  • Add a setting to scale town growth rate by proportion of town cargo transported.
  • Add "indifferent" mode to the town council attitude to area restructuring setting.
  • Disallow converting town-owned roads to types with the no houses flag.
  • Add public roads (road network automatically built between towns) at map generation and in the scenario editor.
  • Add settings for if/when towns can build road bridges and tunnels.
  • Add setting to limit length of continuous inclined roads built by towns.
  • Add setting for whether to allow converting town road to non-house types.
  • Allow overriding town road construction settings and whether town growth is enabled on a per-town basis, add setting to enable this for multiplayer clients.
  • Allow NewGRFs to set town zone radii.
  • Show town count in town directory window.

Industries

  • Allow linking only inputs or outputs to the smallmap and map mode viewports in the industry chain window.
  • Add setting to scale the industry event rate.

Map and Landscaping

Core symbols most depended-on inside this repo

Shape

Method 13,612
Function 8,340
Class 4,005
Enum 1,080

Languages

C++100%
Python1%
TypeScript1%

Modules by API surface

src/3rdparty/catch2/catch.hpp1,345 symbols
src/3rdparty/nlohmann/json.hpp586 symbols
src/3rdparty/fmt/chrono.h313 symbols
src/3rdparty/fmt/base.h290 symbols
src/3rdparty/fmt/format.h287 symbols
src/viewport.cpp251 symbols
src/sl/saveload.cpp234 symbols
src/table/newgrf_debug_data.h233 symbols
src/3rdparty/cpp-btree/btree.h217 symbols
src/vehicle_base.h206 symbols
src/vehicle_gui.cpp186 symbols
src/train_cmd.cpp182 symbols

For agents

$ claude mcp add OpenTTD-patches \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page