Index: src/settings.cpp =================================================================== --- src/settings.cpp (revision 11474) +++ src/settings.cpp (working copy) @@ -1388,6 +1388,9 @@ /***************************************************************************/ /* Vehicle section of the GUI-configure patches window */ + SDT_CONDBOOL(Patches, no_hill_slowdown, 83, SL_MAX_VERSION, 0, 0, false, STR_CONFIG_PATCHES_NOHILLSLOWDOWN, NULL), + SDT_CONDBOOL(Patches, no_curve_slowdown, 83, SL_MAX_VERSION, 0, 0, false, STR_CONFIG_PATCHES_NOCURVESLOWDOWN, NULL), + SDT_BOOL(Patches, realistic_acceleration, 0, 0, false, STR_CONFIG_PATCHES_REALISTICACCEL, NULL), SDT_BOOL(Patches, forbid_90_deg, 0, 0, false, STR_CONFIG_PATCHES_FORBID_90_DEG, NULL), SDT_BOOL(Patches, mammoth_trains, 0,NN, true, STR_CONFIG_PATCHES_MAMMOTHTRAINS, NULL), Index: src/lang/english.txt =================================================================== --- src/lang/english.txt (revision 11474) +++ src/lang/english.txt (working copy) @@ -1028,6 +1028,8 @@ STR_CONFIG_PATCHES_CATCHMENT :{LTBLUE}Allow more realistically sized catchment areas: {ORANGE}{STRING1} STR_CONFIG_PATCHES_EXTRADYNAMITE :{LTBLUE}Allow removal of more town-owned roads, bridges, etc: {ORANGE}{STRING1} STR_CONFIG_PATCHES_MAMMOTHTRAINS :{LTBLUE}Enable building very long trains: {ORANGE}{STRING1} +STR_CONFIG_PATCHES_NOHILLSLOWDOWN :{LTBLUE}Disable slowdown on hills for trains: {ORANGE}{STRING1} +STR_CONFIG_PATCHES_NOCURVESLOWDOWN :{LTBLUE}Disable slowdown on curves for trains: {ORANGE}{STRING1} STR_CONFIG_PATCHES_REALISTICACCEL :{LTBLUE}Enable realistic acceleration for trains: {ORANGE}{STRING1} STR_CONFIG_PATCHES_FORBID_90_DEG :{LTBLUE}Forbid trains and ships to make 90 deg turns: {ORANGE}{STRING1} {LTBLUE} (requires NPF) STR_CONFIG_PATCHES_JOINSTATIONS :{LTBLUE}Join train stations built next to each other: {ORANGE}{STRING1} Index: src/settings_gui.cpp =================================================================== --- src/settings_gui.cpp (revision 11474) +++ src/settings_gui.cpp (working copy) @@ -718,6 +718,8 @@ }; static const char *_patches_vehicles[] = { + "no_hill_slowdown", + "no_curve_slowdown", "realistic_acceleration", "forbid_90_deg", "mammoth_trains", @@ -992,7 +994,7 @@ { WWT_CLOSEBOX, RESIZE_NONE, 10, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, { WWT_CAPTION, RESIZE_NONE, 10, 11, 369, 0, 13, STR_CONFIG_PATCHES_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS}, { WWT_PANEL, RESIZE_NONE, 10, 0, 369, 14, 41, 0x0, STR_NULL}, -{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 42, 380, 0x0, STR_NULL}, +{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 42, 401, 0x0, STR_NULL}, { WWT_TEXTBTN, RESIZE_NONE, 3, 10, 96, 16, 27, STR_CONFIG_PATCHES_GUI, STR_NULL}, { WWT_TEXTBTN, RESIZE_NONE, 3, 97, 183, 16, 27, STR_CONFIG_PATCHES_CONSTRUCTION, STR_NULL}, @@ -1004,7 +1006,7 @@ }; static const WindowDesc _patches_selection_desc = { - WDP_CENTER, WDP_CENTER, 370, 381, 370, 381, + WDP_CENTER, WDP_CENTER, 370, 402, 370, 402, WC_GAME_OPTIONS, WC_NONE, WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET, _patches_selection_widgets, Index: src/saveload.cpp =================================================================== --- src/saveload.cpp (revision 11474) +++ src/saveload.cpp (working copy) @@ -29,7 +29,7 @@ #include "strings.h" #include -extern const uint16 SAVEGAME_VERSION = 82; +extern const uint16 SAVEGAME_VERSION = 83; uint16 _sl_version; ///< the major savegame version identifier byte _sl_minor_version; ///< the minor savegame version, DO NOT USE! Index: src/train_cmd.cpp =================================================================== --- src/train_cmd.cpp (revision 11474) +++ src/train_cmd.cpp (working copy) @@ -2650,7 +2650,7 @@ /** Modify the speed of the vehicle due to a turn */ static void AffectSpeedByDirChange(Vehicle* v, Direction new_dir) { - if (_patches.realistic_acceleration) return; + if (_patches.no_curve_slowdown) return; DirDiff diff = DirDifference(v->direction, new_dir); if (diff == DIRDIFF_SAME) return; @@ -2662,7 +2662,7 @@ /** Modify the speed of the vehicle due to a change in altitude */ static void AffectSpeedByZChange(Vehicle *v, byte old_z) { - if (old_z == v->z_pos || _patches.realistic_acceleration) return; + if (old_z == v->z_pos || _patches.no_hill_slowdown) return; const RailtypeSlowdownParams *rsp = &_railtype_slowdown[v->u.rail.railtype]; Index: src/variables.h =================================================================== --- src/variables.h (revision 11474) +++ src/variables.h (working copy) @@ -117,6 +117,8 @@ bool nonuniform_stations; // allow nonuniform train stations bool adjacent_stations; // allow stations to be built directly adjacent to other stations bool always_small_airport; // always allow small airports + bool no_hill_slowdown; // no hill slowdown for trains + bool no_curve_slowdown; // no curve slowdown for trains bool realistic_acceleration; // realistic acceleration for trains bool wagon_speed_limits; // enable wagon speed limits bool forbid_90_deg; // forbid trains to make 90 deg turns