diff --git a/Makefile.bundle.in b/Makefile.bundle.in
index 63edb62d97..969b2ebcf0 100644
--- a/Makefile.bundle.in
+++ b/Makefile.bundle.in
@@ -172,6 +172,7 @@ install: bundle
$(Q)install -d "$(INSTALL_BINARY_DIR)"
$(Q)install -d "$(INSTALL_ICON_DIR)"
$(Q)install -d "$(INSTALL_DATA_DIR)/ai"
+ $(Q)install -d "$(INSTALL_DATA_DIR)/game"
$(Q)install -d "$(INSTALL_DATA_DIR)/baseset"
$(Q)install -d "$(INSTALL_DATA_DIR)/lang"
$(Q)install -d "$(INSTALL_DATA_DIR)/scripts"
@@ -182,6 +183,7 @@ else
endif
$(Q)install -m 644 "$(BUNDLE_DIR)/lang/"* "$(INSTALL_DATA_DIR)/lang"
$(Q)install -m 644 "$(BUNDLE_DIR)/ai/"* "$(INSTALL_DATA_DIR)/ai"
+ $(Q)install -m 644 "$(BUNDLE_DIR)/game/"* "$(INSTALL_DATA_DIR)/game"
$(Q)install -m 644 "$(BUNDLE_DIR)/baseset/"* "$(INSTALL_DATA_DIR)/baseset"
$(Q)install -m 644 "$(BUNDLE_DIR)/scripts/"* "$(INSTALL_DATA_DIR)/scripts"
ifndef DO_NOT_INSTALL_DOCS
diff --git a/bin/ai/compat_1.6.nut b/bin/ai/compat_1.6.nut
index fe985b90d0..8fb518e1b5 100644
--- a/bin/ai/compat_1.6.nut
+++ b/bin/ai/compat_1.6.nut
@@ -6,3 +6,5 @@
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see .
*/
+
+AILog.Info("1.6 API compatibility in effect.");
diff --git a/bin/ai/compat_1.7.nut b/bin/ai/compat_1.7.nut
new file mode 100644
index 0000000000..fe985b90d0
--- /dev/null
+++ b/bin/ai/compat_1.7.nut
@@ -0,0 +1,8 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see .
+ */
diff --git a/bin/ai/regression/regression_info.nut b/bin/ai/regression/regression_info.nut
index 4e7aec7568..87676e1625 100644
--- a/bin/ai/regression/regression_info.nut
+++ b/bin/ai/regression/regression_info.nut
@@ -6,7 +6,7 @@ class Regression extends AIInfo {
function GetShortName() { return "REGR"; }
function GetDescription() { return "This runs regression-tests on some commands. On the same map the result should always be the same."; }
function GetVersion() { return 1; }
- function GetAPIVersion() { return "1.6"; }
+ function GetAPIVersion() { return "1.7"; }
function GetDate() { return "2007-03-18"; }
function CreateInstance() { return "Regression"; }
}
diff --git a/bin/baseset/no_music.obm b/bin/baseset/no_music.obm
index f782d23ea0..07dcedf50b 100644
--- a/bin/baseset/no_music.obm
+++ b/bin/baseset/no_music.obm
@@ -12,7 +12,7 @@ description.af_ZA = 'n Musiek stel sonder enige musiek.
description.ar_EG = مجموعة موسيقى بدون موسيقى
description.be_BY = "Пусты" набор музычнага афармлення, які не зьмяшчае ніякай музыкі.
description.bg_BG = Празен музикален пакет.
-description.ca_ES = Un joc de música sense cap música.
+description.ca_ES = Una llista de música sense cap peça.
description.cs_CZ = Prázná hudební sada.
description.cy_GB = Pecyn cerddoriaeth heb unrhyw gerddoriaeth ynddo.
description.da_DK = En musikpakke uden musik.
@@ -27,7 +27,7 @@ description.fr_FR = Un pack de musiques sans musiques.
description.ga_IE = Pacáiste ceoil gan aon cheol iarbhír ann.
description.gd_GB = Pacaid ciùil anns nach eil fonn sam bith.
description.gl_ES = Un conxunto de músicas sen ningunha música.
-description.hr_HR = Muzički paket bez ikakve muzike.
+description.hr_HR = Glazbeni paket bez ikakve glazbe.
description.hu_HU = Zenei alapcsomag zene nélkül.
description.id_ID = Paket musik tanpa musik sungguhan.
description.is_IS = Tónlistarpakki sem er í raun án tónlistar.
diff --git a/bin/baseset/no_sound.obs b/bin/baseset/no_sound.obs
index 9954845a35..522c45b9b9 100644
--- a/bin/baseset/no_sound.obs
+++ b/bin/baseset/no_sound.obs
@@ -12,7 +12,7 @@ description.af_ZA = 'n Klank stel sonder enige klanke.
description.ar_EG = مجموعة صوت بدوت اصوات مضافة
description.be_BY = "Пусты" набор гукавога афармленьня, які не зьмяшчае ніякіх гукаў.
description.bg_BG = Празен звуков пакет.
-description.ca_ES = Un joc de sons sense cap so.
+description.ca_ES = Una llista de sons buida.
description.cs_CZ = Prázdná sada zvuků.
description.cy_GB = Pecyn sain heb unrhyw effeithiau sain ynddo.
description.da_DK = En lydpakke uden lyde.
diff --git a/bin/baseset/orig_dos.obg b/bin/baseset/orig_dos.obg
index ffe230ccf2..693d9dd95f 100644
--- a/bin/baseset/orig_dos.obg
+++ b/bin/baseset/orig_dos.obg
@@ -13,7 +13,7 @@ description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS uitgawe grafieke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة الدوس
description.be_BY = Арыґінальная ґрафіка з Transport Tycoon Deluxe для DOS.
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS.
-description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a DOS.
+description.ca_ES = Gràfics originals del Transport Tycoon Deluxe pel DOS.
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro DOS).
description.cy_GB = Graffeg gwreiddiol fersiwn DOS o Transport Tycoon Deluxe.
description.da_DK = Originalgrafik fra Transport Tycoon Deluxe DOS-version.
diff --git a/bin/baseset/orig_dos.obs b/bin/baseset/orig_dos.obs
index 5ae658692d..38eb7b5818 100644
--- a/bin/baseset/orig_dos.obs
+++ b/bin/baseset/orig_dos.obs
@@ -12,7 +12,7 @@ description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS uitgawe klanke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة الدوس
description.be_BY = Арыґінальны набор гукавога афармленьня з гульні Transport Tycoon Deluxe для DOS.
description.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за DOS.
-description.ca_ES = Sons originals de Transport Tycoon Deluxe per a DOS.
+description.ca_ES = Sons originals del Transport Tycoon Deluxe pel DOS.
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro DOS).
description.cy_GB = Effeithiau sain gwreiddiol fersiwn DOS o Transport Tycoon Deluxe.
description.da_DK = Originallyd fra Transport Tycoon Deluxe DOS-version.
diff --git a/bin/baseset/orig_dos_de.obg b/bin/baseset/orig_dos_de.obg
index 5649613eef..e9344b3f63 100644
--- a/bin/baseset/orig_dos_de.obg
+++ b/bin/baseset/orig_dos_de.obg
@@ -13,7 +13,7 @@ description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS (German) uitgawe g
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الالمانية نسخة الدوس
description.be_BY = Арыґінальная ґрафіка зь нямецкай версіі Transport Tycoon Deluxe для DOS.
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS (немски) .
-description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a DOS (Alemany).
+description.ca_ES = Gràfics originals del Transport Tycoon Deluxe (alemany) pel DOS.
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (německá verze pro DOS).
description.cy_GB = Graffeg gwreiddiol fersiwn DOS (Almaenig) o Transport Tycoon Deluxe.
description.da_DK = Originalgrafik fra Transport Tycoon Deluxe DOS (Tysk) version.
diff --git a/bin/baseset/orig_win.obg b/bin/baseset/orig_win.obg
index f9bd77934c..11ad4136f8 100644
--- a/bin/baseset/orig_win.obg
+++ b/bin/baseset/orig_win.obg
@@ -13,7 +13,7 @@ description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe grafie
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة وندوز
description.be_BY = Арыґінальная ґрафіка з Transport Tycoon Deluxe для Windows.
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за Windows.
-description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a Windows.
+description.ca_ES = Gràfics originals del Transport Tycoon Deluxe pel Windows.
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro Windows).
description.cy_GB = Graffeg gwreiddiol fersiwn Windows o Transport Tycoon Deluxe.
description.da_DK = Originalgrafik fra Transport Tycoon Deluxe Windows-version.
diff --git a/bin/baseset/orig_win.obm b/bin/baseset/orig_win.obm
index 203c0417c3..27164c73bc 100644
--- a/bin/baseset/orig_win.obm
+++ b/bin/baseset/orig_win.obm
@@ -12,7 +12,7 @@ description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe musiek
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الموسيقية نسخة وندوز
description.be_BY = Арыґінальны набор музычнага афармленьня з гульні Transport Tycoon Deluxe для Windows.
description.bg_BG = Оригинална музика на Transport Tycoon Deluxe за Windows.
-description.ca_ES = Música Original de Transport Tycoon Deluxe per a Windows.
+description.ca_ES = Música original del Transport Tycoon Deluxe pel Windows.
description.cs_CZ = Původní hudba Transport Tycoon Deluxe (verze pro Windows).
description.cy_GB = Cerddoriaeth gwreiddiol fersion Windows o Transport Tycoon Deluxe.
description.da_DK = Originalmusik fra Transport Tycoon Deluxe Windows-version.
@@ -27,7 +27,7 @@ description.fr_FR = Musiques originales de Transport Tycoon Deluxe (version Wind
description.ga_IE = Ceol bunaidh Transport Tycoon Deluxe, eagrán Windows.
description.gd_GB = Ceòl aig an deasachadh Windows tùsail aig Transport Tycoon Deluxe.
description.gl_ES = Música da edición orixinal de Transport Tycoon Deluxe para Windows.
-description.hr_HR = Originalna muzika za Transport Tycoon Deluxe Windows izdanje.
+description.hr_HR = Originalna glazba za Transport Tycoon Deluxe Windows izdanje.
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának zenéje.
description.id_ID = Musik pengiring orisinil Transport Tycoon Deluxe versi Windows.
description.is_IS = Upprunalega tónlistin úr Transport Tycoon Deluxe Windows útgáfunni.
diff --git a/bin/baseset/orig_win.obs b/bin/baseset/orig_win.obs
index 33164e9584..9fe250b304 100644
--- a/bin/baseset/orig_win.obs
+++ b/bin/baseset/orig_win.obs
@@ -12,7 +12,7 @@ description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe klanke
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة وندوز
description.be_BY = Арыґінальны набор гукавога афармленьня з гульні Transport Tycoon Deluxe для Windows.
description.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за Windows.
-description.ca_ES = Sons originals de Transport Tycoon Deluxe per a Windows.
+description.ca_ES = Sons originals del Transport Tycoon Deluxe pel Windows.
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro Windows).
description.cy_GB = Effeithiau sain gwreiddiol fersiwn Windows o Transport Tycoon Deluxe.
description.da_DK = Originallyd fra Transport Tycoon Deluxe Windows-version.
diff --git a/bin/game/compat_1.6.nut b/bin/game/compat_1.6.nut
index fe985b90d0..d25189db2a 100644
--- a/bin/game/compat_1.6.nut
+++ b/bin/game/compat_1.6.nut
@@ -6,3 +6,5 @@
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see .
*/
+
+GSLog.Info("1.6 API compatibility in effect.");
diff --git a/bin/game/compat_1.7.nut b/bin/game/compat_1.7.nut
new file mode 100644
index 0000000000..fe985b90d0
--- /dev/null
+++ b/bin/game/compat_1.7.nut
@@ -0,0 +1,8 @@
+/* $Id$ */
+
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see .
+ */
diff --git a/changelog.txt b/changelog.txt
index 4fa211c9f9..c110109386 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,30 +1,120 @@
+1.5.3 (2015-12-01)
+------------------------------------------------------------------------
+(None)
+
+
+1.5.3-RC1 (2015-11-01)
+------------------------------------------------------------------------
+- Fix: When selecting a refit cargo for orders, do not check whether the vehicle is in a depot or station, and do not ask whether the vehicle currently allows station-refitting. Also hide the refit cost for orders, it is not predictable (r27428)
+- Fix: Use the NewGRF railtype sorting order in the infrastructure window (r27427)
+- Fix: Crash when switching to or taking over companies, when an order window of a vehicle of the new company was opened. Now close those windows [FS#5842] (r27425)
+- Fix: Towns did not connect roads to existing roads, unless they had only a single roadbit. Otoh, towns also tried to connect to single roadbit tiles such as tunnels and depots, even though they were not connectable in the direction of interest [FS#6374] (r27424)
+- Fix: When towns expanded single-bit roadtiles using a grid-layout, they used the layout position of the neighbouring tile (r27423)
+- Fix: Aircraft picked the wrong airport entry point, if airports were rotated by 180 degree [FS#6341] (r27422)
+- Fix: Consider text and icon sizes when drawing the client list [FS#6265] (r27421)
+- Fix: GrowTownAtRoad sometimes returned false, even when a house was built [FS#6362] (r27420)
+- Fix: CmdSellRailWagon did not revert all actions properly when no orderlist could be allocated [FS#6369] (r27419)
+- Fix: Desync due to incorrect storage of segments with different railtype in the YAPF cache [FS#6329] [FS#6379] (r27418)
+- Fix: When a dedicated server was paused with no clients, the master server advertisement interval was slowed, causing deadvertisement of the server [FS#6368] (r27400)
+- Fix: [Makefile] Game script directory and compat*.nut were never installed on *nix (r27399)
+- Fix: There are two different availability conditions for fdatasync in the manpage. Use them both, since at least on some MinGW versions one is not enough (r27389)
+- Fix: win32 sound driver failed to report errors (r27383)
+- Fix: Clickareas in settings tree were misaligned when the filter warning was displayed, if the setting height was defined by the icons instead of the font [FS#6358] (r27366)
+- Fix: Center settings filter warning also vertically, and also in case of multiple lines (r27365)
+
+
+1.5.2 (2015-09-01)
+------------------------------------------------------------------------
+(None)
+
+
+1.5.2-RC1 (2015-08-01)
+------------------------------------------------------------------------
+- Change: Auto-complete partial roads when building level-crossings [FS#6283] (r27309)
+- Fix: Do not rerandomise the town name when only cost-estimating the founding [FS#6332] (r27341)
+- Fix: Make variety distribution not assume that sea level is at height 0.2 / 3 * TGPGetMaxHeight() [FS#6335] (r27331, r27330, r27329, r27328)
+- Fix: Remove corner-case optimisation for line drawing, which failed for dashed lines (r27324)
+- Fix: Clipping of inclined lines did not account for the 'horizontal width' being bigger than the 'real width' (r27323, r27322)
+- Fix: Incorrect owner assignment when adding/removing road/tram to/from bridges [FS#6317] (r27313, r27312)
+- Fix: Mark infrastructure window dirty in more cases (r27311)
+- Fix: Prevent breaking of tram-reversal points by adding more road pieces [FS#6283] (r27308)
+- Fix: Error message window with manager face failed with GUI zoom [FS#6259] (r27307)
+- Fix: Account for road-bridges and drive-through-stops in CanFollowRoad [FS#6320] (r27306, r27305)
+- Fix: Password window layout with GUI zoom [FS#6321] (r27304, r27303)
+- Fix: Speed-only timetables got assigned times in stations [FS#6313] (r27302, r27301)
+- Fix: Enforce the company's default service intervals when purchasing another company [FS#6254] (r27282, r27281)
+- Fix: Cloning/autoreplace/autorenew did not copy custom service intervals (r27280)
+
+
+1.5.1 (2015-06-01)
+------------------------------------------------------------------------
+(None)
+
+
+1.5.1-RC1 (2015-05-08)
+------------------------------------------------------------------------
+- Fix: Do not consider road junctions with trivial dead ends as branch points during town growth [FS#6245] (r27260, r27259, r27244)
+- Fix: ScriptList::RemoveList failed to remove a list from itself [FS#6287] (r27258)
+- Fix: Combined button+dropdown widgets in order and autoreplace GUI had incorrect hitbox when using GUI zoom [FS#6270] (r27255)
+- Fix: When building a lock on DC_AUTO-removable water-based objects, the water class was always set to canal [FS#6264] (r27254)
+- Fix: When crossing tram tracks with railroads, cost of extra roads was not being counted [FS#6282] (r27253)
+- Fix: Invalid infrastructure counting when crossing tram tracks with railroads [FS#6281] (r27252)
+- Fix: Broken error message in configure [FS#6286] (r27250)
+- Fix: In some cases town growth failure was considered as success [FS#6240] (r27249, r27247)
+- Fix: Town labels on smallmap and zoomed-out viewports were not centered [FS#6257] (r27248)
+- Fix: Removing a rail waypoint used the remove-rail-station cost [FS#6251] (r27245)
+- Fix: Duplicate frees due to pool item classes not having copy constructors [FS#6285] (r27243)
+- Fix: Crash when no AIs were installed due to improper handling of non-ASCII characters by the string pointer lexer [FS#6272] (r27233)
+- Fix: Compilation on DragonflyBSD [FS#6274] (r27224, r27223)
+- Fix: Use the current maximum speed as limited by bridges, orders etc. for all vehicle types alike when considering increased smoke emissions of vehicles [FS#6278] (r27222)
+- Fix: Multi-value keys in the desktop entry shall end with a trailing separator (r27221)
+- Fix: Draw path reservation on the whole bridge, not only on the bridge heads (r27209)
+- Fix: Draw correct overlay sprites for path reservations on bridges and tunnels (r27208)
+
+
+1.5.0 (2015-04-01)
+------------------------------------------------------------------------
+- Fix: [NewGRF] Add Misc. GRF Feature Flag 6 to enable the second rocky tile set [FS#6260] (r27200)
+
+
+1.5.0-RC1 (2015-03-18)
+------------------------------------------------------------------------
+- Feature: [NewGRF] Display relative offset changes in the sprite aligner [FS#6236] (r27174)
+- Fix: Original road vehicle acceleration crashed for vehicles taking over [FS#6255] (r27190)
+- Fix: GCC 5 compilation (r27185, r27183)
+- Fix: Data race due to lazy initialisation of objects [FS#5969] (r27178)
+- Fix: Compilation with MinGW64 (r27176)
+- Fix: Use the regular clipping functions in the sprite aligner instead of some magic [FS#6237] (r27173)
+- Fix: Windows randomly drops SetCursorPos calls, breaking the RMB-scrolling [FS#6238] (r27172)
+
+
1.5.0-beta2 (2015-02-24)
------------------------------------------------------------------------
-- Feature: [NoGo] Game scripts can point to a location, station, industry, or town when publishing news. (r27164)
-- Feature: Allow changing max heightlevel in scenario editor. (r27151)
-- Feature: Make use of both rocky tile sets from the base graphics. (r27117)
-- Change: Scale (non-custom) default window sizes according to GUI zoom. (r27147)
-- Change: Make statusbar and chat-entry window use the same width as the toolbar. (r27146)
-- Change: The chatbox-width setting now uses percent of screen width instead of pixels. (r27144)
-- Change: [NewGRF] Interpret negative positions in industry layouts depending on GRF version. (r27138)
-- Fix: [SDL, Windows] Right-mouse-button scrolling scrolled/jumped too far, when OpenTTD lagged during mouse event processing. (r27167)
-- Fix: Toolbars were not invalidated when changing max-vehicles settings. [FS#6204] (r27163)
-- Fix: Tile selection was drawn outside of map in some cases. [FS#6208] (r27162)
-- Fix: Reimplement the viewport drawing algorithm. [FS#6156] [FS#6206] (r27161)
-- Fix: Issues with smallmap and viewport coordinates and transformations. (r27160, r27159, r27158)
-- Fix: Mark bridge middle tiles dirty when building/removing/changing bridges. (r27157)
-- Fix: Rounding and unit-conversion inconsistencies in calls to MarkAllViewportsDirty. (r27148)
-- Fix: Oilrig empty-tile checks were incorrect due to wrong TileIndexDiff->TileIndexDiffC conversion. (r27137)
-- Fix: Misalignment in generate world window in case of small fonts. (r27135)
-- Fix: Dragging of free wagons in depot failed with GUI zoom. (r27133)
-- Fix: Reduce memory footprint of map array by shuffling its members. [FS#6218] (r27132, r27126)
-- Fix: Dropdown- and tooltip-windows should not steal the focus. (r27131)
-- Fix: [NewGRF] Action 7/9 condition 0A failed for present, but disabled, NewGRF. (r27119)
-- Fix: Road vehicles could not reverse to be sent to depots when the following tile has the right type to run on, but could not be entered. [FS#6183] (r27107)
-- Fix: Use the actual max speed of the vehicle in front when determining if a RV can overtake. [FS#6176] (r27106)
-- Fix: grow_counter was not properly bounded by growth_rate, but by some other value used to calculate growth_rate. [FS#6195] (r27105)
-- Fix: [Script] Support 64 bits integers in ScriptLists. [FS#6194] (r27104)
-- Fix: [Script] Money values would end up wrong in strings when outside the bounds of a 32 bits integer. [FS#6194] (r27102)
+- Feature: [NoGo] Game scripts can point to a location, station, industry, or town when publishing news (r27164)
+- Feature: Allow changing max heightlevel in scenario editor (r27151)
+- Feature: Make use of both rocky tile sets from the base graphics (r27117)
+- Change: Scale (non-custom) default window sizes according to GUI zoom (r27147)
+- Change: Make statusbar and chat-entry window use the same width as the toolbar (r27146)
+- Change: The chatbox-width setting now uses percent of screen width instead of pixels (r27144)
+- Change: [NewGRF] Interpret negative positions in industry layouts depending on GRF version (r27138)
+- Fix: [SDL, Windows] Right-mouse-button scrolling scrolled/jumped too far, when OpenTTD lagged during mouse event processing (r27167)
+- Fix: Toolbars were not invalidated when changing max-vehicles settings [FS#6204] (r27163)
+- Fix: Tile selection was drawn outside of map in some cases [FS#6208] (r27162)
+- Fix: Reimplement the viewport drawing algorithm [FS#6156] [FS#6206] (r27161)
+- Fix: Issues with smallmap and viewport coordinates and transformations (r27160, r27159, r27158)
+- Fix: Mark bridge middle tiles dirty when building/removing/changing bridges (r27157)
+- Fix: Rounding and unit-conversion inconsistencies in calls to MarkAllViewportsDirty (r27148)
+- Fix: Oilrig empty-tile checks were incorrect due to wrong TileIndexDiff->TileIndexDiffC conversion (r27137)
+- Fix: Misalignment in generate world window in case of small fonts (r27135)
+- Fix: Dragging of free wagons in depot failed with GUI zoom (r27133)
+- Fix: Reduce memory footprint of map array by shuffling its members [FS#6218] (r27132, r27126)
+- Fix: Dropdown- and tooltip-windows should not steal the focus (r27131)
+- Fix: [NewGRF] Action 7/9 condition 0A failed for present, but disabled, NewGRF (r27119)
+- Fix: Road vehicles could not reverse to be sent to depots when the following tile has the right type to run on, but could not be entered [FS#6183] (r27107)
+- Fix: Use the actual max speed of the vehicle in front when determining if a RV can overtake [FS#6176] (r27106)
+- Fix: grow_counter was not properly bounded by growth_rate, but by some other value used to calculate growth_rate [FS#6195] (r27105)
+- Fix: [Script] Support 64 bits integers in ScriptLists [FS#6194] (r27104)
+- Fix: [Script] Money values would end up wrong in strings when outside the bounds of a 32 bits integer [FS#6194] (r27102)
1.5.0-beta1 (2014-12-24)
diff --git a/config.lib b/config.lib
index 2c46e71279..a8c6e129c0 100644
--- a/config.lib
+++ b/config.lib
@@ -29,6 +29,7 @@ set_default() {
strip=""
lipo=""
awk="awk"
+ pkg_config="pkg-config"
os="DETECT"
endian="AUTO"
cpu_type="DETECT"
@@ -84,7 +85,8 @@ set_default() {
with_libtimidity="1"
with_freetype="1"
with_fontconfig="1"
- with_icu="1"
+ with_icu_layout="1"
+ with_icu_sort="1"
static_icu="0"
with_psp_config="1"
with_threads="1"
@@ -105,6 +107,7 @@ set_default() {
strip
lipo
awk
+ pkg_config
os
endian
cpu_type
@@ -159,7 +162,8 @@ set_default() {
with_libtimidity
with_freetype
with_fontconfig
- with_icu
+ with_icu_layout
+ with_icu_sort
static_icu
with_psp_config
with_threads
@@ -213,6 +217,8 @@ detect_params() {
--windres=*) windres="$optarg";;
--awk) prev_p="awk";;
--awk=*) awk="$optarg";;
+ --pkg-config) prev_p="pkg_config";;
+ --pkg-config=*) pkg_config="$optarg";;
--strip) prev_p="strip";;
--strip=*) strip="$optarg";;
--lipo) prev_p="lipo";;
@@ -383,12 +389,18 @@ detect_params() {
--without-libfontconfig) with_fontconfig="0";;
--with-libfontconfig=*) with_fontconfig="$optarg";;
- --with-icu) with_icu="2";;
- --without-icu) with_icu="0";;
- --with-icu=*) with_icu="$optarg";;
- --with-libicu) with_icu="2";;
- --without-libicu) with_icu="0";;
- --with-libicu=*) with_icu="$optarg";;
+ --with-icu) with_icu_layout="2";with_icu_sort="2";;
+ --without-icu) with_icu_layout="0";with_icu_sort="0";;
+ --with-icu=*) with_icu_layout="$optarg";with_icu_sort="$optarg";;
+ --with-libicu) with_icu_layout="2";with_icu_sort="2";;
+ --without-libicu) with_icu_layout="0";with_icu_sort="0";;
+ --with-libicu=*) with_icu_layout="$optarg";with_icu_sort="$optarg";;
+ --with-icu-layout) with_icu_layout="2";;
+ --without-icu-layout) with_icu_layout="0";;
+ --with-icu-layout=*) with_icu_layout="$optarg";;
+ --with-icu-sort) with_icu_sort="2";;
+ --without-icu-sort) with_icu_sort="0";;
+ --with-icu-sort=*) with_icu_sort="$optarg";;
--static-icu) static_icu="1";;
--static-icu=*) static_icu="$optarg";;
--static-libicu) static_icu="1";;
@@ -787,7 +799,7 @@ check_params() {
pre_detect_with_zlib=$with_zlib
detect_zlib
- if [ "$with_zlib" = "0" ] || [ -z "$zlib" ]; then
+ if [ "$with_zlib" = "0" ] || [ -z "$zlib-config" ]; then
log 1 "WARNING: zlib was not detected or disabled"
log 1 "WARNING: OpenTTD doesn't require zlib, but it does mean that many features"
log 1 "WARNING: (like loading most old savegames/scenarios, loading heightmaps,"
@@ -838,7 +850,8 @@ check_params() {
detect_png
detect_freetype
detect_fontconfig
- detect_icu
+ detect_icu_layout
+ detect_icu_sort
detect_pspconfig
detect_libtimidity
@@ -1653,12 +1666,13 @@ make_cflags_and_ldflags() {
fi
if [ "$with_zlib" != "0" ]; then
- if [ "$enable_static" != "0" ] && [ "$os" != "OSX" ]; then
- LIBS="$LIBS $zlib"
- else
- LIBS="$LIBS -lz"
- fi
CFLAGS="$CFLAGS -DWITH_ZLIB"
+ CFLAGS="$CFLAGS `$zlib_config --cflags | tr '\n\r' ' '`"
+ if [ "$enable_static" != "0" ]; then
+ LIBS="$LIBS `$zlib_config --libs --static | tr '\n\r' ' '`"
+ else
+ LIBS="$LIBS `$zlib_config --libs | tr '\n\r' ' '`"
+ fi
fi
if [ -n "$lzma_config" ]; then
@@ -1704,13 +1718,7 @@ make_cflags_and_ldflags() {
CFLAGS="$CFLAGS `$png_config --cflags | tr '\n\r' ' '`"
if [ "$enable_static" != "0" ]; then
- if [ "$os" = "OSX" ]; then
- # fontconfig_config goes via pkg-config on all systems, which doesn't know --prefix
- # Also, despite the reason we link to the .a file ourself (because we can't use -static), we do need to ask pkg-config about possible other deps
- LIBS="$LIBS `$png_config --variable=prefix`/lib/libpng.a `$png_config --libs --static | sed s@-lpng[0-9]*@@`"
- else
- LIBS="$LIBS `$png_config --libs --static | tr '\n\r' ' '`"
- fi
+ LIBS="$LIBS `$png_config --libs --static | tr '\n\r' ' '`"
else
LIBS="$LIBS `$png_config --libs | tr '\n\r' ' '`"
fi
@@ -1721,13 +1729,7 @@ make_cflags_and_ldflags() {
CFLAGS="$CFLAGS `$fontconfig_config --cflags | tr '\n\r' ' '`"
if [ "$enable_static" != "0" ]; then
- if [ "$os" = "OSX" ]; then
- # fontconfig_config goes via pkg-config on all systems, which doesn't know --prefix
- # Also, despite the reason we link to the .a file ourself (because we can't use -static), we do need to ask pkg-config about possible other deps
- LIBS="$LIBS `$fontconfig_config --variable=prefix`/lib/libfontconfig.a `$fontconfig_config --libs --static | sed s@-lfontconfig@@`"
- else
- LIBS="$LIBS `$fontconfig_config --libs --static | tr '\n\r' ' '`"
- fi
+ LIBS="$LIBS `$fontconfig_config --libs --static | tr '\n\r' ' '`"
else
LIBS="$LIBS `$fontconfig_config --libs | tr '\n\r' ' '`"
fi
@@ -1738,26 +1740,31 @@ make_cflags_and_ldflags() {
CFLAGS="$CFLAGS `$freetype_config --cflags | tr '\n\r' ' '`"
if [ "$enable_static" != "0" ]; then
- if [ "$os" = "OSX" ]; then
- LIBS="$LIBS `$freetype_config --prefix`/lib/libfreetype.a"
- else
- # Is it possible to do static with freetype, if so: how?
- LIBS="$LIBS `$freetype_config --libs | tr '\n\r' ' '`"
- fi
+ LIBS="$LIBS `$freetype_config --libs --static | tr '\n\r' ' '`"
else
LIBS="$LIBS `$freetype_config --libs | tr '\n\r' ' '`"
fi
fi
- if [ -n "$icu_config" ]; then
- CFLAGS="$CFLAGS -DWITH_ICU"
- CFLAGS="$CFLAGS `$icu_config --cppflags | tr '\n\r' ' '`"
+ if [ -n "$icu_layout_config" ]; then
+ CFLAGS="$CFLAGS -DWITH_ICU_LAYOUT"
+ CFLAGS="$CFLAGS `$icu_layout_config --cflags | tr '\n\r' ' '`"
- # Some icu-configs have the 'feature' of not adding a space where others do add the space
if [ "$static_icu" != "0" ]; then
- LIBS="$LIBS `$icu_config --ldflags-searchpath` `($icu_config --ldflags-libsonly; $icu_config --ldflags-layout) | tr '\n\r' ' ' | sed s/licu/lsicu/g`"
+ LIBS="$LIBS `$icu_layout_config --libs --static | tr '\n\r' ' ' | sed s/-licu/-lsicu/g`"
else
- LIBS="$LIBS `$icu_config --ldflags-searchpath` `($icu_config --ldflags-libsonly; $icu_config --ldflags-layout) | tr '\n\r' ' '`"
+ LIBS="$LIBS `$icu_layout_config --libs | tr '\n\r' ' '`"
+ fi
+ fi
+
+ if [ -n "$icu_sort_config" ]; then
+ CFLAGS="$CFLAGS -DWITH_ICU_SORT"
+ CFLAGS="$CFLAGS `$icu_sort_config --cflags | tr '\n\r' ' '`"
+
+ if [ "$static_icu" != "0" ]; then
+ LIBS="$LIBS `$icu_sort_config --libs --static | tr '\n\r' ' ' | sed s/-licu/-lsicu/g`"
+ else
+ LIBS="$LIBS `$icu_sort_config --libs | tr '\n\r' ' '`"
fi
fi
@@ -1772,13 +1779,15 @@ make_cflags_and_ldflags() {
fi
fi
- if [ -n "$libtimidity" ]; then
- if [ "$enable_static" != "0" ]; then
- LIBS="$LIBS $libtimidity"
- else
- LIBS="$LIBS -ltimidity"
- fi
+ if [ -n "$libtimidity_config" ]; then
CFLAGS="$CFLAGS -DLIBTIMIDITY"
+ CFLAGS="$CFLAGS `$libtimidity_config --cflags | tr '\n\r' ' '`"
+
+ if [ "$enable_static" != "0" ]; then
+ LIBS="$LIBS `$libtimidity_config --libs --static | tr '\n\r' ' '`"
+ else
+ LIBS="$LIBS `$libtimidity_config --libs | tr '\n\r' ' '`"
+ fi
fi
if [ "$with_iconv" != "0" ]; then
@@ -1938,9 +1947,26 @@ check_compiler() {
log 2 " exit code $ret"
if ( [ -z "$machine" ] && [ "$8" != "3" ] ) || [ "$ret" != "0" ]; then
- log 1 "checking $1... $compiler not found"
- log 1 "I couldn't detect any $6 binary for $3"
- exit 1
+ if [ -z "$5" ]; then
+ log 1 "checking $1... $compiler not found"
+ log 1 "I couldn't detect any $6 binary for $3"
+ exit 1
+ else
+ compiler="$3-$5"
+ fi
+ machine=`eval $compiler $9 2>/dev/null`
+ ret=$?
+ eval "$2=\"$compiler\""
+
+ log 2 "executing $compiler $9"
+ log 2 " returned $machine"
+ log 2 " exit code $ret"
+
+ if ( [ -z "$machine" ] && [ "$8" != "3" ] ) || [ "$ret" != "0" ]; then
+ log 1 "checking $1... $compiler not found"
+ log 1 "I couldn't detect any $5 binary for $3"
+ exit 1
+ fi
fi
if [ "$machine" != "$3" ] && ( [ "$8" = "0" ] || [ "$8" = "1" ] ); then
@@ -2349,7 +2375,7 @@ detect_allegro() {
return 0
fi
- # By default on OSX we don't use SDL. The rest is auto-detect
+ # By default on OSX we don't use Allegro. The rest is auto-detect
if [ "$with_allegro" = "1" ] && [ "$os" = "OSX" ] && [ "$with_cocoa" != "0" ]; then
log 1 "checking Allegro... OSX, skipping"
@@ -2357,33 +2383,7 @@ detect_allegro() {
return 0
fi
- if [ "$with_allegro" = "1" ] || [ "$with_allegro" = "" ] || [ "$with_allegro" = "2" ]; then
- allegro_config="allegro-config"
- else
- allegro_config="$with_allegro"
- fi
-
- version=`$allegro_config --version 2>/dev/null`
- ret=$?
- log 2 "executing $allegro_config --version"
- log 2 " returned $version"
- log 2 " exit code $ret"
-
- if [ -z "$version" ] || [ "$ret" != "0" ]; then
- log 1 "checking Allegro... not found"
-
- # It was forced, so it should be found.
- if [ "$with_allegro" != "1" ]; then
- log 1 "configure: error: allegro-config couldn't be found"
- log 1 "configure: error: you supplied '$with_allegro', but it seems invalid"
- exit 1
- fi
-
- allegro_config=""
- return 0
- fi
-
- log 1 "checking Allegro... found"
+ detect_pkg_config "$with_allegro" "allegro" "allegro_config" "4.4"
}
@@ -2429,33 +2429,7 @@ detect_sdl() {
sleep 5
fi
- if [ "$with_sdl" = "1" ] || [ "$with_sdl" = "" ] || [ "$with_sdl" = "2" ]; then
- sdl_config="sdl-config"
- else
- sdl_config="$with_sdl"
- fi
-
- version=`$sdl_config --version 2>/dev/null`
- ret=$?
- log 2 "executing $sdl_config --version"
- log 2 " returned $version"
- log 2 " exit code $ret"
-
- if [ -z "$version" ] || [ "$ret" != "0" ]; then
- log 1 "checking SDL... not found"
-
- # It was forced, so it should be found.
- if [ "$with_sdl" != "1" ]; then
- log 1 "configure: error: sdl-config couldn't be found"
- log 1 "configure: error: you supplied '$with_sdl', but it seems invalid"
- exit 1
- fi
-
- sdl_config=""
- return 0
- fi
-
- log 1 "checking SDL... found"
+ detect_pkg_config "$with_sdl" "sdl" "sdl_config" "1.2"
}
detect_osx_sdk() {
@@ -2636,10 +2610,13 @@ detect_library() {
fi
fi
if [ -z "$res" ] && [ "$os" = "HAIKU" ]; then
- eval "$2=`ls -1 /boot/common/include/$4*.h 2>/dev/null | egrep \"\/$5\$\"`"
+ if [ -z "$includeDir" ]; then
+ includeDir=`finddir B_SYSTEM_HEADERS_DIRECTORY`
+ fi
+ eval "$2=`ls -1 $includeDir/$4*.h 2>/dev/null | egrep \"\/$5\$\"`"
eval "res=\$$2"
if [ -z "$res" ]; then
- log 2 " trying /boot/common/include/$4$5... no"
+ log 2 " trying $includeDir/$4$5... no"
fi
fi
@@ -2708,7 +2685,7 @@ detect_library() {
}
detect_zlib() {
- detect_library "$with_zlib" "zlib" "libz.a" "" "zlib.h"
+ detect_pkg_config "$with_zlib" "zlib" "zlib_config" "1.2"
}
detect_lzo2() {
@@ -2716,7 +2693,7 @@ detect_lzo2() {
}
detect_libtimidity() {
- detect_library "$with_libtimidity" "libtimidity" "libtimidity.a" "" "timidity.h"
+ detect_pkg_config "$with_libtimidity" "libtimidity" "libtimidity_config" "0.1" "1"
}
detect_pkg_config() {
@@ -2724,6 +2701,7 @@ detect_pkg_config() {
# $2 - package name ('liblzma')
# $3 - config name ('lzma_config', sets $lzma_config)
# $4 - minimum module version ('2.3')
+ # $5 - check for dedicated, 1 is "skif if dedicated"
# 0 means no, 1 is auto-detect, 2 is force
if [ "$1" = "0" ]; then
@@ -2733,10 +2711,17 @@ detect_pkg_config() {
return 0
fi
+ if [ "$5" = "1" ] && [ "$1" = "1" ] && [ "$enable_dedicated" != "0" ]; then
+ log 1 "checking $2... dedicated server, skipping"
+
+ eval "$3=\"\""
+ return 0
+ fi
+
log 2 "detecting $2"
if [ "$1" = "1" ] || [ "$1" = "" ] || [ "$1" = "2" ]; then
- pkg_config_call="pkg-config $2"
+ pkg_config_call="$pkg_config $2"
else
pkg_config_call="$1"
fi
@@ -2758,7 +2743,7 @@ detect_pkg_config() {
# It was forced, so it should be found.
if [ "$1" != "1" ]; then
- log 1 "configure: error: pkg-config $2 couldn't be found"
+ log 1 "configure: error: $pkg_config $2 couldn't be found"
log 1 "configure: error: you supplied '$1', but it seems invalid"
exit 1
fi
@@ -2780,89 +2765,11 @@ detect_xdg_basedir() {
}
detect_png() {
- # 0 means no, 1 is auto-detect, 2 is force
- if [ "$with_png" = "0" ]; then
- log 1 "checking libpng... disabled"
-
- png_config=""
- return 0
- fi
-
- if [ "$with_zlib" = "0" ] || [ -z "$zlib" ]; then
- if [ "$with_png" != "1" ]; then
- log 1 "checking libpng... no zlib"
- log 1 "ERROR: libpng was forced, but zlib was not detected / disabled."
- log 1 "ERROR: libpng depends on zlib."
-
- exit 1
- fi
-
- log 1 "checking libpng... no zlib, skipping"
-
- png_config=""
- return 0
- fi
-
detect_pkg_config "$with_png" "libpng" "png_config" "1.2"
}
detect_freetype() {
- # 0 means no, 1 is auto-detect, 2 is force
- if [ "$with_freetype" = "0" ]; then
- log 1 "checking libfreetype... disabled"
-
- freetype_config=""
- return 0
- fi
- if [ "$with_freetype" = "1" ] && [ "$enable_dedicated" != "0" ]; then
- log 1 "checking libfreetype... dedicated server, skipping"
-
- freetype_config=""
- return 0
- fi
-
- if [ "$with_zlib" = "0" ] || [ -z "$zlib" ]; then
- if [ "$with_freetype" != "1" ]; then
- log 1 "checking libfreetype... no zlib"
- log 1 "ERROR: libfreetype was forced, but zlib was not detected / disabled."
- log 1 "ERROR: libfreetype depends on zlib."
-
- exit 1
- fi
-
- log 1 "checking libfreetype... no zlib, skipping"
-
- freetype_config=""
- return 0
- fi
-
- if [ "$with_freetype" = "1" ] || [ "$with_freetype" = "" ] || [ "$with_freetype" = "2" ]; then
- freetype_config="freetype-config"
- else
- freetype_config="$with_freetype"
- fi
-
- version=`$freetype_config --version 2>/dev/null`
- ret=$?
- log 2 "executing freetype_config --version"
- log 2 " returned $version"
- log 2 " exit code $ret"
-
- if [ -z "$version" ] || [ "$ret" != "0" ]; then
- log 1 "checking libfreetype... not found"
-
- # It was forced, so it should be found.
- if [ "$with_freetype" != "1" ]; then
- log 1 "configure: error: freetype-config couldn't be found"
- log 1 "configure: error: you supplied '$with_freetype', but it seems invalid"
- exit 1
- fi
-
- freetype_config=""
- return 0
- fi
-
- log 1 "checking libfreetype... found"
+ detect_pkg_config "$with_freetype" "freetype2" "freetype_config" "2.2" "1"
}
detect_fontconfig() {
@@ -2873,19 +2780,6 @@ detect_fontconfig() {
fontconfig_config=""
return 0
fi
- if [ "$with_fontconfig" = "1" ] && [ "$enable_dedicated" != "0" ]; then
- log 1 "checking libfontconfig... dedicated server, skipping"
-
- fontconfig_config=""
- return 0
- fi
- if [ "$with_fontconfig" != "2" ] && [ -z "$freetype_config" ]; then
- log 1 "checking libfontconfig... no freetype, skipping"
-
- fontconfig_config=""
- return 0
- fi
-
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "WINCE" ]; then
log 1 "checking libfontconfig... WIN32, skipping"
fontconfig_config=""
@@ -2898,57 +2792,15 @@ detect_fontconfig() {
return 0
fi
- detect_pkg_config "$with_fontconfig" "fontconfig" "fontconfig_config" "2.3"
+ detect_pkg_config "$with_fontconfig" "fontconfig" "fontconfig_config" "2.3" "1"
}
-detect_icu() {
- # 0 means no, 1 is auto-detect, 2 is force
- if [ "$with_icu" = "0" ]; then
- log 1 "checking libicu... disabled"
+detect_icu_layout() {
+ detect_pkg_config "$with_icu_layout" "icu-lx" "icu_layout_config" "4.8" "1"
+}
- icu_config=""
- return 0
- fi
- if [ "$with_icu" = "1" ] && [ "$enable_dedicated" != "0" ]; then
- log 1 "checking libicu... dedicated server, skipping"
-
- icu_config=""
- return 0
- fi
-
- if [ "$with_icu" = "1" ] || [ "$with_icu" = "" ] || [ "$with_icu" = "2" ]; then
- icu_config="icu-config"
- else
- icu_config="$with_icu"
- fi
-
- version=`$icu_config --version 2>/dev/null`
- ret=$?
- check_version '3.6' "$version"
- version_ok=$?
- log 2 "executing $icu_config --version"
- log 2 " returned $version"
- log 2 " exit code $ret"
-
- if [ -z "$version" ] || [ "$ret" != "0" ] || [ "$version_ok" != "1" ]; then
- if [ -n "$version" ] && [ "$version_ok" != "1" ]; then
- log 1 "checking libicu... needs at least version 3.6.0, icu NOT enabled"
- else
- log 1 "checking libicu... not found"
- fi
-
- # It was forced, so it should be found.
- if [ "$with_icu" != "1" ]; then
- log 1 "configure: error: icu-config couldn't be found"
- log 1 "configure: error: you supplied '$with_icu', but it seems invalid"
- exit 1
- fi
-
- icu_config=""
- return 0
- fi
-
- log 1 "checking libicu... found"
+detect_icu_sort() {
+ detect_pkg_config "$with_icu_sort" "icu-i18n" "icu_sort_config" "4.8" "1"
}
detect_pspconfig() {
@@ -3588,6 +3440,7 @@ showhelp() {
echo " --windres=WINDRES the windres to use [HOST-windres]"
echo " --strip=STRIP the strip to use [HOST-strip]"
echo " --awk=AWK the awk to use in configure [awk]"
+ echo " --pkg-config=PKG-CONFIG the pkg-config to use in configure [pkg-config]"
echo " --lipo=LIPO the lipo to use (OSX ONLY) [HOST-lipo]"
echo " --os=OS the OS we are compiling for [DETECT]"
echo " DETECT/UNIX/OSX/FREEBSD/DRAGONFLY/OPENBSD/"
@@ -3662,23 +3515,30 @@ showhelp() {
echo " --with-midi=midi define which midi-player to use"
echo " --with-midi-arg=arg define which args to use for the"
echo " midi-player"
- echo " --with-libtimidity enables libtimidity support"
- echo " --with-allegro[=allegro-config]"
+ echo " --with-libtimidity[=\"pkg-config libtimidity\"]"
+ echo " enables libtimidity support"
+ echo " --with-allegro[=\"pkg-config allegro\"]"
echo " enables Allegro video driver support"
echo " --with-cocoa enables COCOA video driver (OSX ONLY)"
- echo " --with-sdl[=sdl-config] enables SDL video driver support"
- echo " --with-zlib[=zlib.a] enables zlib support"
+ echo " --with-sdl[=\"pkg-config sdl\"] enables SDL video driver support"
+ echo " --with-zlib[=\"pkg-config zlib\"]"
+ echo " enables zlib support"
echo " --with-liblzma[=\"pkg-config liblzma\"]"
echo " enables liblzma support"
echo " --with-liblzo2[=liblzo2.a] enables liblzo2 support"
- echo " --with-png[=libpng-config] enables libpng support"
- echo " --with-freetype[=freetype-config]"
+ echo " --with-png[=\"pkg-config libpng\"]"
+ echo " enables libpng support"
+ echo " --with-freetype[=\"pkg-config freetype2\"]"
echo " enables libfreetype support"
echo " --with-fontconfig[=\"pkg-config fontconfig\"]"
echo " enables fontconfig support"
echo " --with-xdg-basedir[=\"pkg-config libxdg-basedir\"]"
echo " enables XDG base directory support"
- echo " --with-icu[=icu-config] enables icu (used for right-to-left support)"
+ echo " --with-icu enables icu components for layout and sorting"
+ echo " --with-icu-layout[=\"pkg-config icu-lx\"]"
+ echo " enables icu components for layouting (right-to-left support)"
+ echo " --with-icu-sort[=\"pkg-config icu-i18n\"]"
+ echo " enables icu components for locale specific string sorting"
echo " --static-icu try to link statically (libsicu instead of"
echo " libicu; can fail as the new name is guessed)"
echo " --with-iconv[=iconv-path] enables iconv support"
diff --git a/os/debian/changelog b/os/debian/changelog
index d56400af01..4dd5b1155f 100644
--- a/os/debian/changelog
+++ b/os/debian/changelog
@@ -1,3 +1,51 @@
+openttd (1.5.3-0) unstable; urgency=low
+
+ * New upstream release 1.5.3
+
+ -- OpenTTD Tue, 01 Dec 2015 21:00:00 +0100
+
+openttd (1.5.3~RC1-0) unstable; urgency=low
+
+ * New upstream release 1.5.3-RC1
+
+ -- OpenTTD Sun, 01 Nov 2015 14:00:00 +0100
+
+openttd (1.5.2-0) unstable; urgency=low
+
+ * New upstream release 1.5.2
+
+ -- OpenTTD Tue, 01 Sep 2015 21:00:00 +0200
+
+openttd (1.5.2~RC1-0) unstable; urgency=low
+
+ * New upstream release 1.5.2-RC1
+
+ -- OpenTTD Sat, 01 Aug 2015 13:00:00 +0200
+
+openttd (1.5.1-0) unstable; urgency=low
+
+ * New upstream release 1.5.1
+
+ -- OpenTTD Mon, 01 Jun 2015 21:00:00 +0200
+
+openttd (1.5.1~RC1-0) unstable; urgency=low
+
+ * New upstream release 1.5.1-RC1
+
+ -- OpenTTD Fri, 08 May 2015 21:00:00 +0200
+
+openttd (1.5.0-0) unstable; urgency=low
+
+ * New upstream release 1.5.0
+
+ -- OpenTTD Wed, 01 Apr 2015 21:00:00 +0200
+
+openttd (1.5.0~RC1-0) unstable; urgency=low
+
+ * New upstream release 1.5.0-RC1
+
+ -- OpenTTD Wed, 18 Mar 2015 21:00:00 +0100
+
openttd (1.5.0~beta2-0) unstable; urgency=low
* New upstream release 1.5.0-beta2
diff --git a/os/os2/installer/make_installer.cmd b/os/os2/installer/make_installer.cmd
index 6fe6dace66..de01554a07 100644
--- a/os/os2/installer/make_installer.cmd
+++ b/os/os2/installer/make_installer.cmd
@@ -1,6 +1,6 @@
@echo off
-set OPENTTD_VERSION=1.6.0
+set OPENTTD_VERSION=1.7.0
set OPENSFX_VERSION=0.8.0
set NOSOUND_VERSION=0.8.0
set OPENGFX_VERSION=1.2.0
diff --git a/os/rpm/openttd.spec b/os/rpm/openttd.spec
index 5ad5a53cab..711693bcf7 100644
--- a/os/rpm/openttd.spec
+++ b/os/rpm/openttd.spec
@@ -17,9 +17,9 @@
#
Name: openttd
-Version: 1.6.beta1
+Version: 1.7.beta1
Release: 0
-%define srcver 1.6.0-beta1
+%define srcver 1.7.0-beta1
Summary: An open source reimplementation of Chris Sawyer's Transport Tycoon Deluxe
License: GPL-2.0
Group: Amusements/Games/Strategy/Other
diff --git a/os/windows/installer/install.nsi b/os/windows/installer/install.nsi
index ebe9ed3dcd..9eb869f2d3 100644
--- a/os/windows/installer/install.nsi
+++ b/os/windows/installer/install.nsi
@@ -1,6 +1,6 @@
# Version numbers to update
!define APPV_MAJOR 1
-!define APPV_MINOR 6
+!define APPV_MINOR 7
!define APPV_MAINT 0
!define APPV_BUILD 0
!define APPV_EXTRA "-beta1"
diff --git a/projects/generate b/projects/generate
index 42b684d2af..bd177bf71b 100755
--- a/projects/generate
+++ b/projects/generate
@@ -22,6 +22,15 @@ then
exit 1
fi
+# openttd_vs140.sln is for MSVC 2015
+# openttd_vs140.vcxproj is for MSVC 2015
+# openttd_vs140.vcxproj.filters is for MSVC 2015
+# langs_vs140.vcxproj is for MSVC 2015
+# strgen_vs140.vcxproj is for MSVC 2015
+# strgen_vs140.vcxproj.filters is for MSVC 2015
+# generate_vs140.vcxproj is for MSVC 2015
+# version_vs140.vcxproj is for MSVC 2015
+
# openttd_vs100.sln is for MSVC 2010
# openttd_vs100.vcxproj is for MSVC 2010
# openttd_vs100.vcxproj.filters is for MSVC 2010
@@ -306,11 +315,17 @@ generate "$openttd" "openttd_vs80.vcproj"
generate "$openttd" "openttd_vs90.vcproj"
generate "$openttdvcxproj" "openttd_vs100.vcxproj"
generate "$openttdfiles" "openttd_vs100.vcxproj.filters" "$openttdfilters"
+generate "$openttdvcxproj" "openttd_vs140.vcxproj"
+generate "$openttdfiles" "openttd_vs140.vcxproj.filters" "$openttdfilters"
generate "$lang" "langs_vs80.vcproj"
generate "$lang" "langs_vs90.vcproj"
generate "$langvcxproj" "langs_vs100.vcxproj"
generate "$langfiles" "langs_vs100.vcxproj.filters"
+generate "$langvcxproj" "langs_vs140.vcxproj"
+generate "$langfiles" "langs_vs140.vcxproj.filters"
generate "$settings" "settings_vs80.vcproj" "$settingscommand"
generate "$settings" "settings_vs90.vcproj" "$settingscommand"
generate "$settingsvcxproj" "settings_vs100.vcxproj" "$settingscommand"
generate "$settingsfiles" "settings_vs100.vcxproj.filters"
+generate "$settingsvcxproj" "settings_vs140.vcxproj" "$settingscommand"
+generate "$settingsfiles" "settings_vs140.vcxproj.filters"
diff --git a/projects/generate.vbs b/projects/generate.vbs
index 4e1e886873..6692b45e7f 100755
--- a/projects/generate.vbs
+++ b/projects/generate.vbs
@@ -10,6 +10,15 @@ Option Explicit
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
+' openttd_vs140.sln is for MSVC 2015
+' openttd_vs140.vcxproj is for MSVC 2015
+' openttd_vs140.vcxproj.filters is for MSVC 2015
+' langs_vs140.vcxproj is for MSVC 2015
+' strgen_vs140.vcxproj is for MSVC 2015
+' strgen_vs140.vcxproj.filters is for MSVC 2015
+' generate_vs140.vcxproj is for MSVC 2015
+' version_vs140.vcxproj is for MSVC 2015
+
' openttd_vs100.sln is for MSVC 2010
' openttd_vs100.vcxproj is for MSVC 2010
' openttd_vs100.vcxproj.filters is for MSVC 2010
@@ -369,6 +378,8 @@ generate openttd, ROOT_DIR & "/projects/openttd_vs80.vcproj", Null
generate openttd, ROOT_DIR & "/projects/openttd_vs90.vcproj", Null
generate openttdvcxproj, ROOT_DIR & "/projects/openttd_vs100.vcxproj", Null
generate openttdfiles, ROOT_DIR & "/projects/openttd_vs100.vcxproj.filters", openttdfilters
+generate openttdvcxproj, ROOT_DIR & "/projects/openttd_vs140.vcxproj", Null
+generate openttdfiles, ROOT_DIR & "/projects/openttd_vs140.vcxproj.filters", openttdfilters
Dim lang, langvcxproj, langfiles
lang = load_lang_data(ROOT_DIR & "/src/lang", langvcxproj, langfiles)
@@ -376,6 +387,8 @@ generate lang, ROOT_DIR & "/projects/langs_vs80.vcproj", Null
generate lang, ROOT_DIR & "/projects/langs_vs90.vcproj", Null
generate langvcxproj, ROOT_DIR & "/projects/langs_vs100.vcxproj", Null
generate langfiles, ROOT_DIR & "/projects/langs_vs100.vcxproj.filters", Null
+generate langvcxproj, ROOT_DIR & "/projects/langs_vs140.vcxproj", Null
+generate langfiles, ROOT_DIR & "/projects/langs_vs140.vcxproj.filters", Null
Dim settings, settingsvcxproj, settingscommand, settingsfiles
settings = load_settings_data(ROOT_DIR & "/src/table", settingsvcxproj, settingscommand, settingsfiles)
@@ -383,3 +396,5 @@ generate settings, ROOT_DIR & "/projects/settings_vs80.vcproj", settingscommand
generate settings, ROOT_DIR & "/projects/settings_vs90.vcproj", settingscommand
generate settingsvcxproj, ROOT_DIR & "/projects/settings_vs100.vcxproj", settingscommand
generate settingsfiles, ROOT_DIR & "/projects/settings_vs100.vcxproj.filters", Null
+generate settingsvcxproj, ROOT_DIR & "/projects/settings_vs140.vcxproj", settingscommand
+generate settingsfiles, ROOT_DIR & "/projects/settings_vs140.vcxproj.filters", Null
diff --git a/projects/generate_vs140.vcxproj b/projects/generate_vs140.vcxproj
new file mode 100644
index 0000000000..67b1b7712c
--- /dev/null
+++ b/projects/generate_vs140.vcxproj
@@ -0,0 +1,40 @@
+
+
+
+
+ Debug
+ Win32
+
+
+
+ generate
+ {2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}
+ generate
+
+
+
+ Utility
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+ Document
+ Running %27generate.vbs%27 ...
+ cscript "$(ProjectDir)generate.vbs"
+ %(FullPath);%(AdditionalInputs)
+ $(SolutionDir)openttd_vs80.vcproj;$(SolutionDir)openttd_vs90.vcproj;$(SolutionDir)openttd_vs100.vcxproj;$(SolutionDir)openttd_vs100.vcxproj.filters;$(SolutionDir)langs_vs80.vcproj;$(SolutionDir)langs_vs90.vcproj;$(SolutionDir)langs_vs100.vcxproj;%(Outputs)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/projects/langs_vs140.vcxproj b/projects/langs_vs140.vcxproj
new file mode 100644
index 0000000000..0907bfa6f5
--- /dev/null
+++ b/projects/langs_vs140.vcxproj
@@ -0,0 +1,384 @@
+
+
+
+
+ Debug
+ Win32
+
+
+
+ langs
+ {0F066B23-18DF-4284-8265-F4A5E7E3B966}
+ langs
+ MakeFileProj
+
+
+
+ Utility
+ false
+ v140
+
+
+
+
+
+
+
+
+
+ ..\bin\lang\
+ ..\objs\langs\
+
+
+
+ Generating strings.h
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\objs\langs\table
+
+
+ ./langs.tlb
+
+
+
+
+
+
+ Generating english language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\english.lng;%(Outputs)
+
+
+ Generating afrikaans language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\afrikaans.lng;%(Outputs)
+
+
+ Generating arabic_egypt language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\arabic_egypt.lng;%(Outputs)
+
+
+ Generating basque language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\basque.lng;%(Outputs)
+
+
+ Generating belarusian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\belarusian.lng;%(Outputs)
+
+
+ Generating brazilian_portuguese language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\brazilian_portuguese.lng;%(Outputs)
+
+
+ Generating bulgarian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\bulgarian.lng;%(Outputs)
+
+
+ Generating catalan language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\catalan.lng;%(Outputs)
+
+
+ Generating croatian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\croatian.lng;%(Outputs)
+
+
+ Generating czech language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\czech.lng;%(Outputs)
+
+
+ Generating danish language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\danish.lng;%(Outputs)
+
+
+ Generating dutch language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\dutch.lng;%(Outputs)
+
+
+ Generating english_AU language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\english_AU.lng;%(Outputs)
+
+
+ Generating english_US language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\english_US.lng;%(Outputs)
+
+
+ Generating esperanto language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\esperanto.lng;%(Outputs)
+
+
+ Generating estonian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\estonian.lng;%(Outputs)
+
+
+ Generating faroese language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\faroese.lng;%(Outputs)
+
+
+ Generating finnish language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\finnish.lng;%(Outputs)
+
+
+ Generating french language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\french.lng;%(Outputs)
+
+
+ Generating gaelic language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\gaelic.lng;%(Outputs)
+
+
+ Generating galician language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\galician.lng;%(Outputs)
+
+
+ Generating german language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\german.lng;%(Outputs)
+
+
+ Generating greek language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\greek.lng;%(Outputs)
+
+
+ Generating hebrew language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\hebrew.lng;%(Outputs)
+
+
+ Generating hungarian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\hungarian.lng;%(Outputs)
+
+
+ Generating icelandic language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\icelandic.lng;%(Outputs)
+
+
+ Generating indonesian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\indonesian.lng;%(Outputs)
+
+
+ Generating irish language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\irish.lng;%(Outputs)
+
+
+ Generating italian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\italian.lng;%(Outputs)
+
+
+ Generating japanese language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\japanese.lng;%(Outputs)
+
+
+ Generating korean language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\korean.lng;%(Outputs)
+
+
+ Generating latin language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\latin.lng;%(Outputs)
+
+
+ Generating latvian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\latvian.lng;%(Outputs)
+
+
+ Generating lithuanian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\lithuanian.lng;%(Outputs)
+
+
+ Generating luxembourgish language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\luxembourgish.lng;%(Outputs)
+
+
+ Generating malay language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\malay.lng;%(Outputs)
+
+
+ Generating norwegian_bokmal language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\norwegian_bokmal.lng;%(Outputs)
+
+
+ Generating norwegian_nynorsk language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\norwegian_nynorsk.lng;%(Outputs)
+
+
+ Generating polish language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\polish.lng;%(Outputs)
+
+
+ Generating portuguese language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\portuguese.lng;%(Outputs)
+
+
+ Generating romanian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\romanian.lng;%(Outputs)
+
+
+ Generating russian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\russian.lng;%(Outputs)
+
+
+ Generating serbian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\serbian.lng;%(Outputs)
+
+
+ Generating simplified_chinese language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\simplified_chinese.lng;%(Outputs)
+
+
+ Generating slovak language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\slovak.lng;%(Outputs)
+
+
+ Generating slovenian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\slovenian.lng;%(Outputs)
+
+
+ Generating spanish language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\spanish.lng;%(Outputs)
+
+
+ Generating swedish language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\swedish.lng;%(Outputs)
+
+
+ Generating tamil language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\tamil.lng;%(Outputs)
+
+
+ Generating thai language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\thai.lng;%(Outputs)
+
+
+ Generating traditional_chinese language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\traditional_chinese.lng;%(Outputs)
+
+
+ Generating turkish language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\turkish.lng;%(Outputs)
+
+
+ Generating ukrainian language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\ukrainian.lng;%(Outputs)
+
+
+ Generating vietnamese language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\vietnamese.lng;%(Outputs)
+
+
+ Generating welsh language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\welsh.lng;%(Outputs)
+
+
+
+
+ {a133a442-bd0a-4ade-b117-ad7545e4bdd1}
+ false
+
+
+
+
+
+
diff --git a/projects/langs_vs140.vcxproj.filters b/projects/langs_vs140.vcxproj.filters
new file mode 100644
index 0000000000..fb16aa64e0
--- /dev/null
+++ b/projects/langs_vs140.vcxproj.filters
@@ -0,0 +1,173 @@
+
+
+
+
+ {2a164580-9033-4a01-974b-b21da507efda}
+
+
+
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+ Translations
+
+
+
diff --git a/projects/langs_vs140.vcxproj.filters.in b/projects/langs_vs140.vcxproj.filters.in
new file mode 100644
index 0000000000..0d60ee9595
--- /dev/null
+++ b/projects/langs_vs140.vcxproj.filters.in
@@ -0,0 +1,12 @@
+
+
+
+
+ {2a164580-9033-4a01-974b-b21da507efda}
+
+
+
+
+!!FILES!!
+
+
diff --git a/projects/langs_vs140.vcxproj.in b/projects/langs_vs140.vcxproj.in
new file mode 100644
index 0000000000..f75ef9d6b5
--- /dev/null
+++ b/projects/langs_vs140.vcxproj.in
@@ -0,0 +1,61 @@
+
+
+
+
+ Debug
+ Win32
+
+
+
+ langs
+ {0F066B23-18DF-4284-8265-F4A5E7E3B966}
+ langs
+ MakeFileProj
+
+
+
+ Utility
+ false
+ v140
+
+
+
+
+
+
+
+
+
+ ..\bin\lang\
+ ..\objs\langs\
+
+
+
+ Generating strings.h
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\objs\langs\table
+
+
+ ./langs.tlb
+
+
+
+
+
+
+ Generating english language file
+ ..\objs\strgen\strgen.exe -s ..\src\lang -d ..\bin\lang "%(FullPath)"
+ ..\src\lang\english.txt;..\objs\strgen\strgen.exe;%(AdditionalInputs)
+ ..\bin\lang\english.lng;%(Outputs)
+
+!!FILES!!
+
+
+
+ {a133a442-bd0a-4ade-b117-ad7545e4bdd1}
+ false
+
+
+
+
+
+
diff --git a/projects/openttd_vs140.sln b/projects/openttd_vs140.sln
new file mode 100644
index 0000000000..d256cfa495
--- /dev/null
+++ b/projects/openttd_vs140.sln
@@ -0,0 +1,94 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.23107.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openttd", "openttd_vs140.vcxproj", "{668328A0-B40E-4CDB-BD72-D0064424414A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0817F629-589E-4A3B-B81A-8647BC571E35} = {0817F629-589E-4A3B-B81A-8647BC571E35}
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7} = {E9548DE9-F089-49B7-93A6-30BE2CC311C7}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "strgen", "strgen_vs140.vcxproj", "{A133A442-BD0A-4ADE-B117-AD7545E4BDD1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "langs", "langs_vs140.vcxproj", "{0F066B23-18DF-4284-8265-F4A5E7E3B966}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "version", "version_vs140.vcxproj", "{1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate", "generate_vs140.vcxproj", "{2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "settings", "settings_vs140.vcxproj", "{0817F629-589E-4A3B-B81A-8647BC571E35}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7} = {E9548DE9-F089-49B7-93A6-30BE2CC311C7}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "settingsgen", "settingsgen_vs140.vcxproj", "{E9548DE9-F089-49B7-93A6-30BE2CC311C7}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {668328A0-B40E-4CDB-BD72-D0064424414A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {668328A0-B40E-4CDB-BD72-D0064424414A}.Debug|Win32.Build.0 = Debug|Win32
+ {668328A0-B40E-4CDB-BD72-D0064424414A}.Debug|x64.ActiveCfg = Debug|x64
+ {668328A0-B40E-4CDB-BD72-D0064424414A}.Debug|x64.Build.0 = Debug|x64
+ {668328A0-B40E-4CDB-BD72-D0064424414A}.Release|Win32.ActiveCfg = Release|Win32
+ {668328A0-B40E-4CDB-BD72-D0064424414A}.Release|Win32.Build.0 = Release|Win32
+ {668328A0-B40E-4CDB-BD72-D0064424414A}.Release|x64.ActiveCfg = Release|x64
+ {668328A0-B40E-4CDB-BD72-D0064424414A}.Release|x64.Build.0 = Release|x64
+ {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Debug|Win32.Build.0 = Debug|Win32
+ {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Debug|x64.ActiveCfg = Debug|Win32
+ {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Debug|x64.Build.0 = Debug|Win32
+ {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Release|Win32.ActiveCfg = Debug|Win32
+ {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Release|Win32.Build.0 = Debug|Win32
+ {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Release|x64.ActiveCfg = Debug|Win32
+ {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}.Release|x64.Build.0 = Debug|Win32
+ {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Debug|Win32.Build.0 = Debug|Win32
+ {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Debug|x64.ActiveCfg = Debug|Win32
+ {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Debug|x64.Build.0 = Debug|Win32
+ {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Release|Win32.ActiveCfg = Debug|Win32
+ {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Release|Win32.Build.0 = Debug|Win32
+ {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Release|x64.ActiveCfg = Debug|Win32
+ {0F066B23-18DF-4284-8265-F4A5E7E3B966}.Release|x64.Build.0 = Debug|Win32
+ {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Debug|Win32.Build.0 = Debug|Win32
+ {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Debug|x64.ActiveCfg = Debug|Win32
+ {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Debug|x64.Build.0 = Debug|Win32
+ {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Release|Win32.ActiveCfg = Debug|Win32
+ {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Release|Win32.Build.0 = Debug|Win32
+ {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Release|x64.ActiveCfg = Debug|Win32
+ {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}.Release|x64.Build.0 = Debug|Win32
+ {2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}.Debug|x64.ActiveCfg = Debug|Win32
+ {2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}.Release|Win32.ActiveCfg = Debug|Win32
+ {2F31FD79-D1AC-43C4-89F3-B0D5E4E53E34}.Release|x64.ActiveCfg = Debug|Win32
+ {0817F629-589E-4A3B-B81A-8647BC571E35}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0817F629-589E-4A3B-B81A-8647BC571E35}.Debug|Win32.Build.0 = Debug|Win32
+ {0817F629-589E-4A3B-B81A-8647BC571E35}.Debug|x64.ActiveCfg = Debug|Win32
+ {0817F629-589E-4A3B-B81A-8647BC571E35}.Debug|x64.Build.0 = Debug|Win32
+ {0817F629-589E-4A3B-B81A-8647BC571E35}.Release|Win32.ActiveCfg = Debug|Win32
+ {0817F629-589E-4A3B-B81A-8647BC571E35}.Release|Win32.Build.0 = Debug|Win32
+ {0817F629-589E-4A3B-B81A-8647BC571E35}.Release|x64.ActiveCfg = Debug|Win32
+ {0817F629-589E-4A3B-B81A-8647BC571E35}.Release|x64.Build.0 = Debug|Win32
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Debug|Win32.Build.0 = Debug|Win32
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Debug|x64.ActiveCfg = Debug|Win32
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Debug|x64.Build.0 = Debug|Win32
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Release|Win32.ActiveCfg = Debug|Win32
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Release|Win32.Build.0 = Debug|Win32
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Release|x64.ActiveCfg = Debug|Win32
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7}.Release|x64.Build.0 = Debug|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(DPCodeReviewSolutionGUID) = preSolution
+ DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000}
+ EndGlobalSection
+EndGlobal
diff --git a/projects/openttd_vs140.vcxproj b/projects/openttd_vs140.vcxproj
new file mode 100644
index 0000000000..88f7b44ddd
--- /dev/null
+++ b/projects/openttd_vs140.vcxproj
@@ -0,0 +1,1311 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ openttd
+ {668328A0-B40E-4CDB-BD72-D0064424414A}
+ openttd
+
+
+
+ Application
+ false
+ Unicode
+ v140
+
+
+ Application
+ false
+ Unicode
+ true
+ v140
+
+
+ Application
+ false
+ Unicode
+ v140
+
+
+ Application
+ false
+ Unicode
+ true
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ false
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ false
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ $(ProjectDir)..\bin
+
+
+
+ .\Release/openttd.tlb
+
+
+
+
+ /J /Zc:throwingNew %(AdditionalOptions)
+ Full
+ AnySuitable
+ true
+ Size
+ true
+ ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)
+ true
+ Sync
+ MultiThreaded
+ 4Bytes
+ false
+ true
+
+
+
+
+
+
+ All
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(TargetName).pdb
+ Level3
+ false
+ true
+ ProgramDatabase
+ FastCall
+ Default
+ true
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0809
+
+
+ winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)
+ true
+ %(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ 1048576
+ 1048576
+ true
+ false
+
+
+ MachineX86
+ true
+ 5.01
+
+
+
+
+ .\Debug/openttd.tlb
+
+
+
+
+ /J /Zc:throwingNew %(AdditionalOptions)
+ Disabled
+ true
+ ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(TargetName).pdb
+ Level3
+ false
+ true
+ ProgramDatabase
+ FastCall
+ Default
+ true
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0809
+
+
+ winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)
+ true
+ LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ 1048576
+ 1048576
+ false
+
+
+ MachineX86
+ 5.01
+
+
+
+
+ X64
+ .\Release/openttd.tlb
+
+
+
+
+ /J /Zc:throwingNew %(AdditionalOptions)
+ Full
+ AnySuitable
+ true
+ Size
+ true
+ ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)
+ true
+ Sync
+ MultiThreaded
+ Default
+ false
+ true
+
+
+
+
+
+
+ All
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(TargetName).pdb
+ Level3
+ false
+ true
+ ProgramDatabase
+ FastCall
+ Default
+ true
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0809
+
+
+ winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)
+ true
+ %(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ 1048576
+ 1048576
+ true
+ MachineX64
+ true
+ 5.02
+
+
+
+
+ X64
+ .\Debug/openttd.tlb
+
+
+
+
+ /J /Zc:throwingNew %(AdditionalOptions)
+ Disabled
+ true
+ ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+
+
+
+
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(TargetName).pdb
+ Level3
+ false
+ true
+ ProgramDatabase
+ Cdecl
+ Default
+ true
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0809
+
+
+ winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)
+ true
+ LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ 1048576
+ 1048576
+ MachineX64
+ 5.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {0f066b23-18df-4284-8265-f4a5e7e3b966}
+ false
+
+
+ {a133a442-bd0a-4ade-b117-ad7545e4bdd1}
+ false
+
+
+ {1a2b3c5e-1c23-41a5-9c9b-acba2aa75fec}
+ false
+
+
+
+
diff --git a/projects/openttd_vs140.vcxproj.filters b/projects/openttd_vs140.vcxproj.filters
new file mode 100644
index 0000000000..06800ffdaf
--- /dev/null
+++ b/projects/openttd_vs140.vcxproj.filters
@@ -0,0 +1,3050 @@
+
+
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000000}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000001}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000002}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000003}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000004}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000005}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000006}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000007}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000008}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000009}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000010}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000011}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000012}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000013}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000014}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000015}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000016}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000017}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000018}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000019}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000020}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000021}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000022}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000023}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000024}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000025}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000026}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000027}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000028}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000029}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000030}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000031}
+
+
+ {c76ff9f1-1e62-46d8-8d55-000000000032}
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ Core Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ GUI Source Code
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Widgets
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Command handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Save/Load handlers
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ Tables
+
+
+ MD5
+
+
+ MD5
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Script
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ Squirrel headers
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI Core
+
+
+ AI API
+
+
+ Game API
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Game Core
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Script API Implementation
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Blitters
+
+
+ Drivers
+
+
+ Drivers
+
+
+ Drivers
+
+
+ Sprite loaders
+
+
+ Sprite loaders
+
+
+ Sprite loaders
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ NewGRF
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Map Accessors
+
+
+ Misc
+
+
+ Misc
+
+
+ Misc
+
+
+ Misc
+
+
+ Misc
+
+
+ Misc
+
+
+ Misc
+
+
+ Misc
+
+
+ Misc
+
+
+ Misc
+
+
+ Misc
+
+
+ Misc
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Network Core
+
+
+ Pathfinder
+
+
+ Pathfinder
+
+
+ Pathfinder
+
+
+ Pathfinder
+
+
+ Pathfinder
+
+
+ Pathfinder
+
+
+ NPF
+
+
+ NPF
+
+
+ NPF
+
+
+ NPF
+
+
+ NPF
+
+
+ NPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ YAPF
+
+
+ Video
+
+
+ Video
+
+
+ Video
+
+
+ Video
+
+
+ Music
+
+
+ Music
+
+
+ Music
+
+
+ Sound
+
+
+ Sound
+
+
+ Sound
+
+
+ Windows files
+
+
+ Windows files
+
+
+ Windows files
+
+
+ Threading
+
+
+ Threading
+
+
+
+
+
+
+
diff --git a/projects/openttd_vs140.vcxproj.filters.in b/projects/openttd_vs140.vcxproj.filters.in
new file mode 100644
index 0000000000..cda491072c
--- /dev/null
+++ b/projects/openttd_vs140.vcxproj.filters.in
@@ -0,0 +1,13 @@
+
+
+
+!!FILTERS!!
+
+
+!!FILES!!
+
+
+
+
+
+
diff --git a/projects/openttd_vs140.vcxproj.in b/projects/openttd_vs140.vcxproj.in
new file mode 100644
index 0000000000..8089278bff
--- /dev/null
+++ b/projects/openttd_vs140.vcxproj.in
@@ -0,0 +1,332 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ openttd
+ {668328A0-B40E-4CDB-BD72-D0064424414A}
+ openttd
+
+
+
+ Application
+ false
+ Unicode
+ v140
+
+
+ Application
+ false
+ Unicode
+ true
+ v140
+
+
+ Application
+ false
+ Unicode
+ v140
+
+
+ Application
+ false
+ Unicode
+ true
+ v140
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ false
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ false
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ $(SolutionDir)..\objs\$(Platform)\$(Configuration)\
+ $(ProjectDir)..\bin
+
+
+
+ .\Release/openttd.tlb
+
+
+
+
+ /J /Zc:throwingNew %(AdditionalOptions)
+ Full
+ AnySuitable
+ true
+ Size
+ true
+ ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)
+ true
+ Sync
+ MultiThreaded
+ 4Bytes
+ false
+ true
+
+
+
+
+
+
+ All
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(TargetName).pdb
+ Level3
+ false
+ true
+ ProgramDatabase
+ FastCall
+ Default
+ true
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0809
+
+
+ winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)
+ true
+ %(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ 1048576
+ 1048576
+ true
+ false
+
+
+ MachineX86
+ true
+ 5.01
+
+
+
+
+ .\Debug/openttd.tlb
+
+
+
+
+ /J /Zc:throwingNew %(AdditionalOptions)
+ Disabled
+ true
+ ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(TargetName).pdb
+ Level3
+ false
+ true
+ ProgramDatabase
+ FastCall
+ Default
+ true
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0809
+
+
+ winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)
+ true
+ LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ 1048576
+ 1048576
+ false
+
+
+ MachineX86
+ 5.01
+
+
+
+
+ X64
+ .\Release/openttd.tlb
+
+
+
+
+ /J /Zc:throwingNew %(AdditionalOptions)
+ Full
+ AnySuitable
+ true
+ Size
+ true
+ ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)
+ true
+ Sync
+ MultiThreaded
+ Default
+ false
+ true
+
+
+
+
+
+
+ All
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(TargetName).pdb
+ Level3
+ false
+ true
+ ProgramDatabase
+ FastCall
+ Default
+ true
+ true
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0809
+
+
+ winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)
+ true
+ %(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ 1048576
+ 1048576
+ true
+ MachineX64
+ true
+ 5.02
+
+
+
+
+ X64
+ .\Debug/openttd.tlb
+
+
+
+
+ /J /Zc:throwingNew %(AdditionalOptions)
+ Disabled
+ true
+ ..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+
+
+
+
+
+
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(TargetName).pdb
+ Level3
+ false
+ true
+ ProgramDatabase
+ Cdecl
+ Default
+ true
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0809
+
+
+ winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)
+ true
+ LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ 1048576
+ 1048576
+ MachineX64
+ 5.02
+
+
+
+!!FILES!!
+
+
+
+
+
+
+
+ {0f066b23-18df-4284-8265-f4a5e7e3b966}
+ false
+
+
+ {a133a442-bd0a-4ade-b117-ad7545e4bdd1}
+ false
+
+
+ {1a2b3c5e-1c23-41a5-9c9b-acba2aa75fec}
+ false
+
+
+
+
diff --git a/projects/settings_vs140.vcxproj b/projects/settings_vs140.vcxproj
new file mode 100644
index 0000000000..4fe07dbd64
--- /dev/null
+++ b/projects/settings_vs140.vcxproj
@@ -0,0 +1,54 @@
+
+
+
+
+ Debug
+ Win32
+
+
+
+ settings
+ {0817F629-589E-4A3B-B81A-8647BC571E35}
+ settings
+
+
+
+ Makefile
+ v140
+
+
+
+
+
+
+
+
+
+..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini
+
+
+
+ ..\objs\settings\table\
+ ..\objs\settings\table\
+ $(SettingsCommandLine)
+ $(SettingsCommandLine)
+ del ..\objs\settings\table\settings.h
+ ..\objs\settings\table\settings.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/projects/settings_vs140.vcxproj.filters b/projects/settings_vs140.vcxproj.filters
new file mode 100644
index 0000000000..8caf9fa0a6
--- /dev/null
+++ b/projects/settings_vs140.vcxproj.filters
@@ -0,0 +1,35 @@
+
+
+
+
+ {21deca6c-8df4-4f34-9dad-17d7781cd5a0}
+
+
+
+
+ INI
+
+
+ INI
+
+
+ INI
+
+
+ INI
+
+
+ INI
+
+
+ INI
+
+
+ INI
+
+
+
+
+
+
+
diff --git a/projects/settings_vs140.vcxproj.filters.in b/projects/settings_vs140.vcxproj.filters.in
new file mode 100644
index 0000000000..08f90670d2
--- /dev/null
+++ b/projects/settings_vs140.vcxproj.filters.in
@@ -0,0 +1,15 @@
+
+
+
+
+ {21deca6c-8df4-4f34-9dad-17d7781cd5a0}
+
+
+
+!!FILES!!
+
+
+
+
+
+
diff --git a/projects/settings_vs140.vcxproj.in b/projects/settings_vs140.vcxproj.in
new file mode 100644
index 0000000000..71ea738dcf
--- /dev/null
+++ b/projects/settings_vs140.vcxproj.in
@@ -0,0 +1,48 @@
+
+
+
+
+ Debug
+ Win32
+
+
+
+ settings
+ {0817F629-589E-4A3B-B81A-8647BC571E35}
+ settings
+
+
+
+ Makefile
+ v140
+
+
+
+
+
+
+
+
+
+!!FILTERS!!
+
+
+
+ ..\objs\settings\table\
+ ..\objs\settings\table\
+ $(SettingsCommandLine)
+ $(SettingsCommandLine)
+ del ..\objs\settings\table\settings.h
+ ..\objs\settings\table\settings.h
+
+
+!!FILES!!
+
+
+
+
+
+
+
+
+
diff --git a/projects/settingsgen_vs140.vcxproj b/projects/settingsgen_vs140.vcxproj
new file mode 100644
index 0000000000..fc6d079e8e
--- /dev/null
+++ b/projects/settingsgen_vs140.vcxproj
@@ -0,0 +1,83 @@
+
+
+
+
+ Debug
+ Win32
+
+
+
+ settingsgen
+ {E9548DE9-F089-49B7-93A6-30BE2CC311C7}
+ settings
+
+
+
+ Application
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ ..\objs\settings\
+ ..\objs\settings\
+ settings_gen
+
+
+
+
+
+
+
+ %(Inputs)
+
+
+ MinSpace
+ Size
+ SETTINGSGEN;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ All
+ $(IntDir)$(TargetName).pdb
+ Level3
+ true
+ ProgramDatabase
+ MultiThreadedDebug
+
+
+ $(OutDir)settings_gen.exe
+ true
+ false
+
+
+ Console
+ 5.01
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/projects/settingsgen_vs140.vcxproj.filters b/projects/settingsgen_vs140.vcxproj.filters
new file mode 100644
index 0000000000..c8afe0c8ed
--- /dev/null
+++ b/projects/settingsgen_vs140.vcxproj.filters
@@ -0,0 +1,32 @@
+
+
+
+
+ {a4678737-b3b3-4be5-9db1-fa6ccd164c59}
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+
+
+
+
+
+
diff --git a/projects/strgen_vs140.vcxproj b/projects/strgen_vs140.vcxproj
new file mode 100644
index 0000000000..ebf56a4daf
--- /dev/null
+++ b/projects/strgen_vs140.vcxproj
@@ -0,0 +1,95 @@
+
+
+
+
+ Debug
+ Win32
+
+
+
+ strgen
+ {A133A442-BD0A-4ADE-B117-AD7545E4BDD1}
+ strgen
+
+
+
+ Application
+ false
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\objs\strgen\
+ $(SolutionDir)..\objs\strgen\
+ false
+ AllRules.ruleset
+
+
+
+
+
+ .\Debug/strgen.tlb
+
+
+
+
+ /MP %(AdditionalOptions)
+ MinSpace
+ Size
+ STRGEN;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ Default
+ MultiThreadedDebug
+
+
+ All
+ $(IntDir)
+ $(IntDir)
+ $(IntDir)$(TargetName).pdb
+ Level3
+ true
+ true
+ ProgramDatabase
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x041d
+
+
+ true
+ true
+ $(IntDir)strgen.pdb
+ Console
+ false
+
+
+ MachineX86
+ 5.01
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/projects/strgen_vs140.vcxproj.filters b/projects/strgen_vs140.vcxproj.filters
new file mode 100644
index 0000000000..58864ee691
--- /dev/null
+++ b/projects/strgen_vs140.vcxproj.filters
@@ -0,0 +1,35 @@
+
+
+
+
+ {5894294c-d4dc-41f0-be31-e56cff4e0405}
+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/projects/version_vs140.vcxproj b/projects/version_vs140.vcxproj
new file mode 100644
index 0000000000..baf374bca0
--- /dev/null
+++ b/projects/version_vs140.vcxproj
@@ -0,0 +1,42 @@
+
+
+
+
+ Debug
+ Win32
+
+
+
+ version
+ {1A2B3C5E-1C23-41A5-9C9B-ACBA2AA75FEC}
+ version
+
+
+
+ Makefile
+ MultiByte
+ v140
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\objs\version\
+ $(SolutionDir)..\objs\version\
+ cscript "$(ProjectDir)/determineversion.vbs"
+ cscript "$(ProjectDir)/determineversion.vbs"
+ ..\src\rev.cpp
+ del ..\src\rev.cpp
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source.list b/source.list
index c9834dcf31..df35cdd26e 100644
--- a/source.list
+++ b/source.list
@@ -367,7 +367,6 @@ tilematrix_type.hpp
timetable.h
toolbar_gui.h
town.h
-town_gui.h
town_type.h
townname_func.h
townname_type.h
diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp
index 0c557d790b..8944e8bc4f 100644
--- a/src/ai/ai_gui.cpp
+++ b/src/ai/ai_gui.cpp
@@ -901,8 +901,7 @@ struct AIConfigWindow : public Window {
ShowErrorMessage(STR_NETWORK_ERROR_NOTAVAILABLE, INVALID_STRING_ID, WL_ERROR);
} else {
#if defined(ENABLE_NETWORK)
- ShowNetworkContentListWindow(NULL, CONTENT_TYPE_AI);
- _network_content_client.RequestContentList(CONTENT_TYPE_GAME);
+ ShowNetworkContentListWindow(NULL, CONTENT_TYPE_AI, CONTENT_TYPE_GAME);
#endif
}
break;
diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp
index ec7c896cee..e862b62466 100644
--- a/src/ai/ai_info.cpp
+++ b/src/ai/ai_info.cpp
@@ -28,7 +28,7 @@ static bool CheckAPIVersion(const char *api_version)
{
return strcmp(api_version, "0.7") == 0 || strcmp(api_version, "1.0") == 0 || strcmp(api_version, "1.1") == 0 ||
strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0 ||
- strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0;
+ strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0;
}
#if defined(WIN32)
diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp
index 18dcbea27b..edb10af327 100644
--- a/src/aircraft_cmd.cpp
+++ b/src/aircraft_cmd.cpp
@@ -809,7 +809,7 @@ static byte AircraftGetEntryPoint(const Aircraft *v, const AirportFTAClass *apc,
/* We are northwest or southeast of the airport */
dir = delta_y < 0 ? DIAGDIR_NW : DIAGDIR_SE;
}
- dir = ChangeDiagDir(dir, (DiagDirDiff)ReverseDiagDir(DirToDiagDir(rotation)));
+ dir = ChangeDiagDir(dir, DiagDirDifference(DIAGDIR_NE, DirToDiagDir(rotation)));
return apc->entry_points[dir];
}
diff --git a/src/company_base.h b/src/company_base.h
index 6385d60495..0017761216 100644
--- a/src/company_base.h
+++ b/src/company_base.h
@@ -45,7 +45,7 @@ struct CompanyInfrastructure {
}
};
-typedef Pool CompanyPool;
+typedef Pool CompanyPool;
extern CompanyPool _company_pool;
diff --git a/src/company_gui.cpp b/src/company_gui.cpp
index 1343acb91b..0be6679583 100644
--- a/src/company_gui.cpp
+++ b/src/company_gui.cpp
@@ -1764,7 +1764,8 @@ struct CompanyInfrastructureWindow : Window
if (this->railtypes != RAILTYPES_NONE) {
/* Draw name of each valid railtype. */
- for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
+ RailType rt;
+ FOR_ALL_SORTED_RAILTYPES(rt) {
if (HasBit(this->railtypes, rt)) {
SetDParam(0, GetRailTypeInfo(rt)->strings.name);
DrawString(r.left + offs_left, r.right - offs_right, y += FONT_HEIGHT_NORMAL, STR_WHITE_STRING);
@@ -1781,7 +1782,8 @@ struct CompanyInfrastructureWindow : Window
case WID_CI_RAIL_COUNT: {
/* Draw infrastructure count for each valid railtype. */
uint32 rail_total = c->infrastructure.GetRailTotal();
- for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
+ RailType rt;
+ FOR_ALL_SORTED_RAILTYPES(rt) {
if (HasBit(this->railtypes, rt)) {
this->DrawCountLine(r, y, c->infrastructure.rail[rt], RailMaintenanceCost(rt, c->infrastructure.rail[rt], rail_total));
}
diff --git a/src/core/math_func.hpp b/src/core/math_func.hpp
index df9142462b..2538d48ea7 100644
--- a/src/core/math_func.hpp
+++ b/src/core/math_func.hpp
@@ -346,6 +346,33 @@ static inline int RoundDivSU(int a, uint b)
}
}
+/**
+ * Test if sqrt(a) <= sqrt(b) + sqrt(c)
+ *
+ * This function can tell you what's the relation between some of your values
+ * even thought you know only squares of them. Useful when comparing euclidean
+ * distances, it's easier to calculate them squared (#DistanceSquare) e.g.
+ * having a squared town radius R and squared distance D, to tell if the distance
+ * is further then N tiles beyond the town you may check if !SqrtCmp(D, R, N * N).
+ *
+ * @param a first value squared
+ * @param b second value squared
+ * @param c third value squared
+ * @return sqrt(a) <= sqrt(b) + sqrt(c)
+ *
+ * @pre 4 * b * c <= UINT32_MAX
+ */
+inline bool SqrtCmp(uint32 a, uint32 b, uint32 c)
+{
+ assert(c == 0 || b <= UINT32_MAX / 4 / c);
+
+ /* we can square the inequality twice to get rid of square roots
+ * but some edge case must be checked first */
+ if (a <= b + c) return true;
+ uint32 d = a - (b + c);
+ return d <= UINT16_MAX && d * d <= 4 * b * c;
+}
+
uint32 IntSqrt(uint32 num);
#endif /* MATH_FUNC_HPP */
diff --git a/src/core/pool_func.hpp b/src/core/pool_func.hpp
index 4648f50d18..5569addbd7 100644
--- a/src/core/pool_func.hpp
+++ b/src/core/pool_func.hpp
@@ -121,7 +121,7 @@ DEFINE_POOL_METHOD(inline void *)::AllocateItem(size_t size, size_t index)
item = (Titem *)MallocT(size);
}
this->data[index] = item;
- item->index = (uint)index;
+ item->index = (Tindex)(uint)index;
return item;
}
diff --git a/src/crashlog.cpp b/src/crashlog.cpp
index e8290a7c3f..7ddc2131f9 100644
--- a/src/crashlog.cpp
+++ b/src/crashlog.cpp
@@ -196,9 +196,9 @@ char *CrashLog::LogConfiguration(char *buffer, const char *last) const
# include
# include FT_FREETYPE_H
#endif /* WITH_FREETYPE */
-#ifdef WITH_ICU
+#if defined(WITH_ICU_LAYOUT) || defined(WITH_ICU_SORT)
# include
-#endif /* WITH_ICU */
+#endif /* WITH_ICU_SORT || WITH_ICU_LAYOUT */
#ifdef WITH_LZMA
# include
#endif
@@ -241,14 +241,19 @@ char *CrashLog::LogLibraries(char *buffer, const char *last) const
buffer += seprintf(buffer, last, " FreeType: %d.%d.%d\n", major, minor, patch);
#endif /* WITH_FREETYPE */
-#ifdef WITH_ICU
+#if defined(WITH_ICU_LAYOUT) || defined(WITH_ICU_SORT)
/* 4 times 0-255, separated by dots (.) and a trailing '\0' */
char buf[4 * 3 + 3 + 1];
UVersionInfo ver;
u_getVersion(ver);
u_versionToString(ver, buf);
- buffer += seprintf(buffer, last, " ICU: %s\n", buf);
-#endif /* WITH_ICU */
+#ifdef WITH_ICU_SORT
+ buffer += seprintf(buffer, last, " ICU i18n: %s\n", buf);
+#endif
+#ifdef WITH_ICU_LAYOUT
+ buffer += seprintf(buffer, last, " ICU lx: %s\n", buf);
+#endif
+#endif /* WITH_ICU_SORT || WITH_ICU_LAYOUT */
#ifdef WITH_LZMA
buffer += seprintf(buffer, last, " LZMA: %s\n", lzma_version_string());
diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp
index fe75708ddf..4aff4700b3 100644
--- a/src/depot_gui.cpp
+++ b/src/depot_gui.cpp
@@ -229,6 +229,7 @@ struct DepotWindow : Window {
VehicleID vehicle_over; ///< Rail vehicle over which another one is dragged, \c INVALID_VEHICLE if none.
VehicleType type;
bool generate_list;
+ int hovered_widget; ///< Index of the widget being hovered during drag/drop. -1 if no drag is in progress.
VehicleList vehicle_list;
VehicleList wagon_list;
uint unitnumber_digits;
@@ -243,6 +244,7 @@ struct DepotWindow : Window {
this->sel = INVALID_VEHICLE;
this->vehicle_over = INVALID_VEHICLE;
this->generate_list = true;
+ this->hovered_widget = -1;
this->type = type;
this->num_columns = 1; // for non-trains this gets set in FinishInitNested()
this->unitnumber_digits = 2;
@@ -867,11 +869,29 @@ struct DepotWindow : Window {
this->sel = INVALID_VEHICLE;
this->vehicle_over = INVALID_VEHICLE;
this->SetWidgetDirty(WID_D_MATRIX);
+
+ if (this->hovered_widget != -1) {
+ this->SetWidgetLoweredState(this->hovered_widget, false);
+ this->SetWidgetDirty(this->hovered_widget);
+ this->hovered_widget = -1;
+ }
}
virtual void OnMouseDrag(Point pt, int widget)
{
- if (this->type != VEH_TRAIN || this->sel == INVALID_VEHICLE) return;
+ if (this->sel == INVALID_VEHICLE) return;
+ if (widget != this->hovered_widget) {
+ if (this->hovered_widget == WID_D_SELL || this->hovered_widget == WID_D_SELL_CHAIN) {
+ this->SetWidgetLoweredState(this->hovered_widget, false);
+ this->SetWidgetDirty(this->hovered_widget);
+ }
+ this->hovered_widget = widget;
+ if (this->hovered_widget == WID_D_SELL || this->hovered_widget == WID_D_SELL_CHAIN) {
+ this->SetWidgetLoweredState(this->hovered_widget, true);
+ this->SetWidgetDirty(this->hovered_widget);
+ }
+ }
+ if (this->type != VEH_TRAIN) return;
/* A rail vehicle is dragged.. */
if (widget != WID_D_MATRIX) { // ..outside of the depot matrix.
@@ -958,7 +978,9 @@ struct DepotWindow : Window {
default:
this->sel = INVALID_VEHICLE;
this->SetDirty();
+ break;
}
+ this->hovered_widget = -1;
_cursor.vehchain = false;
}
diff --git a/src/direction_func.h b/src/direction_func.h
index 8889485842..12aee58639 100644
--- a/src/direction_func.h
+++ b/src/direction_func.h
@@ -61,11 +61,11 @@ static inline Direction ReverseDir(Direction d)
/**
- * Calculate the difference between to directions
+ * Calculate the difference between two directions
*
* @param d0 The first direction as the base
* @param d1 The second direction as the offset from the base
- * @return The difference how the second directions drifts of the first one.
+ * @return The difference how the second direction drifts of the first one.
*/
static inline DirDiff DirDifference(Direction d0, Direction d1)
{
@@ -79,7 +79,7 @@ static inline DirDiff DirDifference(Direction d0, Direction d1)
/**
* Applies two differences together
*
- * This function adds two differences together and return the resulting
+ * This function adds two differences together and returns the resulting
* difference. So adding two DIRDIFF_REVERSE together results in the
* DIRDIFF_SAME difference.
*
@@ -123,6 +123,20 @@ static inline DiagDirection ReverseDiagDir(DiagDirection d)
return (DiagDirection)(2 ^ d);
}
+/**
+ * Calculate the difference between two DiagDirection values
+ *
+ * @param d0 The first direction as the base
+ * @param d1 The second direction as the offset from the base
+ * @return The difference how the second direction drifts of the first one.
+ */
+static inline DiagDirDiff DiagDirDifference(DiagDirection d0, DiagDirection d1)
+{
+ assert(IsValidDiagDirection(d0));
+ assert(IsValidDiagDirection(d1));
+ /* Cast to uint so compiler can use bitmask. Result can never be negative. */
+ return (DiagDirDiff)((uint)(d0 - d1) % 4);
+}
/**
* Applies a difference on a DiagDirection
diff --git a/src/economy_type.h b/src/economy_type.h
index 7e7a572413..30d3cbff5f 100644
--- a/src/economy_type.h
+++ b/src/economy_type.h
@@ -137,6 +137,7 @@ enum Price {
PR_INFRASTRUCTURE_WATER,
PR_INFRASTRUCTURE_STATION,
PR_INFRASTRUCTURE_AIRPORT,
+ PR_BUILD_HOUSE,
PR_END,
INVALID_PRICE = 0xFF
diff --git a/src/game/game_info.cpp b/src/game/game_info.cpp
index 9bb36d1aa5..39088b8462 100644
--- a/src/game/game_info.cpp
+++ b/src/game/game_info.cpp
@@ -25,7 +25,7 @@
static bool CheckAPIVersion(const char *api_version)
{
return strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0 ||
- strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0;
+ strcmp(api_version, "1.5") == 0 || strcmp(api_version, "1.6") == 0 || strcmp(api_version, "1.7") == 0;
}
#if defined(WIN32)
diff --git a/src/gfx.cpp b/src/gfx.cpp
index bc7f932441..f3a98461d6 100644
--- a/src/gfx.cpp
+++ b/src/gfx.cpp
@@ -186,7 +186,7 @@ static inline void GfxDoDrawLine(void *video, int x, int y, int x2, int y2, int
int grade_x = x2 - x;
/* Clipping rectangle. Slightly extended so we can ignore the width of the line. */
- uint extra = CeilDiv(3 * width, 4); // not less then "width * sqrt(2) / 2"
+ int extra = (int)CeilDiv(3 * width, 4); // not less then "width * sqrt(2) / 2"
Rect clip = { -extra, -extra, screen_width - 1 + extra, screen_height - 1 + extra };
/* prevent integer overflows. */
@@ -586,7 +586,7 @@ int GetStringLineCount(StringID str, int maxw)
*/
Dimension GetStringMultiLineBoundingBox(StringID str, const Dimension &suggestion)
{
- Dimension box = {suggestion.width, GetStringHeight(str, suggestion.width)};
+ Dimension box = {suggestion.width, (uint)GetStringHeight(str, suggestion.width)};
return box;
}
@@ -598,7 +598,7 @@ Dimension GetStringMultiLineBoundingBox(StringID str, const Dimension &suggestio
*/
Dimension GetStringMultiLineBoundingBox(const char *str, const Dimension &suggestion)
{
- Dimension box = {suggestion.width, GetStringHeight(str, suggestion.width)};
+ Dimension box = {suggestion.width, (uint)GetStringHeight(str, suggestion.width)};
return box;
}
diff --git a/src/gfx_layout.cpp b/src/gfx_layout.cpp
index 2dba6a2046..f5463d4015 100644
--- a/src/gfx_layout.cpp
+++ b/src/gfx_layout.cpp
@@ -17,9 +17,9 @@
#include "table/control_codes.h"
-#ifdef WITH_ICU
+#ifdef WITH_ICU_LAYOUT
#include
-#endif /* WITH_ICU */
+#endif /* WITH_ICU_LAYOUT */
#include "safeguards.h"
@@ -42,7 +42,7 @@ Font::Font(FontSize size, TextColour colour) :
assert(size < FS_END);
}
-#ifdef WITH_ICU
+#ifdef WITH_ICU_LAYOUT
/* Implementation details of LEFontInstance */
le_int32 Font::getUnitsPerEM() const
@@ -213,7 +213,7 @@ static ParagraphLayouter *GetParagraphLayout(UChar *buff, UChar *buff_end, FontM
return new ICUParagraphLayout(p);
}
-#endif /* WITH_ICU */
+#endif /* WITH_ICU_LAYOUT */
/*** Paragraph layout ***/
/**
@@ -654,7 +654,7 @@ Layouter::Layouter(const char *str, int maxw, TextColour colour, FontSize fontsi
line.layout->Reflow();
} else {
/* Line is new, layout it */
-#ifdef WITH_ICU
+#ifdef WITH_ICU_LAYOUT
FontState old_state = state;
const char *old_str = str;
diff --git a/src/gfx_layout.h b/src/gfx_layout.h
index 7cd70ce280..0a21d9b0ca 100644
--- a/src/gfx_layout.h
+++ b/src/gfx_layout.h
@@ -19,12 +19,12 @@
#include