(svn r22073) -Fix: immediately update the train weight when you change the multiplier for train cargo weight

This commit is contained in:
yexo 2011-02-13 20:45:17 +00:00
parent 6a58f34878
commit f1377a228f
2 changed files with 13 additions and 1 deletions

View File

@ -1146,6 +1146,17 @@ static bool StationCatchmentChanged(int32 p1)
return true;
}
static bool MarkAllTrainsDirty(int32 p1)
{
Train *t;
FOR_ALL_TRAINS(t) {
if (t->IsPrimaryVehicle()) t->MarkDirty();
}
SetWindowClassesDirty(WC_VEHICLE_DETAILS);
return true;
}
#ifdef ENABLE_NETWORK
static bool UpdateClientName(int32 p1)

View File

@ -43,6 +43,7 @@ static bool InvalidateCompanyLiveryWindow(int32 p1);
static bool InvalidateNewGRFChangeWindows(int32 p1);
static bool InvalidateIndustryViewWindow(int32 p1);
static bool RedrawTownAuthority(int32 p1);
static bool MarkAllTrainsDirty(int32 p1);
#ifdef ENABLE_NETWORK
static bool UpdateClientName(int32 p1);
@ -422,7 +423,7 @@ const SettingDesc _settings[] = {
SDT_BOOL(GameSettings, order.no_servicing_if_no_breakdowns, 0, 0, true, STR_CONFIG_SETTING_NOSERVICE, NULL),
SDT_BOOL(GameSettings, vehicle.wagon_speed_limits, 0,NN, true, STR_CONFIG_SETTING_WAGONSPEEDLIMITS, UpdateConsists),
SDT_CONDBOOL(GameSettings, vehicle.disable_elrails, 38, SL_MAX_VERSION, 0,NN, false, STR_CONFIG_SETTING_DISABLE_ELRAILS, SettingsDisableElrail),
SDT_CONDVAR(GameSettings, vehicle.freight_trains, SLE_UINT8, 39, SL_MAX_VERSION, 0,NN, 1, 1, 255, 1, STR_CONFIG_SETTING_FREIGHT_TRAINS, NULL),
SDT_CONDVAR(GameSettings, vehicle.freight_trains, SLE_UINT8, 39, SL_MAX_VERSION, 0,NN, 1, 1, 255, 1, STR_CONFIG_SETTING_FREIGHT_TRAINS, MarkAllTrainsDirty),
SDT_CONDNULL( 1, 67, 158), // order.timetabling
SDT_CONDVAR(GameSettings, vehicle.plane_speed, SLE_UINT8, 90, SL_MAX_VERSION, 0,NN, 4, 1, 4, 0, STR_CONFIG_SETTING_PLANE_SPEED, NULL),
SDT_CONDBOOL(GameSettings, vehicle.dynamic_engines, 95, SL_MAX_VERSION, 0,NN, true, STR_CONFIG_SETTING_DYNAMIC_ENGINES, ChangeDynamicEngines),