How to disable the slowing down of trains in slopes and in curves

openttd

With realistic physics, one can disable slowing down in slopes, but not in curves.
With original physics, it is the opposite.

How do I get trains that won't slow down in either slopes or curves ?

As for why I want that… I like to build large hi-speed networks, with cyclotrons at the entry points and crossings. But then, at crossings, one has to go over or under some tracks, which reduces train speeds. Dealing with this bloats the crossings.

With realistic physics, cyclotrons must be very large, diminishing their efficiency. Dealing with this leads to oversized and complex entry points, and crossings, too.

Best Answer

One way is to change the source and recompile OTTD.

  • To compile, follow the how-to here. It is quite simple. Works with VS2012 Express, too.
  • Change train_cmd.cpp. In int Train::GetCurveSpeedLimit() const, change:

if (_settings_game.vehicle.train_acceleration_model == AM_ORIGINAL) return max_speed;

Into

/*if (_settings_game.vehicle.train_acceleration_model == AM_ORIGINAL)*/ return max_speed;

  • Once compiled, copy objs\Win32\Release\openttd.exe to your install directory, which may be C:\Program Files\OpenTTD. Do not overwrite the old .exe. Rename it first. You never know...