diff --git a/src/lang/extra/czech.txt b/src/lang/extra/czech.txt index 0951d6004c..f4d898ec2f 100644 --- a/src/lang/extra/czech.txt +++ b/src/lang/extra/czech.txt @@ -1735,7 +1735,7 @@ STR_ERROR_SIGNAL_CHANGES :{WHITE}Počet v STR_ERROR_BRIDGE_TOO_LOW_FOR_STATION :{WHITE}Most je na stanici příliš nízký STR_ERROR_BRIDGE_PILLARS_OBSTRUCT_STATION :{WHITE}Pilíře mostu překáží stanici STR_ERROR_CHUNNEL_THROUGH_MAP_BORDER :{WHITE}Podmořský tunel by končil mimo mapu -STR_ERROR_CHUNNEL_RAMP :{WHITE}... podmořské tunely musí mít nájezdovou rampu v délce od 5 do {NUM} políček. +STR_ERROR_CHUNNEL_RAMP :{WHITE}... podmořské tunely musí mít nájezdovou rampu v délce od {NUM} do {NUM} políček. STR_ERROR_TUNNEL_TOO_MANY :{WHITE}... příliš mnoho tunelů STR_ERROR_NO_DRILLING_ABOVE_CHUNNEL :{WHITE}Nad podmořskými tunely není povolen provoz ropných vrtů. STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY_FOR_CHUNNEL :{WHITE}Na průjezd pod druhým tunelem jsou zapotřebí tři políčka diff --git a/src/lang/extra/english.txt b/src/lang/extra/english.txt index 47094daca3..744a97c45f 100644 --- a/src/lang/extra/english.txt +++ b/src/lang/extra/english.txt @@ -202,7 +202,7 @@ STR_CONFIG_SETTING_SHIP_COLLISION_AVOIDANCE :Ships avoid col STR_CONFIG_SETTING_SHIP_COLLISION_AVOIDANCE_HELPTEXT :When enabled, ships try to avoid passing through each other. The best results are obtained when 90° turns are forbidden. STR_CONFIG_SETTING_CHUNNEL :Allow construction of tunnels under water: {STRING2} -STR_CONFIG_SETTING_CHUNNEL_HELPTEXT :When enabled, tunnels can be constructed under bodies of water at sea level. This requires the tunnel ends to be least 3 tiles away from the shore. +STR_CONFIG_SETTING_CHUNNEL_HELPTEXT :When enabled, tunnels can be constructed under bodies of water at sea level. At each end of the tunnel the gap between the tunnel and coast tiles must be between {NUM} and {NUM} tiles. STR_CONFIG_SETTING_NO_TRAIN_CRASH_OTHER_COMPANY :Trains from different companies may not crash into each other: {STRING2} STR_CONFIG_SETTING_NO_TRAIN_CRASH_OTHER_COMPANY_HELPTEXT :This setting is primarily to prevent untrusted players deliberately causing crashes involving other companies' trains in multi-player rail infrastructure sharing games. @@ -1846,7 +1846,7 @@ STR_ERROR_SIGNAL_CHANGES :{WHITE}Number o STR_ERROR_BRIDGE_TOO_LOW_FOR_STATION :{WHITE}Bridge is too low for station STR_ERROR_BRIDGE_PILLARS_OBSTRUCT_STATION :{WHITE}Bridge pillars obstruct station STR_ERROR_CHUNNEL_THROUGH_MAP_BORDER :{WHITE}Tunnel under water would end out of the map -STR_ERROR_CHUNNEL_RAMP :{WHITE}... only ramp length between 5 and {NUM} tiles is allowed for tunnels under water. +STR_ERROR_CHUNNEL_RAMP :{WHITE}... tunnels under water require the gap between tunnel and coast tiles to be between {NUM} and {NUM} tiles. STR_ERROR_TUNNEL_TOO_MANY :{WHITE}... too many tunnels STR_ERROR_NO_DRILLING_ABOVE_CHUNNEL :{WHITE}No oil rigs allowed above underwater tunnels. STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY_FOR_CHUNNEL :{WHITE}Three tiles are needed to pass under the other tunnel. diff --git a/src/lang/extra/galician.txt b/src/lang/extra/galician.txt index 74291be4a0..bc26af4a19 100644 --- a/src/lang/extra/galician.txt +++ b/src/lang/extra/galician.txt @@ -1767,7 +1767,7 @@ STR_ERROR_SIGNAL_CHANGES :{WHITE}O númer STR_ERROR_BRIDGE_TOO_LOW_FOR_STATION :{WHITE}A pont é demasiado baixa para unha estación STR_ERROR_BRIDGE_PILLARS_OBSTRUCT_STATION :{WHITE}Os piares da ponte obstrúen a estación STR_ERROR_CHUNNEL_THROUGH_MAP_BORDER :{WHITE}O túnel baixo a auga remataría fora do mapa -STR_ERROR_CHUNNEL_RAMP :{WHITE}... só se permite a lonxitude de rampa entre 5 e {NUM} cadros para túneis baixo a auga. +STR_ERROR_CHUNNEL_RAMP :{WHITE}... só se permite a lonxitude de rampa entre {NUM} e {NUM} cadros para túneis baixo a auga. STR_ERROR_TUNNEL_TOO_MANY :{WHITE}... demasiados túneis STR_ERROR_NO_DRILLING_ABOVE_CHUNNEL :{WHITE}Non se permiten pozos petrolíferos por riba de túneis baixo a auga. STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY_FOR_CHUNNEL :{WHITE}Necesítanse 3 cadros para pasar baixo o outro túnel. diff --git a/src/lang/extra/german.txt b/src/lang/extra/german.txt index 567e2bb7ee..0ac7b7d2dd 100644 --- a/src/lang/extra/german.txt +++ b/src/lang/extra/german.txt @@ -1557,7 +1557,7 @@ STR_ERROR_SIGNAL_CHANGES :{WHITE}Anzahl d STR_ERROR_BRIDGE_TOO_LOW_FOR_STATION :{WHITE}Die Brücke ist zu niedrig für die Haltestelle STR_ERROR_BRIDGE_PILLARS_OBSTRUCT_STATION :{WHITE}Die Brückenpfeiler behindern die Haltestelle STR_ERROR_CHUNNEL_THROUGH_MAP_BORDER :{WHITE}Unterwassertunnel würde außerhalb der Karte enden -STR_ERROR_CHUNNEL_RAMP :{WHITE}... nur eine Rampenlänge zwischen 5 und {NUM} Kacheln ist für Unterwassertunnel erlaubt. +STR_ERROR_CHUNNEL_RAMP :{WHITE}... nur eine Rampenlänge zwischen {NUM} und {NUM} Kacheln ist für Unterwassertunnel erlaubt. STR_ERROR_TUNNEL_TOO_MANY :{WHITE}... zu viele Tunnel STR_ERROR_NO_DRILLING_ABOVE_CHUNNEL :{WHITE}Keine Ölplattformen über Unterwassertunneln erlaubt STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY_FOR_CHUNNEL :{WHITE}Drei Kacheln sind notwendig, um einen Tunnel unter dem anderen hindurch zu führen diff --git a/src/lang/extra/korean.txt b/src/lang/extra/korean.txt index b7ced83cbc..b22ddc32e1 100644 --- a/src/lang/extra/korean.txt +++ b/src/lang/extra/korean.txt @@ -1768,7 +1768,7 @@ STR_ERROR_SIGNAL_CHANGES :{WHITE}프로 STR_ERROR_BRIDGE_TOO_LOW_FOR_STATION :{WHITE}여기에 역을 짓기에는 다리가 너무 낮습니다. STR_ERROR_BRIDGE_PILLARS_OBSTRUCT_STATION :{WHITE}다리의 기둥이 역과 겹칩니다. STR_ERROR_CHUNNEL_THROUGH_MAP_BORDER :{WHITE}해저 터널이 지도 맨끝을 통과합니다 -STR_ERROR_CHUNNEL_RAMP :{WHITE}... 해저 터널을 만들기 위해서는 5칸에서 {NUM}칸 사이 길이의 여유 공간이 필요합니다. +STR_ERROR_CHUNNEL_RAMP :{WHITE}... 해저 터널을 만들기 위해서는 {NUM}칸에서 {NUM}칸 사이 길이의 여유 공간이 필요합니다. STR_ERROR_TUNNEL_TOO_MANY :{WHITE}... 터널이 너무 많습니다 STR_ERROR_NO_DRILLING_ABOVE_CHUNNEL :{WHITE}해저 터널 위에 유정을 생성할 수 없습니다. STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY_FOR_CHUNNEL :{WHITE}다른 터널을 통과하기 위해서는 3칸의 여유 공간이 필요합니다. diff --git a/src/lang/extra/simplified_chinese.txt b/src/lang/extra/simplified_chinese.txt index c43e3dcd37..07e3b55a9c 100644 --- a/src/lang/extra/simplified_chinese.txt +++ b/src/lang/extra/simplified_chinese.txt @@ -1761,7 +1761,7 @@ STR_ERROR_SIGNAL_CHANGES :{WHITE}太多 STR_ERROR_BRIDGE_TOO_LOW_FOR_STATION :{WHITE}桥梁相对车站太低 STR_ERROR_BRIDGE_PILLARS_OBSTRUCT_STATION :{WHITE}桥柱与车站冲突 STR_ERROR_CHUNNEL_THROUGH_MAP_BORDER :{WHITE}水下隧道出口将超出地图边界 -STR_ERROR_CHUNNEL_RAMP :{WHITE}...只有斜坡的长度在5和{NUM}之间的格子是被允许建设水下隧道的 +STR_ERROR_CHUNNEL_RAMP :{WHITE}...只有斜坡的长度在{NUM}和{NUM}之间的格子是被允许建设水下隧道的 STR_ERROR_TUNNEL_TOO_MANY :{WHITE}...太多隧道 STR_ERROR_NO_DRILLING_ABOVE_CHUNNEL :{WHITE}水下隧道上方不允许存在油井 STR_ERROR_ANOTHER_TUNNEL_IN_THE_WAY_FOR_CHUNNEL :{WHITE}要下穿其他隧道必须有三格以上的余量 diff --git a/src/settings.cpp b/src/settings.cpp index c13f1e7003..dc02c7a66c 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1991,6 +1991,19 @@ static bool DefaultSignalsSettingGUI(SettingOnGuiCtrlData &data) } } +static bool ChunnelSettingGUI(SettingOnGuiCtrlData &data) +{ + switch (data.type) { + case SOGCT_DESCRIPTION_TEXT: + SetDParam(0, 3); + SetDParam(1, 8); + return true; + + default: + return false; + } +} + /* End - GUI callbacks */ /** diff --git a/src/table/settings/world_settings.ini b/src/table/settings/world_settings.ini index 2a2a5a62b2..a1c385f0f3 100644 --- a/src/table/settings/world_settings.ini +++ b/src/table/settings/world_settings.ini @@ -20,6 +20,7 @@ static void MarkAllViewportsDirty(int32 new_value); static bool AllowRoadStopsUnderBridgesSettingGUI(SettingOnGuiCtrlData &data); static bool TreePlacerSettingGUI(SettingOnGuiCtrlData &data); +static bool ChunnelSettingGUI(SettingOnGuiCtrlData &data); const SettingTable _world_settings = { [post-amble] @@ -713,6 +714,7 @@ def = false str = STR_CONFIG_SETTING_CHUNNEL strhelp = STR_CONFIG_SETTING_CHUNNEL_HELPTEXT cat = SC_BASIC +guiproc = ChunnelSettingGUI patxname = ""chunnel.construction.chunnel"" [SDT_VAR] diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index ea0a3b622d..678a134ffe 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -850,10 +850,11 @@ CommandCost CmdBuildBridge(TileIndex end_tile, DoCommandFlag flags, uint32 p1, u static inline StringID IsRampBetweenLimits(TileIndex ramp_start, TileIndex tile, TileIndexDiff delta) { uint min_length = 4; - uint max_length = 7; + uint max_length = 9; if (Delta(ramp_start, tile) < (uint)abs(delta) * min_length || (uint)abs(delta) * max_length < Delta(ramp_start, tile)) { /* Add 1 in message to have consistency with cursor count in game. */ - SetDParam(0, max_length + 1); + SetDParam(0, min_length - 1); + SetDParam(1, max_length - 1); return STR_ERROR_CHUNNEL_RAMP; }