Commit Graph

24245 Commits

Author SHA1 Message Date
Patric Stout 56d54cf60e Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.

Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.

This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.

Addtiionally, this heavily improves our detection of libraries, etc.
2020-06-05 19:36:05 +02:00
Patric Stout 85315e2e31 Codechange: rework how grf and ob[msg] are generated
For grfs, it now uses CMake scripts to do its job, and both grf
files are split into their own folder to make more clear what is
going on. Additionally, it no longer builds in-source (although the
resulting grf is copied back in the source folder).

For ob[msg] it now uses CMake scripts to generate the translation
files; the result is no longer stored in-source (but in the build
folder).

Although all files are available to create the GRFs and basesets, it
won't really work till CMake is introduced (which will happen in a
few commits from here)
2020-06-05 19:36:05 +02:00
Patric Stout 203a77c1dc Codechange: move regression outside of bin and make it work via CMake script
The tst_stationlist savegame had to be changed to start the correct
AI. In the old setup, all regression AIs had the same name, which
made it impossible to run both regressions in parallel. With the new
setup this is possible.

Although all files are available to run the regression, it won't
really work till CMake is introduced (which will happen in a few
commits from here)
2020-06-05 19:36:05 +02:00
Patric Stout 84b71f7962 Remove: all existing project files
This prepares for the switch to CMake, which takes over all current
exisiting forms of project files.
2020-06-05 19:36:05 +02:00
Marcus Calhoun-Lopez eeed3a7613 Fix: unbreak building with ICU on macOS
A symbol clash breaks building ICU on macOS, and although it isn't
necessary, it might as well be possible.
2020-06-05 14:47:33 +01:00
TechGeekNZ 937b366546 Cleanup: StationCargoList::AreMergable doxygen comment references Vehicle instead of Station. 2020-06-05 14:27:09 +01:00
TechGeekNZ 012fea301d Cleanup: Add note explaining how settings.h is generated from source. 2020-06-05 08:38:40 +02:00
TechGeekNZ f246f8faef Cleanup: Fix typo in settings.h.preamble. 2020-06-05 08:38:40 +02:00
TechGeekNZ cdd2892c49 Codechange: Realign SDL driver with SDL2 driver to ease maintenance and emphasise differences. 2020-06-04 09:05:21 +01:00
Yexo 1507902d00 Codechange: remove has_newindustries global 2020-06-01 22:46:06 +02:00
Yexo ce618bf7e9 Codechange: replace custom timer and OnGameTick() with OnHundrethTick() 2020-06-01 22:46:06 +02:00
Yexo a82572d0f5 Codechange: remove has_newhouses global 2020-06-01 22:46:06 +02:00
Michael Lutz 1c0ba07c3c Add: [Script] Native priority queue; useful e.g. for pathfinders. 2020-06-01 21:35:13 +02:00
Niels Martin Hansen 764497206a Fix #8066: Try another fallback colourspace if first one fails 2020-06-01 19:43:37 +02:00
glx b3ddf2c907 Fix: [Win32] Crash message not fitting in crash dialog 2020-06-01 14:09:58 +02:00
glx b5ca2161d9 Fix #7970: [Win32] Disable event loop on crash to prevent recursive faults 2020-06-01 14:09:58 +02:00
Yexo f827bc8c1a Fix #8166: don't crash on loading an invalid roadtype newgrf
Initialization code for GRFFile::roadtype_map was copied from
railtype_map. But while RailType is a byte-sized enum and could thus
be initialized via memset, RoadType doesn't have a defined size.
2020-06-01 12:44:02 +02:00
Yexo a9b3312d1a Fix #8024: make online content gui more responsive while loading
Previously the internal content list was invalidated and sorted for
every new item added. Now the sorting is delayed until the GUI is
drawn, which means we only sort once per GUI tick.

