1
0
Fork 0

(svn r12369) -Fix (r1681): reset train speed limits when _patches.realistic_acceleration changes

release/0.6
smatz 2008-03-15 19:24:13 +00:00
parent bfae49aeb2
commit 89e9bbfa98
3 changed files with 14 additions and 2 deletions

View File

@ -1195,6 +1195,17 @@ static int32 EngineRenewMoneyUpdate(int32 p1)
return 0; return 0;
} }
static int32 RealisticAccelerationChanged(int32 p1)
{
Vehicle *v;
FOR_ALL_VEHICLES(v) {
if (v->type == VEH_TRAIN && IsFrontEngine(v)) UpdateTrainAcceleration(v);
}
return 0;
}
/** /**
* Check for right TownLayout usage in editor mode. * Check for right TownLayout usage in editor mode.
* The No Road mode is not desirable since towns have to be * The No Road mode is not desirable since towns have to be
@ -1395,7 +1406,7 @@ const SettingDesc _patch_settings[] = {
/***************************************************************************/ /***************************************************************************/
/* Vehicle section of the GUI-configure patches window */ /* Vehicle section of the GUI-configure patches window */
SDT_BOOL(Patches, realistic_acceleration, 0, 0, false, STR_CONFIG_PATCHES_REALISTICACCEL, NULL), SDT_BOOL(Patches, realistic_acceleration, 0, 0, false, STR_CONFIG_PATCHES_REALISTICACCEL, RealisticAccelerationChanged),
SDT_BOOL(Patches, forbid_90_deg, 0, 0, false, STR_CONFIG_PATCHES_FORBID_90_DEG, 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), SDT_BOOL(Patches, mammoth_trains, 0,NN, true, STR_CONFIG_PATCHES_MAMMOTHTRAINS, NULL),
SDT_BOOL(Patches, gotodepot, 0, 0, true, STR_CONFIG_PATCHES_GOTODEPOT, NULL), SDT_BOOL(Patches, gotodepot, 0, 0, true, STR_CONFIG_PATCHES_GOTODEPOT, NULL),

View File

@ -274,6 +274,7 @@ byte FreightWagonMult(CargoID cargo);
int CheckTrainInDepot(const Vehicle *v, bool needs_to_be_stopped); int CheckTrainInDepot(const Vehicle *v, bool needs_to_be_stopped);
int CheckTrainStoppedInDepot(const Vehicle *v); int CheckTrainStoppedInDepot(const Vehicle *v);
void UpdateTrainAcceleration(Vehicle* v);
/** /**
* This class 'wraps' Vehicle; you do not actually instantiate this class. * This class 'wraps' Vehicle; you do not actually instantiate this class.

View File

@ -467,7 +467,7 @@ static int GetTrainAcceleration(Vehicle *v, bool mode)
} }
} }
static void UpdateTrainAcceleration(Vehicle* v) void UpdateTrainAcceleration(Vehicle* v)
{ {
assert(IsFrontEngine(v)); assert(IsFrontEngine(v));