diff options
Diffstat (limited to 'manualPorts/openttd-git')
-rw-r--r-- | manualPorts/openttd-git/.footprint | 27 | ||||
-rw-r--r-- | manualPorts/openttd-git/.md5sum | 6 | ||||
-rw-r--r-- | manualPorts/openttd-git/.signature | 12 | ||||
-rw-r--r-- | manualPorts/openttd-git/Pkgfile | 31 | ||||
-rw-r--r-- | manualPorts/openttd-git/signaltunnel.patch | 10 | ||||
-rw-r--r-- | manualPorts/openttd-git/underground.patch | 127 |
6 files changed, 104 insertions, 109 deletions
diff --git a/manualPorts/openttd-git/.footprint b/manualPorts/openttd-git/.footprint index f764f6e..c655c30 100644 --- a/manualPorts/openttd-git/.footprint +++ b/manualPorts/openttd-git/.footprint @@ -2,31 +2,8 @@ drwxr-xr-x root/root usr/ drwxr-xr-x root/root usr/bin/ -rwxr-xr-x root/root usr/bin/openttd drwxr-xr-x root/root usr/share/ -drwxr-xr-x root/root usr/share/applications/ --rw-r--r-- root/root usr/share/applications/openttd.desktop -drwxr-xr-x root/root usr/share/icons/ -drwxr-xr-x root/root usr/share/icons/hicolor/ -drwxr-xr-x root/root usr/share/icons/hicolor/128x128/ -drwxr-xr-x root/root usr/share/icons/hicolor/128x128/apps/ --rw-r--r-- root/root usr/share/icons/hicolor/128x128/apps/openttd.png -drwxr-xr-x root/root usr/share/icons/hicolor/16x16/ -drwxr-xr-x root/root usr/share/icons/hicolor/16x16/apps/ --rw-r--r-- root/root usr/share/icons/hicolor/16x16/apps/openttd.png -drwxr-xr-x root/root usr/share/icons/hicolor/256x256/ -drwxr-xr-x root/root usr/share/icons/hicolor/256x256/apps/ --rw-r--r-- root/root usr/share/icons/hicolor/256x256/apps/openttd.png -drwxr-xr-x root/root usr/share/icons/hicolor/32x32/ -drwxr-xr-x root/root usr/share/icons/hicolor/32x32/apps/ --rw-r--r-- root/root usr/share/icons/hicolor/32x32/apps/openttd.png -drwxr-xr-x root/root usr/share/icons/hicolor/48x48/ -drwxr-xr-x root/root usr/share/icons/hicolor/48x48/apps/ --rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/openttd.png -drwxr-xr-x root/root usr/share/icons/hicolor/64x64/ -drwxr-xr-x root/root usr/share/icons/hicolor/64x64/apps/ --rw-r--r-- root/root usr/share/icons/hicolor/64x64/apps/openttd.png drwxr-xr-x root/root usr/share/man/ -drwxr-xr-x root/root usr/share/man/man6/ --rw-r--r-- root/root usr/share/man/man6/openttd.6.gz +-rw-r--r-- root/root usr/share/man/openttd.6 drwxr-xr-x root/root usr/share/openttd/ drwxr-xr-x root/root usr/share/openttd/ai/ -rw-r--r-- root/root usr/share/openttd/ai/compat_0.7.nut @@ -45,7 +22,6 @@ drwxr-xr-x root/root usr/share/openttd/ai/ drwxr-xr-x root/root usr/share/openttd/baseset/ -rw-r--r-- root/root usr/share/openttd/baseset/no_music.obm -rw-r--r-- root/root usr/share/openttd/baseset/no_sound.obs --rw-r--r-- root/root usr/share/openttd/baseset/openttd.32.bmp -rw-r--r-- root/root usr/share/openttd/baseset/openttd.grf -rw-r--r-- root/root usr/share/openttd/baseset/opntitle.dat -rw-r--r-- root/root usr/share/openttd/baseset/orig_dos.obg @@ -119,4 +95,3 @@ drwxr-xr-x root/root usr/share/openttd/gm/ drwxr-xr-x root/root usr/share/openttd/lang/ -rw-r--r-- root/root usr/share/openttd/lang/english.lng -rw-r--r-- root/root usr/share/openttd/lang/german.lng --rw-r--r-- root/root usr/share/openttd/openttd.32.xpm diff --git a/manualPorts/openttd-git/.md5sum b/manualPorts/openttd-git/.md5sum index d074158..b90c323 100644 --- a/manualPorts/openttd-git/.md5sum +++ b/manualPorts/openttd-git/.md5sum @@ -1,8 +1,8 @@ -896f78f45b4eb383ffa3c8c3ff820345 1507902d0.tar.gz +f1659e3918265ae1adf7438fb7e08816 90e849198.tar.gz 4f4a6465cd5b84964b7ceecd1c06d686 opengfx-0.5.4.zip 858b79d44aea6de5e15d9d1439e86cc3 openmsx-0.3.1.zip 6e3a5cf97fe69e3a351c3e0615a14b04 opensfx-0.2.3.zip 00fd6afd1ab1bfbd8d775175a42c3899 opntitle.dat -327f0939a98319129eeb882aa6458318 signaltunnel.patch +6ea5e729eb6938a4cb22697264c579cf signaltunnel.patch 8ad3a015b929ff835823d9f9bb917052 sloped-stations.patch -9871d95f6fcb5c339fd415feb4cfd971 underground.patch +7379093b2eac3c00276e249d766d46fd underground.patch diff --git a/manualPorts/openttd-git/.signature b/manualPorts/openttd-git/.signature index 1e45e8e..5468b96 100644 --- a/manualPorts/openttd-git/.signature +++ b/manualPorts/openttd-git/.signature @@ -1,12 +1,12 @@ untrusted comment: verify with /etc/ports/deepthought.pub -RWQxCptPusLGGiePpNzl+UvU7W/oIS/P8RIKCFGLLg9WU8BX5QsMPPsN2PFtHdU+p9Wj4xyiF4kVw8HUTQ+gZdSQdieFjK6EhAQ= -SHA256 (Pkgfile) = 73deba84f936b5df41c1051f600ce60ba92345e2bfc925d63412042dede905ab -SHA256 (.footprint) = 22ba32498018d9444e92a21f5e8eebf5e31e35f18f5656a262b03a0e789dee9e +RWQxCptPusLGGg2+d5TG1zM54zTPyag4y5yd7ohnZNAgUSkHN9G6qBuSnC/DrYa/yJ6OMAQYW9Egchq4UyJEUTbuA8izwWOt4Q0= +SHA256 (Pkgfile) = 15ec5f288dffb18fecfc81ecbfaa2e40f3cc1addf67e28cfdf1fc9d7f629ef30 +SHA256 (.footprint) = 55238a96cdf0a21cc2e44a17f0b6cbe673ccdd1a9d1828baaedce7685792ebb6 SHA256 (opengfx-0.5.4.zip) = 3d136d776906dbe8b5df1434cb9a68d1249511a3c4cfaca55cc24cc0028ae078 SHA256 (opensfx-0.2.3.zip) = 3574745ac0c138bae53b56972591db8d778ad9faffd51deae37a48a563e71662 SHA256 (openmsx-0.3.1.zip) = 92e293ae89f13ad679f43185e83fb81fb8cad47fe63f4af3d3d9f955130460f5 -SHA256 (signaltunnel.patch) = 0c344148a135724002c1acd5705c40cbcd8e68e1032360df377ee3488d086a29 +SHA256 (signaltunnel.patch) = 71bcf7a066febcb7a78ad9a3d1c57eaef7d2ae5d55fe117c3eee8526983c7312 SHA256 (sloped-stations.patch) = 0189fe2ed5967c391cbf24546ae529df2fffa3af31bd2755440719648b2b0f2b -SHA256 (underground.patch) = 2be65ed026603040535532da5c46a6f57d8c731cd0b97052025de3d0da63d403 +SHA256 (underground.patch) = 5a0c0fded70faefe3323e775421b674507a8dd8c5e141e5ac5219c040570b606 SHA256 (opntitle.dat) = f4931200a68a6f592716ec2dce468530670484dd357ab52c3a2272b9db3dfd95 -SHA256 (1507902d0.tar.gz) = f91be0e4848fc23440cc2237f6e280ac7aa066359beb561597ebb27d52577bda +SHA256 (90e849198.tar.gz) = 5d7a1ec0567c8e756b6637b738259c6439f7b33639e3ca54d4da22b2ba7637bd diff --git a/manualPorts/openttd-git/Pkgfile b/manualPorts/openttd-git/Pkgfile index 5f4372a..4bb6058 100644 --- a/manualPorts/openttd-git/Pkgfile +++ b/manualPorts/openttd-git/Pkgfile @@ -5,7 +5,7 @@ # Depends on: libsdl libpng fontconfig lzo name=openttd-git -version=29469.1507902d0 +version=29487.90e849198 gfxversion=0.5.4 sfxversion=0.2.3 @@ -36,29 +36,30 @@ build() { "${HASH}" \ 0 \ 0 \ + "${ISODATE:0:4}" \ > .ottdrev sed -i ' - s,"\$ROOT_DIR/\.git","/dev/does/not/exist", - ' findversion.sh + s,"\${CMAKE_SOURCE_DIR}/\.git","/dev/does/not/exist", + ' cmake/scripts/FindVersion.cmake patch -p1 -i "$SRC/signaltunnel.patch" # patch -p1 -i "$SRC/sloped-stations.patch" # broken! patch -p1 -i "$SRC/underground.patch" # broken? - sed -i ' - s/multiplayer\.txt/multiplayer.md/g - ' Makefile.bundle.in - - ./configure --prefix-dir=/usr \ - --binary-dir=bin \ - --data-dir=share/openttd \ - --icon-dir=share/openttd \ - --man-dir=share/man/man6 \ - --personal-dir=.openttd \ - --install-dir=$PKG - + mkdir build + cd build + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DPERSONAL_DIR=.openttd \ + .. make make DESTDIR=$PKG install + mv "$PKG/usr/share/man/openttd"/* "$PKG/usr/share/man/" + rmdir "$PKG/usr/share/man/openttd" + + mv "$PKG/usr/share/games/openttd" "$PKG/usr/share/" + rmdir "$PKG/usr/share/games" + # Install OpenGFX install -d $PKG/usr/share/openttd/data/opengfx-$gfxversion install -m 644 $SRC/opengfx-$gfxversion/* $PKG/usr/share/openttd/data/opengfx-$gfxversion diff --git a/manualPorts/openttd-git/signaltunnel.patch b/manualPorts/openttd-git/signaltunnel.patch index 4444dda..8b4315b 100644 --- a/manualPorts/openttd-git/signaltunnel.patch +++ b/manualPorts/openttd-git/signaltunnel.patch @@ -23,10 +23,10 @@ index e478dc6e1c..336130877b 100644 STR_LAI_BRIDGE_DESCRIPTION_RAIL_GIRDER_STEEL :Steel girder rail bridge STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL :Steel cantilever rail bridge diff --git a/src/lang/russian.txt b/src/lang/russian.txt -index 4f98e7adee..d4600504b0 100644 +index 3d0a3bfed9..a90fd67a0a 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt -@@ -1712,6 +1712,8 @@ STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Мин. воз +@@ -1713,6 +1713,8 @@ STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Мин. воз STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Минимальный возраст, которого должна достичь компания для начала выпуска акций, которыми смогут торговать другие игроки. STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Процент дохода, начисляемый при частичной перевозке: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Процент прибыли, начисляемый транспорту за частичную перевозку груза. @@ -35,7 +35,7 @@ index 4f98e7adee..d4600504b0 100644 STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :При перетаскивании ставить сигналы каждые: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Настройка периодичности расстановки сигналов методом перетаскивания. Сигналы будут устанавливаться до первого встреченного препятствия (пересечения или другого сигнала). STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} клет{P ку ки ок} -@@ -2887,8 +2889,10 @@ STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Верфь +@@ -2888,8 +2890,10 @@ STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Верфь # Industries come directly from their industry names STR_LAI_TUNNEL_DESCRIPTION_RAILROAD :Железнодорожный туннель @@ -261,10 +261,10 @@ index 162fe97799..186c7b8228 100644 /** diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp -index 968be54f67..462d1a0e70 100644 +index a124d69894..e66bb52029 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp -@@ -1552,6 +1552,7 @@ static SettingsContainer &GetSettingsTree() +@@ -1551,6 +1551,7 @@ static SettingsContainer &GetSettingsTree() SettingsPage *construction = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION)); { construction->Add(new SettingEntry("gui.link_terraform_toolbar")); diff --git a/manualPorts/openttd-git/underground.patch b/manualPorts/openttd-git/underground.patch index fb0d7a0..c1137be 100644 --- a/manualPorts/openttd-git/underground.patch +++ b/manualPorts/openttd-git/underground.patch @@ -1,6 +1,3 @@ -diff --git a/bin/baseset/opntitle.dat b/bin/baseset/opntitle.dat -index 264aaff60b..9793856b76 100644 -Binary files a/bin/baseset/opntitle.dat and b/bin/baseset/opntitle.dat differ diff --git a/layer.txt b/layer.txt new file mode 100644 index 0000000000..a5947189b9 @@ -55,25 +52,35 @@ index 0000000000..a5947189b9 ++ station deletion (departure) +* Expansion of the underground station does not work (when adding cells, a new one is added) +- GF. "jumps" (the non-editable part of the station changes randomly when the station is modified) -diff --git a/source.list b/source.list -index ce3c50729a..6a8b5d71b0 100644 ---- a/source.list -+++ b/source.list -@@ -1183,3 +1183,12 @@ sound/null_s.cpp - - # Threading - thread.h -+ -+# underground -+layer.cpp -+underground_gui.cpp -+layer_type.h -+layer_func.h -+layer_gui.h -+underground_gui.h -+widgets/underground_widget.h +diff --git a/media/baseset/opntitle.dat b/media/baseset/opntitle.dat +index 264aaff60b..9793856b76 100644 +Binary files a/media/baseset/opntitle.dat and b/media/baseset/opntitle.dat differ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 0ccf650abf..92f3505f59 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -205,6 +205,10 @@ add_files( + landscape.h + landscape_type.h + language.h ++ layer.cpp ++ layer_func.h ++ layer_gui.h ++ layer_type.h + livery.h + main_gui.cpp + map.cpp +@@ -442,6 +446,8 @@ add_files( + tunnelbridge.h + tunnelbridge_cmd.cpp + tunnelbridge_map.h ++ underground_gui.cpp ++ underground_gui.h + vehicle.cpp + vehicle_base.h + vehicle_cmd.cpp diff --git a/src/base_station_base.h b/src/base_station_base.h -index 0467866e50..d69bf21c88 100644 +index 40543f1b8f..ace01445a9 100644 --- a/src/base_station_base.h +++ b/src/base_station_base.h @@ -26,6 +26,13 @@ struct StationSpecList { @@ -633,10 +640,10 @@ index 0f30221559..b9703f79b8 100644 STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Classe d'estació: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipus d'estació: {LTBLUE}{STRING} diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt -index 7f20426f48..28955b829e 100644 +index 0bf3fab71a..a5662cac1f 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt -@@ -2720,7 +2720,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Vlasnik +@@ -2721,7 +2721,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Vlasnik STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Vlasnik željeznice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Područna nadležnost: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nijedan/Nitko/Ništa @@ -672,10 +679,10 @@ index f501b89c45..01160aad71 100644 STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Stationsklasse: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Stationstype: {LTBLUE}{STRING} diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt -index 4dfbb65476..955bb07ebb 100644 +index 5fa1fb4628..ce2824edc2 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt -@@ -2624,7 +2624,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eigenaar +@@ -2625,7 +2625,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eigenaar STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Eigenaar van spoorweg: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Gemeente: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Geen @@ -935,7 +942,7 @@ index 7415e01f1e..0a4f617f4c 100644 STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Tegund stöðvar: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tegund stöðvar: {LTBLUE}{STRING} diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt -index b189ce98f4..3019b3a670 100644 +index 3096e17f8c..96511821f5 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -2583,7 +2583,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Pemilik @@ -974,10 +981,10 @@ index 2556c68304..82c34901bc 100644 STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Tipo stazione: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo stazione: {LTBLUE}{STRING} diff --git a/src/lang/korean.txt b/src/lang/korean.txt -index 8bbf5bae48..564606ebcb 100644 +index 077deaec7c..80bb5912bf 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt -@@ -2625,7 +2625,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}전찻 +@@ -2626,7 +2626,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}전찻 STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}철도 소유주: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}지역 당국: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :없음 @@ -1000,10 +1007,10 @@ index 629e3d90df..46082b83e2 100644 STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Classis stationis: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Typus stationis: {LTBLUE}{STRING} diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt -index 7998346592..3bedefac20 100644 +index 821f065efe..d66e6384d2 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt -@@ -2591,7 +2591,7 @@ STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Dzelzce +@@ -2630,7 +2630,7 @@ STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Dzelzce STR_LAND_AREA_INFORMATION_RAIL_OWNER.kas :{BLACK}Dzelzceļa īpašniece: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Pašvaldība: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Neviena @@ -1117,7 +1124,7 @@ index b3c04eaaf0..4e874722fb 100644 STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Clasa staţiei: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tip staţie: {LTBLUE}{STRING} diff --git a/src/lang/russian.txt b/src/lang/russian.txt -index 4f98e7adee..3c3033aa02 100644 +index 3d0a3bfed9..5910c89162 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -588,6 +588,18 @@ STR_LANDSCAPING_MENU_PLANT_TREES :Высадка @@ -1139,7 +1146,7 @@ index 4f98e7adee..3c3033aa02 100644 ############ range for music menu starts STR_TOOLBAR_SOUND_MUSIC :Звук/музыка ############ range ends here -@@ -2804,7 +2816,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Влад +@@ -2805,7 +2817,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Влад STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Владелец ж/д пути: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Администрация: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Нет @@ -1148,7 +1155,7 @@ index 4f98e7adee..3c3033aa02 100644 STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Построено: {LTBLUE}{DATE_LONG} STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Класс станции: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Тип станции: {LTBLUE}{STRING} -@@ -5378,3 +5390,35 @@ STR_PLANE :{BLACK}{PLANE} +@@ -5379,3 +5391,35 @@ STR_PLANE :{BLACK}{PLANE} STR_SHIP :{BLACK}{SHIP} STR_TOOLBAR_RAILTYPE_VELOCITY :{STRING} ({VELOCITY}) @@ -1198,10 +1205,10 @@ index 7567da7370..13b501ac1f 100644 STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Klasa stanice: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Vrsta stanice: {LTBLUE}{STRING} diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt -index ac0764838e..ffa35f9e3d 100644 +index 6d0161c314..c5a18164fd 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt -@@ -2624,7 +2624,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}有轨 +@@ -2625,7 +2625,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}有轨 STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}铁路归属:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}地方政府:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :没有 @@ -1250,7 +1257,7 @@ index 0a2a34b880..cf5d97c101 100644 STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Clase de estación: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Tipo de estación: {LTBLUE}{STRING} diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt -index 85e7cfdcb4..a332847918 100644 +index fcce72e0b2..60408b2b7a 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -2626,7 +2626,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta @@ -1302,10 +1309,10 @@ index 46ecfa5675..22a3c46638 100644 STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}ประเภทของสถานี: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}รูปแบบของสถานี: {LTBLUE}{STRING} diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt -index 3aa84cc35a..902f27dba6 100644 +index 17463264e4..daece9d480 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt -@@ -2563,7 +2563,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}電車 +@@ -2565,7 +2565,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}電車 STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}鐵路所有者:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}地方政府:{LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :無 @@ -2118,7 +2125,7 @@ index 51c56684a9..1841263671 100644 static void Check_MAPS() diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h -index 5065e568ba..bd022f5efe 100644 +index 01a074bd80..407e4fb12e 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -303,6 +303,8 @@ enum SaveLoadVersion : uint16 { @@ -2151,7 +2158,7 @@ index 39a64034b9..b3cb22304f 100644 WID_CS_START_DATE_TEXT = ::WID_CS_START_DATE_TEXT, ///< Clickable start date value. WID_CS_START_DATE_UP = ::WID_CS_START_DATE_UP, ///< Increase start year (start later). diff --git a/src/settings.cpp b/src/settings.cpp -index 7fb2e72491..3e19acacbc 100644 +index 505638e94e..ae0ccb53f6 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -31,6 +31,7 @@ @@ -2184,7 +2191,7 @@ index fdb2b0f862..27708eb73b 100644 byte oil_refinery_limit; ///< distance oil refineries allowed from map edge byte snow_line_height; ///< the configured snow line height diff --git a/src/station.cpp b/src/station.cpp -index ec332e0bb2..5648b39ed9 100644 +index 6f55574acf..b069ce9865 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -11,6 +11,7 @@ @@ -2195,7 +2202,7 @@ index ec332e0bb2..5648b39ed9 100644 #include "viewport_func.h" #include "viewport_kdtree.h" #include "date_func.h" -@@ -494,7 +495,7 @@ void StationRect::MakeEmpty() +@@ -493,7 +494,7 @@ void StationRect::MakeEmpty() /** * Determines whether a given point (x, y) is within a certain distance of * the station rectangle. @@ -2204,7 +2211,7 @@ index ec332e0bb2..5648b39ed9 100644 * @param x X coordinate * @param y Y coordinate * @param distance The maximum distance a point may have (L1 norm) -@@ -513,8 +514,10 @@ bool StationRect::IsEmpty() const +@@ -512,8 +513,10 @@ bool StationRect::IsEmpty() const CommandCost StationRect::BeforeAddTile(TileIndex tile, StationRectMode mode) { @@ -2217,7 +2224,7 @@ index ec332e0bb2..5648b39ed9 100644 if (this->IsEmpty()) { /* we are adding the first station tile */ if (mode != ADD_TEST) { -@@ -567,28 +570,35 @@ CommandCost StationRect::BeforeAddRect(TileIndex tile, int w, int h, StationRect +@@ -566,28 +569,35 @@ CommandCost StationRect::BeforeAddRect(TileIndex tile, int w, int h, StationRect */ /* static */ bool StationRect::ScanForStationTiles(StationID st_id, int left_a, int top_a, int right_a, int bottom_a) { @@ -2263,7 +2270,7 @@ index ec332e0bb2..5648b39ed9 100644 /* can we reduce the rect in either direction? */ bool reduce_x = ((left_edge || right_edge) && !ScanForStationTiles(st->index, x, this->top, x, this->bottom)); -@@ -627,8 +637,13 @@ bool StationRect::AfterRemoveTile(BaseStation *st, TileIndex tile) +@@ -626,8 +636,13 @@ bool StationRect::AfterRemoveTile(BaseStation *st, TileIndex tile) bool StationRect::AfterRemoveRect(BaseStation *st, TileArea ta) { @@ -2280,7 +2287,7 @@ index ec332e0bb2..5648b39ed9 100644 bool empty = this->AfterRemoveTile(st, ta.tile); if (ta.w != 1 || ta.h != 1) empty = empty || this->AfterRemoveTile(st, TILE_ADDXY(ta.tile, ta.w - 1, ta.h - 1)); diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp -index 6cfd94bb2f..985e3b3c05 100644 +index 7bce21353d..bf1366cb90 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -11,6 +11,7 @@ @@ -2895,7 +2902,7 @@ index 303e4c7293..2f0a37a55c 100644 SPR_IMG_MESSAGES, // WID_TN_MESSAGES SPR_IMG_QUERY, // WID_TN_HELP diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp -index 507cccd565..1918651405 100644 +index 39dfa7db17..e757e2a3e2 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -12,6 +12,7 @@ @@ -2906,7 +2913,7 @@ index 507cccd565..1918651405 100644 #include "viewport_func.h" #include "viewport_kdtree.h" #include "cmd_helper.h" -@@ -2095,7 +2096,7 @@ static Town *CreateRandomTown(uint attempts, uint32 townnameparts, TownSize size +@@ -2096,7 +2097,7 @@ static Town *CreateRandomTown(uint attempts, uint32 townnameparts, TownSize size do { /* Generate a tile index not too close from the edge */ @@ -2915,7 +2922,7 @@ index 507cccd565..1918651405 100644 /* if we tried to place the town on water, slide it over onto * the nearest likely-looking spot */ -@@ -2271,6 +2272,9 @@ static inline bool CanBuildHouseHere(TileIndex tile, bool noslope) +@@ -2272,6 +2273,9 @@ static inline bool CanBuildHouseHere(TileIndex tile, bool noslope) Slope slope = GetTileSlope(tile); if ((noslope && slope != SLOPE_FLAT) || IsSteepSlope(slope)) return false; @@ -2925,7 +2932,7 @@ index 507cccd565..1918651405 100644 /* at least one RoadTypes allow building the house here? */ if (!RoadTypesAllowHouseHere(tile)) return false; -@@ -2708,6 +2712,8 @@ CommandCost CmdRenameTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 +@@ -2711,6 +2715,8 @@ CommandCost CmdRenameTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 InvalidateWindowData(WC_TOWN_DIRECTORY, 0, TDIWD_FORCE_RESORT); ClearAllStationCachedNames(); ClearAllIndustryCachedNames(); @@ -2935,7 +2942,7 @@ index 507cccd565..1918651405 100644 } return CommandCost(); diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp -index 012904fdce..d8f4f2bd78 100644 +index cdc9869207..2e95b25a29 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -11,6 +11,7 @@ @@ -2994,7 +3001,7 @@ index 012904fdce..d8f4f2bd78 100644 /* Check the tree type within the current climate */ if (tree_to_plant != TREE_INVALID && !IsInsideBS(tree_to_plant, _tree_base_by_landscape[_settings_game.game_creation.landscape], _tree_count_by_landscape[_settings_game.game_creation.landscape])) return CMD_ERROR; -@@ -759,7 +765,7 @@ void OnTick_Trees() +@@ -764,7 +770,7 @@ void OnTick_Trees() /* place a tree at a random rainforest spot */ if (_settings_game.game_creation.landscape == LT_TROPIC && @@ -3003,7 +3010,7 @@ index 012904fdce..d8f4f2bd78 100644 CanPlantTreesOnTile(tile, false) && (tree = GetRandomTreeType(tile, GB(r, 24, 8))) != TREE_INVALID) { PlantTreesOnTile(tile, tree, 0, 0); -@@ -770,7 +776,7 @@ void OnTick_Trees() +@@ -775,7 +781,7 @@ void OnTick_Trees() /* place a tree at a random spot */ r = Random(); @@ -3401,7 +3408,7 @@ index 0000000000..81b119545e + +#endif /* UNDERGROUND_GUI_H */ diff --git a/src/vehicle.cpp b/src/vehicle.cpp -index ae5af64a1a..ce982ff214 100644 +index 72ef5a31ad..d73ba42589 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -13,6 +13,7 @@ @@ -3568,6 +3575,18 @@ index 5e37c16dd7..29541fb72d 100644 /* Make both water for tiles at level 0 * and make shore, as that looks much better * during the generation. */ +diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt +index 18ecd529e8..509adda581 100644 +--- a/src/widgets/CMakeLists.txt ++++ b/src/widgets/CMakeLists.txt +@@ -55,6 +55,7 @@ add_files( + town_widget.h + transparency_widget.h + tree_widget.h ++ underground_widget.h + vehicle_widget.h + viewport_widget.h + waypoint_widget.h diff --git a/src/widgets/genworld_widget.h b/src/widgets/genworld_widget.h index f7bf20e950..f7af296f60 100644 --- a/src/widgets/genworld_widget.h |