Since the amount of incoming items per GUI tick is not controlled by
the GUI but rather by network speed, we were previously doing a lot
of duplicate work per tick, causing the mouse cursor to lag while
the list was initialized.
2020-06-01 10:59:11 +02:00
translators 281d93f600 Update: Translations from eints
croatian: 1 change by VoyagerOne
2020-05-30 19:45:39 +02:00
TechGeekNZ 16e5f610f7 Cleanup: Correct typographic errors in code comments. 2020-05-28 08:26:41 +01:00
Jonathan G Rennison f11cd8f2d0 Fix: Compilation warnings in story_gui and script_story_page
See: #7896
2020-05-27 22:22:56 +02:00
translators 71e9c2a71b Update: Translations from eints
chinese (traditional): 2 changes by ww9980
chinese (simplified): 1 change by ww9980
2020-05-27 19:45:40 +02:00
glx bfa2e4edf0 Fix: Inconsistency in handling of SDL2 in source.list 2020-05-26 22:44:18 +02:00
glx 2b2f60caf5 Fix: VS 2019 16.6 doesn't like newlines in <SettingsCommandLine> 2020-05-26 22:44:18 +02:00
Niels Martin Hansen 800ade7702
Feature: Push-buttons on storybook pages (#7896)
Allow more direct player-initiated interaction for Game Scripts, by letting the GS put push-buttons on storybook pages. These buttons can either trigger an immediate event, or require the player to first select a tile on the map, or a vehicle.

Additionally this reworks how the storybook pages are layouted and rendered, to allow for slightly more complex layouts, and maybe speeding drawing up a bit.
2020-05-22 22:22:55 +02:00
Michael Lutz c972a63c8c Codechange: Store info about the dedicated server log file in globals with automatic destruction to simplify control flow in openttd_main. 2020-05-21 20:02:34 +02:00
Michael Lutz 37bc2f8064 Codechange: Use std::string in the driver and blitter selection code. 2020-05-21 20:02:34 +02:00
Michael Lutz a49fdb7ebb Codechange: Store base set related texts in std::strings. 2020-05-21 20:02:34 +02:00
Michael Lutz 715aa67a9c Codechange: Use std::string in INI file parsing. 2020-05-21 20:02:34 +02:00
Michael Lutz 8aef14386f Add: Optional implementation of std::optional for pre-C++17 compilers.
Sourced from https://github.com/akrzemi1/Optional, Boost Software License, Version 1.0.
2020-05-21 20:02:34 +02:00
Michael Lutz 63ccb36ef3 Codechange: Use std::string for most of the user-settable custom names. 2020-05-21 20:02:34 +02:00
Michael Lutz 9b6f5e3bb8 Codechange: Store GS lang texts in std::strings. 2020-05-21 20:02:34 +02:00
Michael Lutz 9c2e47d03c Codechange: Use std::string for storing GRF error messages. 2020-05-21 20:02:34 +02:00
Michael Lutz c082f570ce Codechange: Use std::string when translating TTDP NewGRF string codes. 2020-05-21 20:02:34 +02:00
Michael Lutz 808c8198d5 Codechange: Consistently use WChar when passing characters around, and also define it as char32_t. 2020-05-21 20:02:34 +02:00
Michael Lutz 43cd892e0c Codechange: Replace custom linked list for GRF texts with STL vectors and strings. 2020-05-21 20:02:34 +02:00
Michael Lutz f2b40f40aa Codechange: Replace SmallPair with std::pair.
std::pair is already the smallest possible pair, and it already handles non-POD types correctly.
2020-05-21 20:02:34 +02:00
translators 7309bdec48 Update: Translations from eints
latvian: 9 changes by Tranzistors
2020-05-20 19:45:39 +02:00
dP 82572754dd Fix: Trees disappear completely after a few years when they're not allowed to spread 2020-05-20 13:16:55 +02:00
glx22 6a8b02609f
Fix e3511ec: [AzurePipeline] Don't loop infinitely on errors (#8165) 2020-05-19 22:21:11 +02:00
Yexo 587d8e716b
Fix #8155: Roadtype speed limit in toolbar dropdown in scenario editor was doubled 2020-05-19 20:01:09 +02:00
glx22 f6223f8ac2
Fix #8161, e31def197: Lang files may have LF EOL (#8163) 2020-05-19 17:42:29 +02:00
translators b8a896d52c Update: Translations from eints
latvian: 35 changes by Tranzistors
2020-05-18 19:45:41 +02:00
dP 93d1d8773f Fix: Desync after house replacement 2020-05-18 09:05:39 +01:00
translators d11bae58a0 Update: Translations from eints
spanish (mexican): 7 changes by Absay
2020-05-17 19:45:39 +02:00
glx22 e31def197f
Fix: properly support utf-8 in baseset translation vbscript (#8154) 2020-05-17 19:11:53 +02:00
translators 70ccd34fa0 Update: Translations from eints
latvian: 13 changes by Tranzistors
2020-05-16 19:45:38 +02:00
translators edc7ee2cda Update: Translations from eints
indonesian: 1 change by fanioz
dutch: 1 change by JanWillem
latvian: 39 changes by Tranzistors
spanish (mexican): 1 change by Absay
2020-05-15 19:45:40 +02:00
translators 9b8d5ea074 Update: Translations from eints
spanish (mexican): 16 changes by Absay
russian: 3 changes by Lone_Wolf
2020-05-14 19:45:40 +02:00
translators 83cd040c61 Update: Translations from eints
latvian: 21 changes by Tranzistors
korean: 5 changes by telk5093
2020-05-13 19:45:39 +02:00