summaryrefslogtreecommitdiff
path: root/openttd-git
diff options
context:
space:
mode:
Diffstat (limited to 'openttd-git')
-rw-r--r--openttd-git/signaltunnel.patch48
-rw-r--r--openttd-git/sloped-stations.patch6
-rw-r--r--openttd-git/underground.patch210
3 files changed, 131 insertions, 133 deletions
diff --git a/openttd-git/signaltunnel.patch b/openttd-git/signaltunnel.patch
index 081d17b08..fb178a567 100644
--- a/openttd-git/signaltunnel.patch
+++ b/openttd-git/signaltunnel.patch
@@ -1,5 +1,5 @@
diff --git a/src/lang/english.txt b/src/lang/english.txt
-index 206cc212f..12a137ddf 100644
+index 2e84d4b3a..187cd23ff 100644
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -1616,6 +1616,8 @@ STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Minimum company
@@ -11,7 +11,7 @@ index 206cc212f..12a137ddf 100644
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :When dragging, place signals every: {STRING2}
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Set the distance at which signals will be built on a track up to the next obstacle (signal, junction), if signals are dragged
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} tile{P 0 "" s}
-@@ -2777,8 +2779,10 @@ STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Ship depot
+@@ -2790,8 +2792,10 @@ STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Ship depot
# Industries come directly from their industry names
STR_LAI_TUNNEL_DESCRIPTION_RAILROAD :Railway tunnel
@@ -23,7 +23,7 @@ index 206cc212f..12a137ddf 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 f2356d685..bc8a147fc 100644
+index fa367b113..94c5b1076 100644
--- a/src/lang/russian.txt
+++ b/src/lang/russian.txt
@@ -1767,6 +1767,8 @@ STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Мин. воз
@@ -35,7 +35,7 @@ index f2356d685..bc8a147fc 100644
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :При перетаскивании ставить сигналы каждые: {STRING}
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Настройка периодичности расстановки сигналов методом перетаскивания. Сигналы будут устанавливаться до первого встреченного препятствия (пересечения или другого сигнала).
STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} клет{P ку ки ок}
-@@ -2952,8 +2954,10 @@ STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Верфь
+@@ -2953,8 +2955,10 @@ STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Верфь
# Industries come directly from their industry names
STR_LAI_TUNNEL_DESCRIPTION_RAILROAD :Железнодорожный туннель
@@ -47,10 +47,10 @@ index f2356d685..bc8a147fc 100644
STR_LAI_BRIDGE_DESCRIPTION_RAIL_GIRDER_STEEL :Стальной балочный ж/д мост
STR_LAI_BRIDGE_DESCRIPTION_RAIL_CANTILEVER_STEEL :Стальной консольный ж/д мост
diff --git a/src/pathfinder/follow_track.hpp b/src/pathfinder/follow_track.hpp
-index 7e5e0e39b..c175eadb9 100644
+index a9a51da68..5558c0226 100644
--- a/src/pathfinder/follow_track.hpp
+++ b/src/pathfinder/follow_track.hpp
-@@ -351,7 +351,7 @@ protected:
+@@ -350,7 +350,7 @@ protected:
if (IsTunnel(m_new_tile)) {
if (!m_is_tunnel) {
DiagDirection tunnel_enterdir = GetTunnelBridgeDirection(m_new_tile);
@@ -59,7 +59,7 @@ index 7e5e0e39b..c175eadb9 100644
m_err = EC_NO_WAY;
return false;
}
-@@ -359,7 +359,7 @@ protected:
+@@ -358,7 +358,7 @@ protected:
} else { // IsBridge(m_new_tile)
if (!m_is_bridge) {
DiagDirection ramp_enderdir = GetTunnelBridgeDirection(m_new_tile);
@@ -260,10 +260,10 @@ index 59c1d27ab..ee7d0423d 100644
/**
diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp
-index b17b343c7..74d36653c 100644
+index a63448aef..3cf10dfd2 100644
--- a/src/settings_gui.cpp
+++ b/src/settings_gui.cpp
-@@ -1623,6 +1623,7 @@ static SettingsContainer &GetSettingsTree()
+@@ -1622,6 +1622,7 @@ static SettingsContainer &GetSettingsTree()
SettingsPage *construction = interface->Add(new SettingsPage(STR_CONFIG_SETTING_INTERFACE_CONSTRUCTION));
{
construction->Add(new SettingEntry("gui.link_terraform_toolbar"));
@@ -272,7 +272,7 @@ index b17b343c7..74d36653c 100644
construction->Add(new SettingEntry("gui.persistent_buildingtools"));
construction->Add(new SettingEntry("gui.quick_goto"));
diff --git a/src/settings_type.h b/src/settings_type.h
-index 05efc11e5..b78a535c2 100644
+index 3377bdede..9352fffd6 100644
--- a/src/settings_type.h
+++ b/src/settings_type.h
@@ -335,6 +335,7 @@ struct ConstructionSettings {
@@ -284,7 +284,7 @@ index 05efc11e5..b78a535c2 100644
uint32 terraform_per_64k_frames; ///< how many tile heights may, over a long period, be terraformed per 65536 frames?
uint16 terraform_frame_burst; ///< how many tile heights may, over a short period, be terraformed?
diff --git a/src/signal.cpp b/src/signal.cpp
-index 4a7e7913e..205263464 100644
+index 329b1b05d..e058edf5e 100644
--- a/src/signal.cpp
+++ b/src/signal.cpp
@@ -195,6 +195,14 @@ static Vehicle *TrainOnTileEnum(Vehicle *v, void *)
@@ -302,7 +302,7 @@ index 4a7e7913e..205263464 100644
/**
* Perform some operations before adding data into Todo set
-@@ -374,17 +382,39 @@ static SigFlags ExploreSegment(Owner owner)
+@@ -372,17 +380,39 @@ static SigFlags ExploreSegment(Owner owner)
if (GetTunnelBridgeTransportType(tile) != TRANSPORT_RAIL) continue;
DiagDirection dir = GetTunnelBridgeDirection(tile);
@@ -353,7 +353,7 @@ index 4a7e7913e..205263464 100644
}
}
break;
-@@ -492,7 +522,9 @@ static SigSegState UpdateSignalsInBuffer(Owner owner)
+@@ -490,7 +520,9 @@ static SigSegState UpdateSignalsInBuffer(Owner owner)
assert(GetTunnelBridgeTransportType(tile) == TRANSPORT_RAIL);
assert(dir == INVALID_DIAGDIR || dir == ReverseDiagDir(GetTunnelBridgeDirection(tile)));
_tbdset.Add(tile, INVALID_DIAGDIR); // we can safely start from wormhole centre
@@ -364,13 +364,13 @@ index 4a7e7913e..205263464 100644
break;
case MP_RAILWAY:
-diff --git a/src/table/settings/settings.ini b/src/table/settings/settings.ini
-index 7c5cac886..27deaa7c0 100644
---- a/src/table/settings/settings.ini
-+++ b/src/table/settings/settings.ini
-@@ -539,6 +539,20 @@ str = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH
- strhelp = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT
- strval = STR_CONFIG_SETTING_TILE_LENGTH
+diff --git a/src/table/settings/game_settings.ini b/src/table/settings/game_settings.ini
+index d51fbbf02..d19680aa2 100644
+--- a/src/table/settings/game_settings.ini
++++ b/src/table/settings/game_settings.ini
+@@ -406,6 +406,20 @@ min = 5
+ max = 800
+ to = SLV_120
+[SDT_VAR]
+base = GameSettings
@@ -386,11 +386,11 @@ index 7c5cac886..27deaa7c0 100644
+from = SL_MIN_VERSION
+cat = SC_BASIC
+
- # construction.longbridges
- [SDT_NULL]
- length = 1
+ ## These were once in the "gui" section, but they really are related to orders.
+
+ [SDTC_BOOL]
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp
-index 47895122b..9120f924c 100644
+index 17e298c33..d2c307c29 100644
--- a/src/train_cmd.cpp
+++ b/src/train_cmd.cpp
@@ -1859,6 +1859,17 @@ void ReverseTrainDirection(Train *v)
diff --git a/openttd-git/sloped-stations.patch b/openttd-git/sloped-stations.patch
index 3018a4952..7ea9fb766 100644
--- a/openttd-git/sloped-stations.patch
+++ b/openttd-git/sloped-stations.patch
@@ -107,7 +107,7 @@ index 86c2de78e..9c9265028 100644
}
}
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
-index 8f26ecf4c..5b1e3868f 100644
+index a58c7b1f2..ac2a46673 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -56,6 +56,7 @@
@@ -225,7 +225,7 @@ index 8f26ecf4c..5b1e3868f 100644
}
}
-@@ -3023,14 +3050,64 @@ draw_default_foundation:
+@@ -3022,14 +3049,64 @@ draw_default_foundation:
DrawGroundSprite(overlay + overlay_offset, PALETTE_CRASH);
}
} else {
@@ -293,7 +293,7 @@ index 8f26ecf4c..5b1e3868f 100644
}
}
}
-@@ -3124,6 +3201,16 @@ void StationPickerDrawSprite(int x, int y, StationType st, RailType railtype, Ro
+@@ -3123,6 +3200,16 @@ void StationPickerDrawSprite(int x, int y, StationType st, RailType railtype, Ro
static int GetSlopePixelZ_Station(TileIndex tile, uint x, uint y)
{
diff --git a/openttd-git/underground.patch b/openttd-git/underground.patch
index 36371f8f7..a276352fb 100644
--- a/openttd-git/underground.patch
+++ b/openttd-git/underground.patch
@@ -56,7 +56,7 @@ diff --git a/media/baseset/opntitle.dat b/media/baseset/opntitle.dat
index 264aaff60..9793856b7 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 801a92cb3..d52392212 100644
+index 631eaf6de..c253e8295 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -210,6 +210,10 @@ add_files(
@@ -70,7 +70,7 @@ index 801a92cb3..d52392212 100644
livery.h
main_gui.cpp
map.cpp
-@@ -449,6 +453,8 @@ add_files(
+@@ -451,6 +455,8 @@ add_files(
tunnelbridge.h
tunnelbridge_cmd.cpp
tunnelbridge_map.h
@@ -601,10 +601,10 @@ index 8ec4fbd9c..5fbdb8294 100644
STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Кляса станцыі: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Тып станцыi: {LTBLUE}{STRING}
diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt
-index cc000ef75..82fb8f4e2 100644
+index 74f9276fb..6c4ee3ed3 100644
--- a/src/lang/brazilian_portuguese.txt
+++ b/src/lang/brazilian_portuguese.txt
-@@ -2695,7 +2695,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Dono da
+@@ -2696,7 +2696,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Dono da
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Dono da linha ferroviária: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Prefeitura: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nenhum
@@ -627,10 +627,10 @@ index 1fad584e6..57038382e 100644
STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Клас на станцията: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Тип на станцията: {LTBLUE}{STRING}
diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt
-index bbb399eb5..b34a5eba7 100644
+index 8e2e5b8e4..03441f78c 100644
--- a/src/lang/catalan.txt
+++ b/src/lang/catalan.txt
-@@ -2686,7 +2686,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta
+@@ -2696,7 +2696,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propietari del rail: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoritat local: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Cap
@@ -679,10 +679,10 @@ index a3cad4ff5..b71cfe823 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 4deb9d1df..b83159839 100644
+index 2b7d3068d..ad082dba1 100644
--- a/src/lang/dutch.txt
+++ b/src/lang/dutch.txt
-@@ -2685,7 +2685,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eigenaar
+@@ -2695,7 +2695,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
@@ -692,7 +692,7 @@ index 4deb9d1df..b83159839 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/english.txt b/src/lang/english.txt
-index 206cc212f..0dc1f2310 100644
+index 2e84d4b3a..c0720a1d7 100644
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -470,6 +470,18 @@ STR_LANDSCAPING_MENU_PLANT_TREES :Plant trees
@@ -714,7 +714,7 @@ index 206cc212f..0dc1f2310 100644
############ range for music menu starts
STR_TOOLBAR_SOUND_MUSIC :Sound/music
############ range ends here
-@@ -2694,7 +2706,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramway
+@@ -2707,7 +2719,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Tramway
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Railway owner: {LTBLUE}{STRING1}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Local authority: {LTBLUE}{STRING1}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :None
@@ -723,7 +723,7 @@ index 206cc212f..0dc1f2310 100644
STR_LAND_AREA_INFORMATION_BUILD_DATE :{BLACK}Built: {LTBLUE}{DATE_LONG}
STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Station class: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Station type: {LTBLUE}{STRING}
-@@ -5243,3 +5255,35 @@ STR_PLANE :{BLACK}{PLANE}
+@@ -5256,3 +5268,35 @@ STR_PLANE :{BLACK}{PLANE}
STR_SHIP :{BLACK}{SHIP}
STR_TOOLBAR_RAILTYPE_VELOCITY :{STRING} ({VELOCITY})
@@ -773,10 +773,10 @@ index e2faa0e81..5edd54869 100644
STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Station class: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Station type: {LTBLUE}{STRING}
diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt
-index f62da4cf9..4f44aa615 100644
+index 2833bdace..9ffcab666 100644
--- a/src/lang/english_US.txt
+++ b/src/lang/english_US.txt
-@@ -2685,7 +2685,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Streetca
+@@ -2695,7 +2695,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Streetca
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Railroad owner: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Local authority: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :None
@@ -825,10 +825,10 @@ index 678326311..344280588 100644
STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Støð klassi: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Støð slag: {LTBLUE}{STRING}
diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt
-index 31ba5390a..a00b6492c 100644
+index 5c85f8678..20a7ca807 100644
--- a/src/lang/finnish.txt
+++ b/src/lang/finnish.txt
-@@ -2694,7 +2694,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Raitioti
+@@ -2695,7 +2695,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Raitioti
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Rautatien omistaja: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Kunta: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ei mitään
@@ -877,10 +877,10 @@ index 35d97a069..07c287de2 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/german.txt b/src/lang/german.txt
-index 5a3c01554..f16638ff0 100644
+index 718dbe07e..51abcf1ba 100644
--- a/src/lang/german.txt
+++ b/src/lang/german.txt
-@@ -2695,7 +2695,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Straßen
+@@ -2696,7 +2696,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Straßen
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Gleiseigentümer: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Gehört zur Gemeinde: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Keine
@@ -968,10 +968,10 @@ index 665bdf8fc..44fae08e3 100644
STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Aicme an stáisiúin: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Cineál stáisiúin: {LTBLUE}{STRING}
diff --git a/src/lang/italian.txt b/src/lang/italian.txt
-index 6f32a248e..767985524 100644
+index 5c1dd682d..ec5eded3a 100644
--- a/src/lang/italian.txt
+++ b/src/lang/italian.txt
-@@ -2663,7 +2663,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propriet
+@@ -2665,7 +2665,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propriet
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Proprietario ferrovia: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autorità locale: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nessuna
@@ -981,10 +981,10 @@ index 6f32a248e..767985524 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 d9adccf79..e2bc626f9 100644
+index 60faed06a..37e490821 100644
--- a/src/lang/korean.txt
+++ b/src/lang/korean.txt
-@@ -2695,7 +2695,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}전찻
+@@ -2696,7 +2696,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 :없음
@@ -1059,10 +1059,10 @@ index 729c88fc4..ed7d97818 100644
STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Kelas stesen: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Jenis stesen: {LTBLUE}{STRING}
diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt
-index 2d14178c1..0f20e8183 100644
+index 796d75ecc..6e2500b3d 100644
--- a/src/lang/norwegian_bokmal.txt
+++ b/src/lang/norwegian_bokmal.txt
-@@ -2698,7 +2698,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eier av
+@@ -2699,7 +2699,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Eier av
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Eier av jernbanespor: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Bystyret: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ingen
@@ -1111,10 +1111,10 @@ index 98e0c3036..0a600bc94 100644
STR_LAND_AREA_INFORMATION_STATION_CLASS :{BLACK}Rodzaj stacji: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_STATION_TYPE :{BLACK}Typ stacji: {LTBLUE}{STRING}
diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt
-index 9bdd35226..a49913e0f 100644
+index 4975058db..f0feb1876 100644
--- a/src/lang/portuguese.txt
+++ b/src/lang/portuguese.txt
-@@ -2695,7 +2695,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Dono da
+@@ -2696,7 +2696,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Dono da
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Dono da linha férrea: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Autoridade local: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Nenhum
@@ -1137,7 +1137,7 @@ index 6e6f5a68b..c9967d740 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 f2356d685..5d666234b 100644
+index fa367b113..b07a3c2cb 100644
--- a/src/lang/russian.txt
+++ b/src/lang/russian.txt
@@ -596,6 +596,18 @@ STR_LANDSCAPING_MENU_PLANT_TREES :Высадка
@@ -1159,7 +1159,7 @@ index f2356d685..5d666234b 100644
############ range for music menu starts
STR_TOOLBAR_SOUND_MUSIC :Звук/музыка
############ range ends here
-@@ -2869,7 +2881,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Влад
+@@ -2870,7 +2882,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 :Нет
@@ -1168,7 +1168,7 @@ index f2356d685..5d666234b 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}
-@@ -5467,3 +5479,35 @@ STR_PLANE :{BLACK}{PLANE}
+@@ -5468,3 +5480,35 @@ STR_PLANE :{BLACK}{PLANE}
STR_SHIP :{BLACK}{SHIP}
STR_TOOLBAR_RAILTYPE_VELOCITY :{STRING} ({VELOCITY})
@@ -1270,10 +1270,10 @@ index d688ffa9c..e9a3ebdca 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 797f4530c..cea2859bf 100644
+index a490db27b..90f1c41a1 100644
--- a/src/lang/spanish_MX.txt
+++ b/src/lang/spanish_MX.txt
-@@ -2695,7 +2695,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta
+@@ -2696,7 +2696,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Propieta
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Propietario del ferrocarril: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Ayuntamiento: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ninguno
@@ -1283,10 +1283,10 @@ index 797f4530c..cea2859bf 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/swedish.txt b/src/lang/swedish.txt
-index 20f40e8d9..26037786e 100644
+index 7aa63245c..d0f99ed31 100644
--- a/src/lang/swedish.txt
+++ b/src/lang/swedish.txt
-@@ -2685,7 +2685,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Spårvä
+@@ -2695,7 +2695,7 @@ STR_LAND_AREA_INFORMATION_TRAM_OWNER :{BLACK}Spårvä
STR_LAND_AREA_INFORMATION_RAIL_OWNER :{BLACK}Järnvägens ägare: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY :{BLACK}Lokala myndigheter: {LTBLUE}{STRING}
STR_LAND_AREA_INFORMATION_LOCAL_AUTHORITY_NONE :Ingen
@@ -1688,7 +1688,7 @@ index 000000000..53eafdde6
+
+#endif /* LAYER_TYPE_H */
diff --git a/src/main_gui.cpp b/src/main_gui.cpp
-index 559040f37..e60dc35de 100644
+index 79960d51b..265f056d7 100644
--- a/src/main_gui.cpp
+++ b/src/main_gui.cpp
@@ -33,6 +33,9 @@
@@ -2083,48 +2083,49 @@ index 70a014434..649c4a56a 100644
}
diff --git a/src/saveload/map_sl.cpp b/src/saveload/map_sl.cpp
-index de043d513..9659b673b 100644
+index 07a36d6a3..b86328de8 100644
--- a/src/saveload/map_sl.cpp
+++ b/src/saveload/map_sl.cpp
-@@ -9,6 +9,7 @@
+@@ -13,6 +13,7 @@
+ #include "compat/map_sl_compat.h"
- #include "../stdafx.h"
#include "../map_func.h"
+#include "../layer_func.h"
#include "../core/bitmath_func.hpp"
#include "../fios.h"
#include <array>
-@@ -23,12 +24,14 @@ static uint32 _map_dim_y;
+@@ -25,6 +26,7 @@ static uint32 _map_dim_y;
static const SaveLoad _map_desc[] = {
- SLEG_CONDVAR(_map_dim_x, SLE_UINT32, SLV_6, SL_MAX_VERSION),
- SLEG_CONDVAR(_map_dim_y, SLE_UINT32, SLV_6, SL_MAX_VERSION),
-+ SLEG_CONDVAR(_layer_count, SLE_UINT32, SLV_UNDERGROUND, SL_MAX_VERSION),
+ SLEG_CONDVAR("dim_x", _map_dim_x, SLE_UINT32, SLV_6, SL_MAX_VERSION),
+ SLEG_CONDVAR("dim_y", _map_dim_y, SLE_UINT32, SLV_6, SL_MAX_VERSION),
++ SLEG_CONDVAR("layer_count", _layer_count, SLE_UINT32, SLV_UNDERGROUND, SL_MAX_VERSION),
};
- static void Save_MAPS()
- {
- _map_dim_x = MapSizeX();
- _map_dim_y = MapSizeY();
-+ _layer_count = LayerCount();
-
- SlSetArrayIndex(0);
- SlGlobList(_map_desc);
-@@ -40,7 +43,9 @@ static void Load_MAPS()
- SlGlobList(_map_desc);
- if (!IsSavegameVersionBefore(SLV_RIFF_TO_ARRAY) && SlIterateArray() != -1) SlErrorCorrupt("Too many MAPS entries");
-
-- AllocateMap(_map_dim_x, _map_dim_y);
-+ if (IsSavegameVersionBefore(SLV_UNDERGROUND))
-+ _layer_count = 1;
-+ AllocateMap(_map_dim_x, _map_dim_y/_layer_count, _layer_count);
- }
+ struct MAPSChunkHandler : ChunkHandler {
+@@ -36,6 +38,7 @@ struct MAPSChunkHandler : ChunkHandler {
+
+ _map_dim_x = MapSizeX();
+ _map_dim_y = MapSizeY();
++ _layer_count = LayerCount();
+
+ SlSetArrayIndex(0);
+ SlGlobList(_map_desc);
+@@ -49,7 +52,9 @@ struct MAPSChunkHandler : ChunkHandler {
+ SlGlobList(slt);
+ if (!IsSavegameVersionBefore(SLV_RIFF_TO_ARRAY) && SlIterateArray() != -1) SlErrorCorrupt("Too many MAPS entries");
+
+- AllocateMap(_map_dim_x, _map_dim_y);
++ if (IsSavegameVersionBefore(SLV_UNDERGROUND))
++ _layer_count = 1;
++ AllocateMap(_map_dim_x, _map_dim_y/_layer_count, _layer_count);
+ }
- static void Check_MAPS()
+ void LoadCheck(size_t) const override
diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h
-index dfd687f35..07901c4bf 100644
+index d79bc1416..e4d28b2de 100644
--- a/src/saveload/saveload.h
+++ b/src/saveload/saveload.h
-@@ -305,6 +305,7 @@ enum SaveLoadVersion : uint16 {
+@@ -306,6 +306,7 @@ enum SaveLoadVersion : uint16 {
SLV_MULTITILE_DOCKS, ///< 216 PR#7380 Multiple docks per station.
SLV_TRADING_AGE, ///< 217 PR#7780 Configurable company trading age.
SLV_ENDING_YEAR, ///< 218 PR#7747 v1.10 Configurable ending year.
@@ -2144,20 +2145,20 @@ index a1dbb6567..b0c3656dc 100644
#include "../../widgets/vehicle_widget.h"
#include "../../widgets/viewport_widget.h"
#include "../../widgets/waypoint_widget.h"
-diff --git a/src/settings.cpp b/src/settings.cpp
-index dab0fe08c..d41960b54 100644
---- a/src/settings.cpp
-+++ b/src/settings.cpp
-@@ -32,6 +32,7 @@
- #include "command_func.h"
- #include "console_func.h"
+diff --git a/src/settings_table.cpp b/src/settings_table.cpp
+index 045d8e56c..77d548469 100644
+--- a/src/settings_table.cpp
++++ b/src/settings_table.cpp
+@@ -16,6 +16,7 @@
+ #include "network/network.h"
+ #include "network/network_func.h"
#include "pathfinder/pathfinder_type.h"
+#include "layer_type.h"
#include "genworld.h"
#include "train.h"
#include "news_func.h"
diff --git a/src/settings_type.h b/src/settings_type.h
-index 05efc11e5..8c512a278 100644
+index 3377bdede..bbf20c28a 100644
--- a/src/settings_type.h
+++ b/src/settings_type.h
@@ -164,6 +164,8 @@ struct GUISettings {
@@ -2274,7 +2275,7 @@ index 877f53d4e..14ac504a8 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 8f26ecf4c..4d321f401 100644
+index a58c7b1f2..9ce516da5 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -11,6 +11,7 @@
@@ -2482,7 +2483,7 @@ index 8f26ecf4c..4d321f401 100644
AirportTileTableIterator iter(as->table[layout], tile);
CommandCost cost = CheckFlatLandAirport(iter, flags);
diff --git a/src/station_gui.cpp b/src/station_gui.cpp
-index a43cc1707..89c9b3181 100644
+index ecc7ea77c..221be09c1 100644
--- a/src/station_gui.cpp
+++ b/src/station_gui.cpp
@@ -19,6 +19,7 @@
@@ -2493,7 +2494,7 @@ index a43cc1707..89c9b3181 100644
#include "viewport_func.h"
#include "widgets/dropdown_func.h"
#include "station_base.h"
-@@ -2215,20 +2216,27 @@ static const T *FindStationsNearby(TileArea ta, bool distant_join)
+@@ -2211,20 +2212,27 @@ static const T *FindStationsNearby(TileArea ta, bool distant_join)
_deleted_stations_nearby.clear();
/* Check the inside, to return, if we sit on another station */
@@ -2526,7 +2527,7 @@ index a43cc1707..89c9b3181 100644
AddNearbyStation<T>(st->xy, &ctx);
}
}
-@@ -2241,8 +2249,11 @@ static const T *FindStationsNearby(TileArea ta, bool distant_join)
+@@ -2237,8 +2245,11 @@ static const T *FindStationsNearby(TileArea ta, bool distant_join)
if (distant_join && std::min(ta.w, ta.h) >= _settings_game.station.station_spread) return nullptr;
uint max_dist = distant_join ? _settings_game.station.station_spread - std::min(ta.w, ta.h) : 1;
@@ -2540,14 +2541,15 @@ index a43cc1707..89c9b3181 100644
return nullptr;
}
-diff --git a/src/table/settings/settings.ini b/src/table/settings/settings.ini
-index 7c5cac886..955b3a51f 100644
---- a/src/table/settings/settings.ini
-+++ b/src/table/settings/settings.ini
-@@ -1841,6 +1841,15 @@ min = 500
- max = 1000000
- cat = SC_EXPERT
-
+diff --git a/src/table/settings/game_settings.ini b/src/table/settings/game_settings.ini
+index d51fbbf02..7aea638d2 100644
+--- a/src/table/settings/game_settings.ini
++++ b/src/table/settings/game_settings.ini
+@@ -419,3 +419,12 @@ var = gui.sg_new_nonstop
+ from = SLV_22
+ to = SLV_93
+ def = false
++
+[SDT_VAR]
+base = GameSettings
+var = game_creation.layers
@@ -2556,13 +2558,13 @@ index 7c5cac886..955b3a51f 100644
+def = 1
+min = MIN_LAYER_COUNT_BITS
+max = MAX_LAYER_COUNT_BITS
-+
- [SDT_BOOL]
- var = pf.yapf.rail_firstred_twoway_eol
- from = SLV_28
-@@ -3119,6 +3128,15 @@ strhelp = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT
- strval = STR_JUST_COMMA
- post_cb = [](auto) { MarkWholeScreenDirty(); }
+diff --git a/src/table/settings/gui_settings.ini b/src/table/settings/gui_settings.ini
+index 427402660..2b1e5a484 100644
+--- a/src/table/settings/gui_settings.ini
++++ b/src/table/settings/gui_settings.ini
+@@ -856,3 +856,11 @@ min = 1
+ max = 65535
+ cat = SC_EXPERT
+[SDTC_VAR]
+var = gui.layer_view_type
@@ -2572,12 +2574,8 @@ index 7c5cac886..955b3a51f 100644
+min = 0
+max = UINT32_MAX
+proc = RedrawScreen
-+
- [SDTC_BOOL]
- var = gui.show_newgrf_name
- flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
diff --git a/src/terraform_cmd.cpp b/src/terraform_cmd.cpp
-index f23ba78c6..369e09b70 100644
+index eaed9e71c..4778fd050 100644
--- a/src/terraform_cmd.cpp
+++ b/src/terraform_cmd.cpp
@@ -8,6 +8,7 @@
@@ -2588,7 +2586,7 @@ index f23ba78c6..369e09b70 100644
#include "command_func.h"
#include "tunnel_map.h"
#include "bridge_map.h"
-@@ -251,6 +252,10 @@ CommandCost CmdTerraformLand(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
+@@ -252,6 +253,10 @@ CommandCost CmdTerraformLand(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
if (z_N > z_min) tileh |= SLOPE_N;
if (pass == 0) {
@@ -2600,7 +2598,7 @@ index f23ba78c6..369e09b70 100644
if (IsBridgeAbove(t)) {
int bridge_height = GetBridgeHeight(GetSouthernBridgeEnd(t));
diff --git a/src/tgp.cpp b/src/tgp.cpp
-index 2c0c47910..b2b105b4e 100644
+index 511b998e2..eef52853e 100644
--- a/src/tgp.cpp
+++ b/src/tgp.cpp
@@ -12,6 +12,7 @@
@@ -2611,8 +2609,8 @@ index 2c0c47910..b2b105b4e 100644
#include "core/random_func.hpp"
#include "landscape_type.h"
-@@ -168,6 +169,8 @@ struct HeightMap
- int total_size; //< height map total size
+@@ -167,6 +168,8 @@ struct HeightMap
+ int dim_x; //< height map size_x MapSizeX() + 1
int size_x; //< MapSizeX()
int size_y; //< MapSizeY()
+ int map_x; //< MapSizeX()
@@ -2620,9 +2618,9 @@ index 2c0c47910..b2b105b4e 100644
/**
* Height map accessor
-@@ -327,8 +330,11 @@ static inline bool AllocHeightMap()
+@@ -322,8 +325,11 @@ static inline bool AllocHeightMap()
{
- height_t *h;
+ assert(_height_map.h.empty());
- _height_map.size_x = MapSizeX();
- _height_map.size_y = MapSizeY();
@@ -2633,8 +2631,8 @@ index 2c0c47910..b2b105b4e 100644
+ _height_map.size_y = LayerSizeY();
/* Allocate memory block for height map row pointers */
- _height_map.total_size = (_height_map.size_x + 1) * (_height_map.size_y + 1);
-@@ -1017,8 +1023,8 @@ void GenerateTerrainPerlin()
+ size_t total_size = (_height_map.size_x + 1) * (_height_map.size_y + 1);
+@@ -1004,8 +1010,8 @@ void GenerateTerrainPerlin()
/* First make sure the tiles at the north border are void tiles if needed. */
if (_settings_game.construction.freeform_edges) {
@@ -2889,7 +2887,7 @@ index 4cbd13dbf..711a32f8c 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 d397825af..a4979687a 100644
+index d53cd5783..29365cab7 100644
--- a/src/town_cmd.cpp
+++ b/src/town_cmd.cpp
@@ -12,6 +12,7 @@
@@ -2900,7 +2898,7 @@ index d397825af..a4979687a 100644
#include "viewport_func.h"
#include "viewport_kdtree.h"
#include "cmd_helper.h"
-@@ -2159,7 +2160,7 @@ static Town *CreateRandomTown(uint attempts, uint32 townnameparts, TownSize size
+@@ -2157,7 +2158,7 @@ static Town *CreateRandomTown(uint attempts, uint32 townnameparts, TownSize size
do {
/* Generate a tile index not too close from the edge */
@@ -2909,7 +2907,7 @@ index d397825af..a4979687a 100644
/* if we tried to place the town on water, slide it over onto
* the nearest likely-looking spot */
-@@ -2334,6 +2335,9 @@ static inline bool CanBuildHouseHere(TileIndex tile, bool noslope)
+@@ -2332,6 +2333,9 @@ static inline bool CanBuildHouseHere(TileIndex tile, bool noslope)
Slope slope = GetTileSlope(tile);
if ((noslope && slope != SLOPE_FLAT) || IsSteepSlope(slope)) return false;
@@ -2919,7 +2917,7 @@ index d397825af..a4979687a 100644
/* at least one RoadTypes allow building the house here? */
if (!RoadTypesAllowHouseHere(tile)) return false;
-@@ -2769,6 +2773,8 @@ CommandCost CmdRenameTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
+@@ -2767,6 +2771,8 @@ CommandCost CmdRenameTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
InvalidateWindowData(WC_TOWN_DIRECTORY, 0, TDIWD_FORCE_RESORT);
ClearAllStationCachedNames();
ClearAllIndustryCachedNames();
@@ -3520,7 +3518,7 @@ index 5047f04f3..3c02f9ab8 100644
}
diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp
-index dbb4999a7..e82445518 100644
+index a2bedac84..4dad3f35a 100644
--- a/src/water_cmd.cpp
+++ b/src/water_cmd.cpp
@@ -10,6 +10,7 @@
@@ -3553,7 +3551,7 @@ index dbb4999a7..e82445518 100644
bool flooded = false; // Will be set to true if something is changed.
Backup<CompanyID> cur_company(_current_company, OWNER_WATER, FILE_LINE);
-@@ -1268,7 +1277,7 @@ void ConvertGroundTilesIntoWaterTiles()
+@@ -1267,7 +1276,7 @@ void ConvertGroundTilesIntoWaterTiles()
for (TileIndex tile = 0; tile < MapSize(); ++tile) {
Slope slope = GetTileSlope(tile, &z);