diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b179567118f04d786067ad30991c86cf3f0e7835 GIT binary patch literal 8196 zc%1E7TWl0n7(U-=3o~?}1GKha2R2=ZfGw;o*yWaNZ_1@mWLvr|h3)LlNC#$T%FgT- zEH#aZ529#%(s+wLc_H$kBE}aV6h$8uO)$m>jK<4@CiGQP1n#(uZlIWZv$HPLmO_ok1SIm>=1 zn0IL(AoFJ=baHw^rc>+)5-LlU68gN9kT|bWny>Vy1_q^}w7jUuX5KUE8n)%^)AJ7F zv|Qz|S#HnT)}FlX`TMiBS;$#VT3(n{&1}I`UA@gTlg53z>h-VhmE?=>#skwDaqHFuE zdoEVV3l}YxYNSE-C@t5x*U<9=s*}|%&9DyjjTxFd(qA+jBV+2lmYUPWg=iEnR@E(8 zdTYI+1P%TSC^bzLGRDz@;U1Txg5Zx4Q5vKnjZJQst$Cwpf_zr=Ju8(4Wxwa?$m{H{ z#sgL>w@bYa%R!LUpy666CiNa+8W3eCxYHtSQ2I7& zx-`SJeJ6VwyBic`!0WC})BGHk)-9=0l1iT-e=M*iGOVJ(bkAlL$X|#ioS45R(Zrfy zaiXPF3LbPc5#zQ%6w*vONjDiLc`{B;ktfM%@&-9i-Y1`uFUfc0XYwn6Ihc!is6;iE zVg(wp0j-E*Bihk}J=lvRhA;vHhvDEDj$<4r@E}g&VVuIFcmmJjIXsUS@CshT>o|)y z@eVHFLwtl!a2a3WYkY$r@f&`}68YfYi_BHtX#8heSB-%RT&1l zElG810r;w)Rx7^heO1g*>_xv0rDe-Yg*UTy`&giUOz^5!p37TDR|u?J{T$xH+jtl6;XFRzs{ev%{(Jl|L&v*jtn)9^bzDs5 zEz`CRk*jCq8xmy!)p_UtuIqpQ4-q274GffbCOg~7^*1~3tQ}$3a4CTN^@jjV`G?_u Q?n6NM{tw^(;rpNb0f$*?type == VEH_TRAIN) { + if (front->type == VEH_TRAIN && _settings_game.order.station_length_loading_penalty) { /* Each platform tile is worth 2 rail vehicles. */ int overhang = front->GetGroundVehicleCache()->cached_total_length - st->GetPlatformLength(front->tile) * TILE_SIZE; if (overhang > 0) { diff --git a/src/lang/english.txt b/src/lang/english.txt --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -1777,6 +1777,9 @@ STR_CONFIG_SETTING_SERVINT_DISABLED STR_CONFIG_SETTING_NOSERVICE :Disable servicing when breakdowns set to none: {STRING2} STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :When enabled, vehicles do not get serviced if they cannot break down +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY :Loading speed penalty for trains that are longer than the station: {STRING2} +STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT :When enabled, trains which are too long for the station load more slowly than a train which fits the station. This setting does not affect pathfinding. + STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Enable wagon speed limits: {STRING2} STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :When enabled, also use speed limits of wagons for deciding the maximum speed of a train diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1918,6 +1918,7 @@ static SettingsContainer &GetSettingsTre limitations->Add(new SettingEntry("construction.road_stop_on_competitor_road")); limitations->Add(new SettingEntry("construction.crossing_with_competitor")); limitations->Add(new SettingEntry("vehicle.disable_elrails")); + limitations->Add(new SettingEntry("order.station_length_loading_penalty")); } SettingsPage *disasters = main->Add(new SettingsPage(STR_CONFIG_SETTING_ACCIDENTS)); diff --git a/src/settings_type.h b/src/settings_type.h --- a/src/settings_type.h +++ b/src/settings_type.h @@ -501,6 +501,7 @@ struct OrderSettings { bool selectgoods; ///< only send the goods to station if a train has been there bool no_servicing_if_no_breakdowns; ///< don't send vehicles to depot when breakdowns are disabled bool serviceathelipad; ///< service helicopters at helipads automatically (no need to send to depot) + bool station_length_loading_penalty; ///< make trains longer than the station load more slowly }; /** Settings related to vehicles. */ diff --git a/src/table/settings/game_settings.ini b/src/table/settings/game_settings.ini --- a/src/table/settings/game_settings.ini +++ b/src/table/settings/game_settings.ini @@ -79,6 +79,13 @@ strhelp = STR_CONFIG_SETTING_SERVICEATH cat = SC_EXPERT [SDT_BOOL] +var = order.station_length_loading_penalty +def = true +str = STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY +strhelp = STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT +cat = SC_EXPERT + +[SDT_BOOL] var = order.gradual_loading from = SLV_40 flags = SF_NO_NETWORK