9.7 KiB
JGR's Patchpack version 0.9.0
This is a collection of patches applied to OpenTTD
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" in readme.txt for details.
See readme.txt for the original OpenTTD readme.
The thread for this patchpack can be found here.
See jgrpp-changelog.md for changelog.
This patchpack contains the following
-
Routing restrictions: thread
This is developed in the tracerestrict branch.
A version of this feature rebased onto Cirdan's new map features branch is in the tracerestrict-cirdan branch, see this thread -
Programmable signals: imported
This includes additions to the patch from the Spring 2013 Patch Pack -
Upgrade airports: imported
-
Vehicle group info: imported
-
Close adjacent level crossings: imported
-
Zoning: imported
- This is modified to remove unimplemented modes, implement station ownership checks and implement station facility checks for industries.
- Add a mode to show restricted signals.
-
Departure boards: imported
- Fixed departure boards with orders with timetabled 0 travel times, e.g. those with depot service orders.
- Made modifications to work with day length greater than 1.
-
Town cargo generation factor: imported
-
Vehicles visible in tunnels (transparency setting): imported
-
Signals in tunnels and on bridges: imported
-
Measurement tools: imported
-
255 GRFs in single player mode: imported
-
Improved breakdowns: imported
-
Timetabling waiting time in depots: imported
-
Picking and placing single houses in scenario editor: imported
-
Smallmap screenshots: imported
This is modified to use an extra button in the smallmap window, instead of a console command, and use the current zoom level and display mode of the smallmap window. -
Automated timetables and separation: imported
- Auto timetabling: Bias timetable adjustment to favour negative adjustments; this is to avoid positive feedback between congestion delays and increased timetable length. Reduce jam detection threshold.
- Auto separation: Fix handling of non-station orders (e.g. waypoints and depots). Add a company setting to scale vehicle lateness adjustments. No longer set vehicle lateness to 0 if separation fails, instead leave it as it was.
- Timetable GUI: Allow clearing of timetable time fields which are at 0. Allow explicitly setting timetable time fields to 0 without clearing them.
- Add a company setting to enable automatic timetabling for new vehicles.
-
Vehicle repair cost: imported
-
Enhanced viewport: imported
-
Infrastructure sharing: imported
-
Rating in town label: imported
-
Day length: imported
-
Order occupancy
Add column to orders GUI to show occupancy running average. -
Servicing
Send vehicles which need auto-renewing due to age for servicing, even if breakdowns are off and no servicing if no breakdowns is on. -
Everest tree-line: imported (added in v0.2.0)
- Remove "no trees on this level" setting.
- Add on/off setting (default off).
- Add to settings GUI, add strings, help texts, etc.
- Change algorithm to make tree line and border of mixed forest zone less abrupt.
-
Enable building rivers in game (added in v0.3.0)
This is controlled by a setting (off by default). -
More conditional orders: imported (added in v0.3.0)
-
Include the train length and group name in the vehicle details window (added in v0.3.0)
This are each controlled by a setting (on by default). -
Pause the game when cargo dest link graph jobs lag (added in v0.4.0)
Previously if a cargo dest link graph update job took longer than permitted, the game would block until it completed, preventing all user interaction.
This patch instead pauses the game until the job is completed. (This does not apply to network clients, which cannot pause/unpause the game). -
Daily/monthly/yearly scripts patch: imported (added in v0.5.0)
-
Flat minimap owner screenshot patch: imported (added in v0.5.0)
-
Extra large maps: imported (added in v0.5.0)
Maximum map size is now 256M tiles, ranging from 16k x 16k to 256 x 1M. (The NewGRF debug inspection window is disabled for all map coordinates longer than 27 bits). -
Build and refit: imported (added in v0.5.0)
This has been modified to change the UI, and make it multiplayer safe. -
Pause on savegame load if ctrl key is pressed. (added in v0.6.0)
-
Reverse at waypoint orders (added in v0.7.0)
-
Show a company-coloured mark next to vehicles in vehicle list windows, if their owner does not match list owner (imported: by McZapkie) (added in v0.8.0)
This has been modified to change the mark and be controlled by a setting (on by default). -
Performance improvements
- Improve dedicated server performance. Up to approximately 2.5x faster. (added in v0.8.1)
- Improve cargodest link graph calculation performance. Up to approximately 33% faster. (added in v0.8.1)
- Add a 32bpp SSE2 palette animator. This is ~4x faster than the non-accelerated palette animator. (added in v0.9.0)
- Various minor changes (see changelog).
-
Save/load and savegame format changes
- Various changes to improve handling of savegames which use features not in trunk.
- Savegames from this patchpack are not loadable in trunk.
- Savegames from trunk up to the last savegame version which has been merged into this branch (jgrpp) should be loadable in this patchpack.
- Savegames from other branches which use the save/load code in the save_ext branch (usually suffixed: -sx) which are also merged into this branch (jgrpp), or where the added feature is marked as discardable/ignorable, should be loadable in this patchpack.
- Savegames from other patched versions are not loadable in this patchpack except for savegames from the tracerestrict branch (routing restrictions patch), savegames from the Spring 2013 Patch Pack v2.0, v2.1, v2.2 (subject to caveats, see below).
-
Changes to the crash log (added in v0.5.0)
Enable stack traces on MinGW, try to demangle C++ symbol names, try to use libbfd for better symbol lookup, handle SIGSEGV while backtracing. -
Miscellaneous
- Label threads with a descriptive name on supported Unixy platforms. (added in v0.8.1)
-
Translations
- German (by Auge): including vehicle group info, vehicle details window, the zoning toolbar, and settings for improved breakdowns and adjacent level crossings.
Caveats for loading savegames from the Spring 2013 Patch Pack:
- This is not guaranteed to be bug free
- Savegames with huge airports are rejected
- Map sizes greater than 16k x 16k are rejected
- PAX signals/stations and traffic lights are cleared, leaving ordinary signals/stations/roads
- Rail ageing/grass on tracks, trip histories, leave order/wait for cargo, auto advertising campaigns, base cost multipliers and other features not in this patch pack are dropped/ignored.
- SpringPP v2.0.102/103 only:
- Savegames which have aircraft approaching, landing, taking off or landed at an oil rig are rejected
- The inflation cost multiplier is adjusted on load
A note on branches
Many features have two branches, the feature branches are just the raw features, without any modified savegame code.
There are not generally savegame compatible with anything else, except for loading of trunk savegame versions at or before the point where the branch diverged from trunk.
All other load attempts may result in undefined behaviour.
The feature-sx branches use the savegame framework in the save_ext branch.