Commit Graph

17462 Commits (9e7c5235e89095b328bdd9528984a19e1716aac7)

Author SHA1 Message Date
translators 8ae15d9797 Update: Translations from eints
indonesian: 6 changes by fanioz
5 years ago
Michael Lutz 38729297f9 Codechange: No need for AutoFreePtr if there's std::unique_ptr. 5 years ago
Michael Lutz 4e85ccf3c0 Codechange: Replace SmallStackSafeStackAlloc with std::array.
The only port that ever used it to make heap allocations instead of stack ones was the NDS port, which got thrown out some time ago.
5 years ago
stormcone 79343762a4 Fix: Typos. (#7517) 5 years ago
translators 3964604148 Update: Translations from eints
luxembourgish: 1 change by Phreeze
5 years ago
peter1138 4f052fc2a4 Cleanup: Fix alignment after NULL -> nullptr change. 5 years ago
glx 410b81537c Fix 801cbea9c: operator< is not always the best idea
Also removes unused and anyway broken SmallMap::SortByKey() function.
5 years ago
PeterN 3bbd7ea2c1
Fix: Industry coverage area is no longer rectangular. (#7464)
AIs test station catchment in reverse to how players see station catchment.
This did not take account of non-rectangular station catchment areas, so AIs
could end up placing stations in locations that did not accept/deliver cargo.
5 years ago
PeterN abe8cf4985
Codechange: Replace duplicated code with TileArea::Expand() (#7467) 5 years ago
glx 801cbea9cc Codechange: use std::sort() for all std::vector types 5 years ago
glx 5b77102b63 Codechange: use std::sort() to sort file lists 5 years ago
glx b52561fd38 Codechange: use std::sort() in EngList_Sort[Partial]() 5 years ago
glx 2db88953e7 Codechange: use std::sort() in GUIList 5 years ago
PeterN b9b34f676b
Change: Always report error when ordering a road vehicle to wrong type of road stop. (#7316)
This was inconsistent before, depending on road/tram and articulated/single vehicle status.
5 years ago
peter1138 5bd2b15e86 Codechange: Replace NULL with nullptr in squirrel interface. 5 years ago
peter1138 c0836bccef Codechange: NULL -> nullptr in settings files. 5 years ago
peter1138 0130f3be45 Fix #7491: Send company update admin message when bankruptcy counter changes. 5 years ago
SamuXarick 4ad981a98e Fix 50e08f333a: Creating a cargo subsidy with town as source did not consider min population. (#7493) 5 years ago
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 5 years ago
glx22 3b4f224c0b
Fix #7494: std::sort() and qsort() use different comparators (#7495) 5 years ago
translators 87d588f22f Update: Translations from eints
luxembourgish: 17 changes by Phreeze
spanish (mexican): 2 changes by njn
5 years ago
Jonathan G Rennison 01f957c51f Fix: Crash due to use of invalid iterator in ClientNetworkContentSocketHandler
In particular this crash can be observed when using the
bootstrap GUI to download the base graphics.

In ClientNetworkContentSocketHandler::OnReceiveContentInfo
ClientNetworkContentSocketHandler::callbacks is iterated, using an iterator
cb->OnReceiveContentInfo() is called (cb is of type BootstrapAskForDownloadWindow)
This calls new BootstrapContentDownloadStatusWindow()
This inherits from BaseNetworkContentDownloadStatusWindow
The constructor of which calls _network_content_client.AddCallback(this)
This reallocates the std::vector which is being iterated in ClientNetworkContentSocketHandler::OnReceiveContentInfo
This results in iter being invalid, and an assertion failure occurs shortly
afterwards due to its use in the next iteration of cb->OnReceiveContentInfo()

Adjust all locations where ClientNetworkContentSocketHandler::callbacks
is iterated to avoid problematic behaviour
5 years ago
Michael Lutz 8b1880187a Remove: AutoFreeSmallVector.
The last use was for storing a list of memory blocks. As the way these lists are accessed is very
specific, it is easier to just write an explicit destructor instead of trying to exactly match the behaviour.
5 years ago
Michael Lutz e804173595 Codechange: If something is a vector of strings, use a vector of strings instead of an AutoFreeSmallVector. 5 years ago
Michael Lutz c7b9987d08 Codechange: Switch DropDownList to directly use std::vector, thus making AutoDeleteSmallVector obsolete.
DropDownListItem are strongly managed using std::unique_ptr to ensure leak-free handling. Appropriate use
of move-semantics make intent a lot clearer than parameter comments and allows the compiler to generate
copy-free code for most situations.
5 years ago
Michael Lutz d3e113eb5f Codechange: Use std::vector instead of AutoDeleteSmallVector in GS text handling. 5 years ago
Michael Lutz baf9229931 Codechange: Replace AutoDeleteSmallVector with direct std::vector use in text layout code. 5 years ago
Michael Lutz 329bb52613 Codechange: Store text layout runs directly as values in a std::vector instead of heap allocated.
This reduces memory allocations and heap fragmentation.
5 years ago
Michael Lutz 9325d63d8e Fix: Forgotten override keywords for DropDownListIconItem. 5 years ago
Michael Lutz fbc4cef180 Codechange: Use override specifier for text layout classes. 5 years ago
Michael Lutz d95c7083ea Fix: Don't crash if reading a GS string file from disk produces an error.
The raw_strings vector may not include NULLs as no consumer can deal with it.
5 years ago
translators 0a883afe19 Update: Translations from eints
luxembourgish: 20 changes by Phreeze
5 years ago
PeterN 812886ca61
Fix #7478: Don't remove NewGRF objects on company take-over. (#7483) 5 years ago
kiwitreekor bc9b47d2e5 Fix #6222: Advanced sprite layout sometimes showed incorrect railtype ground tile 5 years ago
glx22 3e608afa6c
Fix: [Windows] OpenTTD window may be inactive when an error happens (#7482) 5 years ago
Michael Lutz 967b27a2c1 Codechange: C++11 STL has a function for getting the number of CPU cores. 5 years ago
Michael Lutz ae748166d0 Codechange: Use platform independent C++11 function for sleeping on a thread. 5 years ago
Michael Lutz 94c5269fa7 Codechange: Use atomic variables for thread synchronization where useful. 5 years ago
Michael Lutz 05bc2ed7cb Codechange: Replace custom thread code with C++11 thread objects.
We assume a conforming C++11 compiler environment that has a valid <thread>-header.
Failure to run a real thread is handled gracefully.
5 years ago
Michael Lutz 05f4e73608 Codechange: Replace custom mutex code with C++11 mutex'es.
A conforming compiler with a valid <mutex>-header is expected.
Most parts of the code assume that locking a mutex will never fail unexpectedly,
which is generally true on all common platforms that don't just pretend to
be C++11. The use of condition variables in driver code is checked.
5 years ago
glx22 a1e492d0d8
Fix #7439: don't overwrite CompanyRemoveReason with ClientID (#7465) 5 years ago
Samu fb6e31ca43 Cleanup 3f32711: Don't apply forbid 90 deg turn settings for ships. 5 years ago
peter1138 8114bad033 Fix #7469: Desync when using build and refit feature. 5 years ago
translators 24fc25164a Update: Translations from eints
french: 3 changes by glx
croatian: 17 changes by VoyagerOne
5 years ago
Niels Martin Hansen cebdd72146 Fix #7440: Remove town sign when deleting town, not add it once more 5 years ago
translators 92d5835495 Update: Translations from eints
dutch: 2 changes by JanWillem
french: 19 changes by glx
5 years ago
translators cb449049ff Update: Translations from eints
english (us): 3 changes by Supercheese
spanish (mexican): 18 changes by Absay
hungarian: 2 changes by Brumi
latin: 33 changes by Supercheese
5 years ago
peter1138 f0336f1f17 Codechange: Remove ship max order distance from script API. 5 years ago
peter1138 f656f5e8eb Change: Remove ship max order distance.
It is skipped when NPF is in use.
It is trivial to work around by adding and removing dummy orders.
It is mostly alleviated by the ship path cache in YAPF.
5 years ago
peter1138 66bed86bbb Fix #7062, Revert 7af53d7588: Don't test ship max order distance when pathfinding. 5 years ago
glx d0e8060182 Fix 6fc60d8c4f: forgot to update API changelog 5 years ago
PeterN 6d1cc142c2
Change: Shorten engine rail type drop down in autoreplace window. (#7448)
In the autoreplace window, the rail type drop down is for choosing engines
of the given time. Many rail types do not have engines specifically designed for them,
and are merely compatible with other rail types. This list is thus unwieldy and many
options have no engines available.

As this drop down is for choosing _engine_ rail type rather than compatible rail types,
we can list just the rail types explicitly listed by engines.
5 years ago
PeterN e1069eee05
Codechange: Check airport layout would fit within map bounds before iterating tiles. (#7429) 5 years ago
PeterN 32fda83d39
Fix aa7ca7fe6: Linkgraph node index order must be maintained due to other references. (#7431)
Linkgraph nodes require a specific order that was maintained by swapping just the last
element for the node to be removed. std::vector::erase() changed this to removing the
node is then shuffling the remain items down, which upsets other references to this
indices.

This is fixed by switching back to the original swap & pop method.
5 years ago
Andy 423aea5c32 Change: adjust Violet smallmap colour 1 shade darker, to compensate for legibility against darker blue of sea introduced by #7436 5 years ago
glx22 e93630541d
Fix #7433: don't use AirportSpec substitute if it's not set (#7435) 5 years ago
Niels Martin Hansen df673e9b2c Fix: Fluidsynth should not try to lock sample data in memory 5 years ago
Niels Martin Hansen 66c60e52ba Change: [SDL] Do not offer video smaller than 640x480 5 years ago
frosch 0cf25e84df Fix #7447, 3357cac847: Action 4 has feature 48 'original strings'. (#7449) 5 years ago
translators 3118f1430f Update: Translations from eints
italian: 25 changes by lorenzodv
portuguese: 3 changes by JayCity
5 years ago
SamuXarick ed51fba7ed Change: Dark Blue company and water were indistinguishable in small map. (#7436) 5 years ago
translators 1d14e31be3 Update: Translations from eints
korean: 14 changes by telk5093
5 years ago
PeterN b6e3e30d86
Codechange: Distance between town and airport has already just been found, so use it. (#7427)
Previously the distance was thrown away, only to be expensively recalculated again.
5 years ago
PeterN 9244dad3f1
Fix #7434: Incorrect use of vector iterator. (#7437) 5 years ago
glx22 acb09eb9a8 Fix: [Win64] settingsgen MSVC compile warnings (#7432) 5 years ago
translators cd3767bec2 Update: Translations from eints
luxembourgish: 29 changes by Phreeze
russian: 2 changes by Lone_Wolf
latin: 4 changes by Supercheese
portuguese: 1 change by JayCity
5 years ago
Michael Lutz 21d9e87b46 Fix #7165: Const overload SmallMap::Contains(key) compared wrong types.
Const and non-const Find() have different return types.
5 years ago
stormcone ee260e4704 Fix #7165: SmallMap::Erase(key) does not work correctly 5 years ago
PeterN 7fb77ff35a
Fix: Incorrect display of industry production around tiles. (#7426)
Display of industry production around tiles (as shown when placing a station)
did not take account of the station catchment changes, so still showed production
from an industry even if it was not covered by a tile.

This is fixed by making a set of nearby industries that are covered, instead of
looping over all possible industries.
5 years ago
glx22 66dd7c3879
Fix: MSVC warnings (#7423) 5 years ago
translators e817951bfd Update: Translations from eints
finnish: 2 changes by hpiirai
english (us): 17 changes by Supercheese
luxembourgish: 10 changes by Phreeze
dutch: 20 changes by JanWillem
norwegian (bokmal): 2 changes by Leifbk
latin: 16 changes by Supercheese
portuguese: 3 changes by JayCity
5 years ago
Johannes E. Krause fdaf67d924 Add: [Newgrf] Some 60+ Vars for industries that were missed in #6867 5 years ago
Johannes E. Krause 1a4c7a4e54 Cleanup: use switch for industry cargo vars 5 years ago
Charles Pigott 49f7332b75 Feature #6053: Collapsible vehicle groups (3298) 5 years ago
Charles Pigott 8890436af1 Add #6189: Groups now count the total number of vehicles in subgroups (3298) 5 years ago
Charles Pigott a393c94695 Change #5977: Use specific error message when attempting to create a circular group hierarchy (3298) 5 years ago
Charles Pigott ed9005690a Fix #7421: Don't (directly) dereference std::vector::end() in SmallMap 5 years ago
stormcone b913c92aa7 Fix #7165: Missed 'Append() --> push_back()' replacement 5 years ago
glx22 427d9d483f
Fix #6564: enforce types of arguments for station name strings (#7419) 5 years ago
Charles Pigott a065d4623e Codechange: Move 2 constants into the ifdef where they're used 5 years ago
Charles Pigott 7c81f8e076 Codechange: Simplify refit cargo filter condition and stop mixing enum types 5 years ago
Charles Pigott e453572b6a Codechange: Initialise a few variables that -flto seems to think could possibly be uninitialised 5 years ago
Henry Wilson 03ca3190c9 Codechange: Use range-based for-loop in Auto[Free|Delete]SmallVector 5 years ago
Henry Wilson cc62f4163f Cleanup: Remove unused size template parameters from SmallMap and Auto[Free|Delete]SmallVector 5 years ago
Henry Wilson c01a2e2a81 Codechange: Removed SmallVector completely 5 years ago
Henry Wilson 6570f7989f Codechange: Declare SmallVector as an alias for std::vector 5 years ago
Henry Wilson ab711e6942 Codechange: Replaced SmallVector::[Begin|End]() with std alternatives 5 years ago
Henry Wilson 297fd3dda3 Codechange: Replaced SmallVector::Include() with include() 5 years ago
Henry Wilson 2bc2de9034 Codechange: Replaced SmallVector::Find() with std::find() 5 years ago
Henry Wilson e0c58bf5ee Codechange: Removed SmallVector::Insert() 5 years ago
Henry Wilson a0f36a50e6 Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back() 5 years ago
Henry Wilson ca2f33c6d0 Codechange: Replaced SmallVector::Erase() with std::vector::erase() 5 years ago
Henry Wilson 097328c3d7 Codechange: Replaced SmallVector::Get() const with std alternatives 5 years ago
Henry Wilson aa7ca7fe64 Codechange: Replaced SmallVector::Get(n) non-const with std::vector::data() + n 5 years ago
Henry Wilson bc7dcaffca Codechange: Removed SmallVector::Assign() 5 years ago
Henry Wilson 5795f66d2e Codechange: Replaced SmallVector::Contains() with std::find() pattern 5 years ago
Henry Wilson b1f5119d3a Codechange: Replaced SmallVector::ErasePreservingOrder(pos, count) with std::vector::erase() 5 years ago
Henry Wilson 9b5cc73f3e Codechange: Replaced SmallVector::ErasePreservingOrder(it, count) with std::vector::erase() 5 years ago
Henry Wilson 8460952240 Codechange: Replaced SmallVector::Find() const with suitable alternatives
The use of std::none_of in network/core/host.cpp is driven by the non-const
comparison operator use by NetworkAddress. A future commit should address
the const_casts in that class to ensure const-correctness.
5 years ago
Henry Wilson 81315939b9 Codechange: Replaced SmallVector::Find() non-const with std::find() 5 years ago
Henry Wilson f3938fdb83 Codechange: Replaced SmallVector::Reset() with std::vector::clear() + shrink_to_fit() 5 years ago
Henry Wilson bad2c2154b Codechange: Replaced SmallVector::Resize() with std::vector::resize() 5 years ago
Henry Wilson a690936ed7 Codechange: Replace SmallVector::Length() with std::vector::size() 5 years ago
Henry Wilson 56ae855dc2 Codechange: Removed SmallVector::operator[] 5 years ago
Henry Wilson 9cba6f7193 Codechange: Replaced SmallVector::Compact() with std::vector::shrink_to_fit() 5 years ago
Henry Wilson bfd79e59dc Codechange: Replace SmallVector::Clear() with std::vector::clear() 5 years ago
Henry Wilson 4b349c0f90 Codechange: [core] Implement SmallVector using std::vector
The public and protected interface to SmallVector are unchanged
SmallVector now requires that items be default constructible
This isn't an issue since some contained items were previously created
uninitialized.

Temporary default constructors are added to the following structs
- SmallPair
- SmallStackItem
- GRFPresence

Where vector<bool> is required, transition immediately to std::vector
to avoid returning proxy object references.
5 years ago
translators 7a32cf1401 Update: Translations from eints
greek: 51 changes by Jubilee
russian: 17 changes by Lone_Wolf
latin: 19 changes by Supercheese
portuguese: 53 changes by JayCity
5 years ago
PeterN e3ea758c46
Fix #7414: Reinstate marking sign dirty before removal. (#7416) 5 years ago
stormcone 8acca3a72b Change: Do not display a newspaper about old vehicles for which replacement is activated. 5 years ago
PeterN 698241e16e
Fix #7410: Sign position/width not set on initial creation. (#7413)
Sign width was only updated when the text was changed. This seems to work for player-placed
signs as there is always a rename operation, however AIs can create a sign with text in one
go, in which case the width was never set.
5 years ago
PeterN a4073895ae
Fix #7411: Use industry production callback (if used) on initial industry cargo generation. (#7412) 5 years ago
translators 10f0c1e3cd Update: Translations from eints
finnish: 12 changes by hpiirai
greek: 40 changes by Jubilee
luxembourgish: 2 changes by Phreeze
dutch: 12 changes by JanWillem
french: 4 changes by romazoon
norwegian (bokmal): 12 changes by Leifbk
hungarian: 14 changes by Brumi
portuguese: 51 changes by JayCity, 11 changes by vesgo
5 years ago
translators 37b9fdc0c1 Update: Translations from eints
finnish: 13 changes by hpiirai
korean: 1 change by telk5093
5 years ago
Niels Martin Hansen ce10d9be3f Fix #7374: Ensure k-d trees are always updated when station sign moves 5 years ago
peter1138 3860a2ce2a Codechange: Use override keyword for smallmap window. 5 years ago
peter1138 07de9d6c3f Codechange: Use override keyword in networking classes. 5 years ago
peter1138 b1fb3f4fb8 Codechange: More use of override keyword. 5 years ago
peter1138 e6bb90543e Change: Show additional cost and refitted capacity in build vehicle window. 5 years ago
glx f8e6cd10ef Add: script API functions for build with refit feature 5 years ago
peter1138 d54b6ac09b Feature: When filtering purchase list by cargo type, make buy button perform a refit if required. 5 years ago
Peter Nelson f6264e5212 Change: Bump savegame version for tree tile water class conversion. 5 years ago
Peter Nelson 76e77aefad Fix #7400: Water class for tree tiles was not converted for old saves preventing industry creation.
As the information is always available from the tree ground type, unconditionally
update the map array for tree tiles.
5 years ago
peter1138 317f69c152 Codechange: Use override specifier in Window-derived classes. 5 years ago
peter1138 aafce47596 Codechange: Use override specifier for DropDownListItem classes. 5 years ago
Henry Wilson af7d9020a1 Codechange: Use override specifer for overriding member declarations
This is a C++11 feature that allows the compiler to check that a virtual
member declaration overrides a base-class member with the same signature.

Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked
as virtual despite being a template.
5 years ago
translators 685f822c63 Update: Translations from eints
finnish: 13 changes by hpiirai
danish: 2 changes by nielsmh
5 years ago
PeterN 4feea8db67
Fix: Filtered file list did not scroll properly. (#7402) 5 years ago
translators d755375966 Update: Translations from eints
luxembourgish: 31 changes by Phreeze
croatian: 2 changes by VoyagerOne
5 years ago
Peter Nelson 3357cac847 Fix: Bounds check NewGRF feature. 5 years ago
Peter Nelson 054d05b132 Codechange: NewGRF features are documented in hex, so display as hex. 5 years ago
Michael Lutz 2cf7ac2863 Fix #7391, 9b99b95: Don't invalidate go to depot orders of non-aircraft when invalidating hangar orders that happen to share IDs.
This was caused because hangars are referred to by station ID, which is not unique with respect to depot IDs.
5 years ago
peter1138 1585c12bb9 Fix 4da83d2f66: Remove measurement tooltips when completed. 5 years ago
translators 0837a1a398 Update: Translations from eints
dutch: 28 changes by JanWillem
russian: 1 change by Lone_Wolf
5 years ago
peter1138 c34f07d5fd Fix #7390: Extra line removed by mistake caused server_password to disappear from settings. 5 years ago
peter1138 b3ef06fdf3 Fix #7384: Industry Chain tooltips did not display on right-click.
This is fixed by handling the new Window::OnTooltip() event instead of OnHover()
5 years ago
peter1138 f5f33da126 Codechange: Implement OnTooltip event for custom window tooltips.
This avoids windows from needing to know or care about tooltip delay settings.
5 years ago
peter1138 4da83d2f66 Fix #7386: Measurement tooltip for tunnels, aqueducts & docks did not display or flickered.
Measurement tooltip was auto-closed as the hover/right-click test for tooltips was not
satisfied in this case. This is fixed by keeping the tooltip visible and instead explicitly
closing the tooltip when the PlaceObject is cancelled/completed.
5 years ago
Patric Stout e3c639a09f Remove: ENABLE_NETWORK switch
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.

Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.

A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.

With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.

All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
5 years ago
Patric Stout 72c5f2b3ee Remove: DOS support
In 10 years there was no active development on DOS. Although it
turned out to still work, the FPS was very bad. There is little
interest in the current community to look into this.

Further more, we like to switch to c++11 functions for threads,
which are not implemented by DJGPP, the only current compiler
for DOS.

Additionally, DOS is the only platform which does not support
networking. It is the reason we have tons of #ifdefs to support
disabling networking.

By removing DOS support, we can both use c++11 functions for threads,
and remove all the code related to disabling network. Sadly, this
means we have to see DOS go.

Of course, if you feel up for the task, simply revert this commit,
and implement stub c++11 functions for threads and stub functions
for networking. We are more than happy to accept such Pull Request.
5 years ago
translators 559d4e8335 Update: Translations from eints
korean: 7 changes by telk5093
5 years ago
Patric Stout fe13fadcfb Codechange: fix Intel C++ Compiler linking issues.
GetAircraftFlightLevel<Aircraft> is only used in static functions
inside aircraft_cmd.cpp. With GCC, Clang and MSVC this is not an
issue, but on ICC fails linking, because it doesn't find this
version of this template. Possibly these two pieces of information
are linked.
Explicit defining the function fixes the issue.
5 years ago
stormcone 43caef2968 Fix f58fa80e: Wrong company performance rating when money exceeds INT_MAX. (#7382)
Company performance rating calculation does not take into account the companies' money when those exceeds INT_MAX.
5 years ago
translators c66b9c657a Update: Translations from eints
dutch: 1 change by JanWillem
russian: 1 change by Lone_Wolf
5 years ago
Charles Pigott 592f591a4b Cleanup: Unused lang strings 5 years ago
Charles Pigott fe448a2616 Remove: OPF 5 years ago
translators c7b5f34138 Update: Translations from eints
norwegian (bokmal): 1 change by Leifbk
5 years ago
PeterN bcfc9620b0 Change: Use default value for invalid multi-string settings instead of clamping to min or max value. (#7361) 5 years ago
translators 1100418063 Update: Translations from eints
romanian: 8 changes by alexmerlin1985
dutch: 2 changes by JanWillem
5 years ago
peter1138 35967effd3 Cleanup: Update changed string in language files. 5 years ago
peter1138 fc5f67123a Fix e66cec8f86: Permit loading of industry production callback with invalid cargo type.
It is only an error if the invalid result is actually used. This will be silently ignored at the moment.
It is still an error if a duplicate cargo type is returned.
5 years ago
peter1138 b00a861467 Codechange: Make FindStationsAroundTile() out-parameter stations const to prevent incorrect modification. 5 years ago
peter1138 6b92b83128 Fix #7372: FindStationsAroundTiles() with caching returns no result for industry tiles.
Currently this can only be triggered by NewGRF house tiles querying for cargo acceptance history
of nearby stations (var 0x64) with a tile offset, and providing an offset that happens to point
to an industry tile. This serves no useful purpose.
5 years ago
Johannes E. Krause 43ced57794 Cleanup: Remove questionable syntax in track drawing 5 years ago
Johannes E. Krause e6798ffdca Cleanup: Remove questionable syntax in town rating display 5 years ago
Johannes E. Krause 21ec3e5531 Cleanup: Remove questionable syntax in GetOrderCmdFromTile 5 years ago
Johannes E. Krause 234f1007f7 Cleanup: Remove questionable syntax in HQ size calculation 5 years ago
Johannes E. Krause ba3d7122df Cleanup: Remove questionable syntax in station rating calculation 5 years ago
Gabda dea7f078f4 Codechange: Update town sign on population change only when population is shown (#7368) 5 years ago
translators 776fbda324 Update: Translations from eints
finnish: 110 changes by hpiirai
ukrainian: 149 changes by nsergiy
5 years ago
Jonathan G Rennison 1a115e1cc8 Change: Include _current_company in crashlog AI config line
_current_company is not currently logged anywhere in the crashlog.
_local_company is logged, despite being much less useful than
_current_company.
This change logs _current_company alongside _local_company.
5 years ago
Patric Stout aea1726f45 Fix: MingW and MSVC compiled strgen had different path separator behaviour
If it was compiled with MingW, both / and \ were accepted as
path separator. On MSVC, only \ was. This is an unexpected
difference between binaries for the same platform. Remove this
discrepancy by accepting both / and \ on all platforms.
5 years ago
Patric Stout 45fbaa64c2 Codechange: check if a define is set directly, instead of indirectly
config.lib happens to set GLOBAL_DATA_DIR in case it is not DOS
and not OS2, but this kind of deduction is annoying to maintain.
It is better to just check if the define you want to use is set,
and leave it to config.lib to set it or not depending on the OS.
5 years ago
Patric Stout 1f57150d80 Codechange: "basedir.h" is a system include, not a local 5 years ago
Patric Stout 36105841b9 Codechange: ICU_SORT is in reality ICU_I18N (according to their CMake files)
By naming it in a different way, things get a bit confusing.
Especially if we are switching to CMake, which autodetects these
things, we need to use the name the authors of ICU gave it; not
our interpertation of that name.
5 years ago
Patric Stout 52d7e7d45e Codechange: ICU_LAYOUT is in reality ICU_LX (according to their CMake files)
By naming it in a different way, things get a bit confusing.
Especially if we are switching to CMake, which autodetects these
things, we need to use the name the authors of ICU gave it; not
our interpertation of that name.
5 years ago
Patric Stout 7adae09897 Codechange: liblzma is called liblzma, how ever strange that might be
It is the only library we use that calls itself with 'lib' in the
name. This might be confusing, but with the arrival of cmake a lot
of these things are automated. And detection will find 'liblzma',
not 'lzma', like with 'lzo', 'zlib', ..
5 years ago
translators c09c94378c Update: Translations from eints
finnish: 214 changes by hpiirai
norwegian (bokmal): 10 changes by Leifbk
russian: 2 changes by Lone_Wolf
croatian: 6 changes by VoyagerOne
5 years ago
peter1138 9cb84a1bad Feature: Add road icon to road construction drop down list. 5 years ago
peter1138 9c8b7b5efc Feature: Add rail icon to rail construction drop down list. 5 years ago
peter1138 b56ea5ca27 Add: Generic drop down list string item with icon. 5 years ago
peter1138 fb35cb5ed2 Remove: Unnecessary virtual destructors on drop down list items. 5 years ago
peter1138 303cfd86a3 Remove: Unnecessary specialization of NewGRF preset list item. 5 years ago
peter1138 811bf22620 Codechange: Use Colours type instead of byte. 5 years ago
Michael Lutz cc5f175615 Feature: Railtype flags to allow/disallow 90 degree curves. (#7352) 5 years ago
Niels Martin Hansen e8d397e4ee Codechange: Make a merged k-d tree index of all viewport signs 5 years ago
Niels Martin Hansen d84b67e54d Codechange: Make a k-d tree index of stations 5 years ago
Niels Martin Hansen 7b56be0f3a Codechange: Make a k-d tree index of towns 5 years ago
Niels Martin Hansen d7522e5e8f Codechange: Add a k-d tree generic data structure 5 years ago
translators 3a54c71041 Update: Translations from eints
finnish: 46 changes by hpiirai
danish: 10 changes by nielsmh
hungarian: 2 changes by Brumi
5 years ago
Peter Nelson 943c58e468 Fix: Show industry name in Land Area Information window for oil-rig type stations instead of just 'Oil Rig' 5 years ago
Peter Nelson 8b1b3fd0f9 Feature: Non-rectangular sparse station catchment area. 5 years ago
Peter Nelson 3542ed53d4 Add: BitmapTileArea and Iterator to handle sparse tile areas. 5 years ago
peter1138 94b40fd530 Codechange: Convert IndustryVector to a std::set. 5 years ago
peter1138 ed6084523d Codechange: Convert StationList from SmallVector to std::set. 5 years ago
Andy 46aca9377b Add: windowshade for rail station construction window 5 years ago
PeterN 42046af933
Add: Add flag and railtype sprite type to draw pre-combined ground sprites. (#7231) 5 years ago
Gabda 7e7563f15f Add: Chrono based TIC() and TOC() in debug 5 years ago
Gabda 4be2c1022e Cleanup: changing variable names in TIC() and TOC()
Removing double underscores to be ANSI-C standard compliant.
5 years ago
PeterN 6c6971fb43
Add: Road vehicle path cache. (#7261) 5 years ago
glx22 dae35188ab
Fix 13962a847, 00d28a500: forgotten squirrel_export run (#7345) 5 years ago
translators 35a2b3bb08 Update: Translations from eints
finnish: 14 changes by ln
catalan: 8 changes by juanjo
polish: 7 changes by xaxa
dutch: 7 changes by JanWillem
5 years ago
PeterN dd20ccee88
Feature: Industries with neutral stations (e.g. Oil Rig) only supply/accept cargo to/from their neutral station. (#7234)
This change is a controlled by a game setting, located under Environment ->
Industries which allows toggling the behaviour. It defaults to enabled.

"Company stations can serve industries with attached neutral stations"

When enabled, industries with attached neutral station (such as Oil Rigs) may
also be served by company-owned stations built nearby. This is the traditional
behaviour.

When disabled, these industries may only be served by their neutral station.
Any nearby company-owned stations won't be able to serve them, nor will the
neutral station serve anything else other than the industry.
5 years ago
PeterN 41563a871b
Add: AI API for vehicle group colours (#7336) 5 years ago
Peter Nelson 7ca1793ec4 Change: Automatically use Trackdir node key as needed if ship curve penalties differ. 5 years ago
Peter Nelson b8a0107ad1 Change: Add configurable curve penalty for ships. 5 years ago
peter1138 a69eb5f516 Fix #7334: Ship lost after crossing bridge due to path cache not being consumed while on final bridge end. 5 years ago
translators 1ad8321fff Update: Translations from eints
dutch: 2 changes by JanWillem
russian: 4 changes by Lone_Wolf
5 years ago
SamuXarick cdb6dbad85 Cleanup: Remove repeated network error message on connection timeout. (#7327) 5 years ago
nikolas a7e335c0b3 Fix: spelling for a few real town names (#7338)
Added special characters to mostly Slovak towns, a few Spanish, and one Turkish.
5 years ago
translators 3d4736cedd Update: Translations from eints
dutch: 13 changes by JanWillem
hungarian: 4 changes by Brumi
5 years ago
Patric Stout f52e5a4d61 Fix: warnings when compiling with DJGPP
This was most likely broken for months, if not years.
5 years ago
Patric Stout 1c5ea33099 Fix: warnings when compiling for a recent version of Haiku
This might break older Haiku versions, but it is hard to tell.
5 years ago
Patric Stout aa350528df Remove: libtimidity support (NOT timidity support)
libtimidity was introduced with the support for PSP. PSP has been
dropped almost a year ago, but this music driver was not. This
corrects that oversight.

timidity (via extmidi) still works fine. This purely removes the
libtimidity support, which was only really available for PSP.
5 years ago
Patric Stout f58db44ff2 Remove: BeOS support (deprecated by Haiku)
In 10 years there is no commit to change how BeOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).

With the arrival of SDL2 (and removal of SDL), BeOS is no longer
support. SDL2 suggests to use Haiku instead of BeOS.
5 years ago
Patric Stout ad30d04b5e Codechange: removed some left-behind __NDS__ references 5 years ago
Patric Stout 7784d77713 Remove: MorphOS / AmigaOS support
In 10 years there is no commit to change how MorphOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).

With the arrival of SDL2 (and removal of SDL), MorphOS is no longer
support. There is an SDL2 port for MorphOS, but it is not maintained
by upstream SDL2, and nobody can currently test it out.

If anyone wants to re-add MorphOS, please do (revert this patch,
fix the problems, and create a Pull Request). If you need any help
doing so, let us know! It is not that we don't like MorphOS, it is
that we don't have anyone fixing the problems :(
5 years ago
translators db49efe29a Update: Translations from eints
finnish: 40 changes by hpiirai
english (us): 19 changes by njn
spanish (mexican): 3 changes by njn
5 years ago
Niels Martin Hansen 52572cafa6 Add: Option for population-linear town cargo generation
Introduce a new default algorithm for town cargo generation (passengers and mail), and a game setting to choose between the new and original algorithm.

The original town cargo generation algorithm has the property of the generated amount relating to the square of each building's population, meaning large towns easily produce more cargo than can realistically be transported. The problem is excessive cargo is amplified if playing with cargodist.

The new algorithm introduced instead has a linear relation to the population. The result is that smaller towns will produce slightly more cargo, while the largest towns will produce about a fourth of what they would with the original algorithm.

Existing savegames will use the original algorithm, while new games will default to the new algorithm.
5 years ago
PeterN 7f00a420cb
Fix: Runway too short for large aircraft message should not depend on plane crashes setting. (#7325) 5 years ago
translators 585957b226 Update: Translations from eints
finnish: 39 changes by hpiirai
french: 4 changes by glx
hungarian: 4 changes by Brumi
russian: 3 changes by Lone_Wolf
korean: 20 changes by telk5093
croatian: 5 changes by VoyagerOne
5 years ago
PeterN ebc3934ee6
Fix #7043, Fix #7274: Delete town owned bridge based on adjacent tile ownership, not nearest town. (#7284)
This only affects failed town generation, as towns do not delete bridges under any other circumstances.

The existing test performed badly with a large number of towns due to having to calculate the
nearest town, and also by its nature assumed a bridge was built by the nearest town, leading
to bridges of nearby large towns be removed incorrectly.

If we gain the ability to quickly retrieve the correct town (which is _not_ the nearest town) from the bridge, this change should be reviewed.
5 years ago
Johannes E. Krause 3c94bddbc2 Change: make crash chance at short runway independent of plane crash rate setting (there's a cheat for this) 5 years ago
Peter Nelson 3f327116db Change: Don't apply forbid 90 deg turn settings to ships. 5 years ago
frosch a67ee02529
Change: Heading for 1.10 now (#7319) 5 years ago
frosch 39cda89e85
Add: Detect stable tags automatically, and set the 'stable' flag in '_openttd_newgrf_version' accordingly. (#7317) 5 years ago
translators 8016b8b3e9 Update: Translations from eints
catalan: 62 changes by juanjo
french: 11 changes by glx
5 years ago
peter1138 93a6fd42d1 Fix 23960d0f2c: Company livery window shows incorrect groups when opened from group window in multiplayer. 5 years ago
Niels Martin Hansen c61acc7fc1 Fix #7280: Save in the right location on desync and server timeout 5 years ago
Peter Nelson c91e0058c2 Change: Allow vehicle group names to be non-unique.
Group names are visual identifiers, and do not need to be unique.
Group sorting already falls back to group ID if names are the same, so that sorted
list position is stable.
5 years ago
Peter Nelson 5a5944867d Add: Add parent_group_id parameter to CreateGroup() 5 years ago
Peter Nelson 5d3ccae6c5 Add: AI function to get current usage of a group. 5 years ago
Peter Nelson e0c2ad1b65 Add: AI functions to get/set company colours. 5 years ago
Peter Nelson 3c047b124e Add: AI functions to get current and last year profit of a group. 5 years ago
Peter Nelson b62452903a Add: AI functions to set/get vehicle group parent. 5 years ago
Eddi-z 8139b14e9c Change: Synchronize introduction date and reliability randomness across vehicles with the same base introduction date (#7147) 5 years ago
translators 90a4737bf6 Update: Translations from eints
croatian: 6 changes by VoyagerOne
5 years ago
Eddi-z b242a04c7d Fix #7307: Add WaterClass to MP_TREES, set when trees are on coast tiles (#7309)
This allows allows NewGRF object/industry placement rules to treat trees on coast tiles the same as regular bare coast.
5 years ago
Samu 780593ae60 Fix #6633: Cargo monitor industry delivery now accounts for which IndustryID the cargo was delivered to 5 years ago
PeterN cbaf52fbe1
Codechange: Sort and filter sign names directly rather than through string system. (#7304)
This provides a notable performance benefit in the Sign List window when there are many signs.
5 years ago
Charles Pigott c3bc7d657e Codechange: Remove ability for SDL to be dynamically loaded on Windows 5 years ago
PeterN 63fe6c6598
Codechange: Make std::stack use std::vector container in string formatting/drawing. (#7305)
This is a very minor performance increase which can add up during operations such
as sorting. Performance impact my be platform/compiler dependent.
5 years ago
translators 7ecfae8f7f Update: Translations from eints
turkish: 4 changes by DarkSapling
danish: 10 changes by Deb622
norwegian (bokmal): 11 changes by Leifbk
portuguese: 11 changes by vesgo
5 years ago
Eddi-z 1447661d20 Cleanup: spurious TODOs in newgrf.cpp (#7297) 5 years ago
translators 76f983a8e7 Update: Translations from eints
dutch: 80 changes by JanWillem
5 years ago
SamuXarick 50a0cf1915 Change: Allow towns to build bridges over rails and one-way roads. (#7291) 5 years ago
SamuXarick 03264059e4 Change: Decrease minimum permitted value for script_max_opcode_till_suspend setting (#7243) 5 years ago
translators adb50cebcc Update: Translations from eints
romanian: 7 changes by alexmerlin1985
5 years ago
Samu 9b99b95955 Fix #6574: Remove go to hangar orders when rebuilding airport
When replacing an airport with another, cancel current orders of type 'go to depot' from aircraft still heading to it if the rebuilt airport doesn't have a hangar (helicopter vs heliport), or if the airplane can't land on the rebuilt airport (airplane vs helistation).

Removes 'go to hangar' orders from all aircraft when replacing an airport with hangar with another without hangar (heliport).
5 years ago
peter1138 7ac17f5ae4 Fix #7281: Unable to select last group in open livery window on group creation. 5 years ago
peter1138 c2e4a8c9bf Fix 195fd0dc60: Sprite cache must still be cleared when using bitmap fonts. 5 years ago
translators 93c6398810 Update: Translations from eints
dutch: 68 changes by JanWillem
danish: 17 changes by nielsmh
hungarian: 3 changes by Brumi
5 years ago
translators d24a9dfe98 Update: Translations from eints
italian: 11 changes by lorenzodv
dutch: 46 changes by JanWillem
russian: 5 changes by Lone_Wolf
5 years ago
Alexander Weiss 77ab6f8ec7 Change: [OSX] Prevent 2D scrolling for traditional scroll wheel mice 5 years ago
Alexander Weiss 0bb395b21d Change #6800: [OSX] Use high-precision scrolling deltas for 2D scrolling 5 years ago
PeterN 195fd0dc60
Fix #7266: Reorder reinitialization of caches when changing font zoom level. (#7273) 5 years ago
Patric Stout 91eee793e1 Fix c3dbe836b4: also compile without ENABLE_NETWORK defined again 5 years ago
PeterN 87ebfe1227
Fix #7004: Mark linkgraph dirty to be rebuilt on next draw call. (#7265)
Previously the linkgraph was rebuilt before the viewport extents were finalized.
5 years ago
translators f240f61fb2 Update: Translations from eints
danish: 11 changes by nielsmh
spanish (mexican): 11 changes by Absay
hungarian: 100 changes by Brumi
russian: 6 changes by Lone_Wolf
croatian: 9 changes by VoyagerOne
5 years ago
PeterN eeae4512ae
Fix #7003: Freetype fonts were scaled by both GUI and Font zoom levels. (#7267) 5 years ago
Niels Martin Hansen 13962a8475 Change: Framerate window can now scroll and resize 5 years ago
Niels Martin Hansen 7e1e2756d4 Add: Show performance of AI and GS in framerate window 5 years ago
SamuXarick 4adb91202d Fix: Remove desert around lakes upon generation 5 years ago
Peter Nelson fde5bd0ccf Change: Add scrollbar to cargo legend in cargo payment rates window. 5 years ago
Greg Carlin 00d28a500d Feature: Add option to adjust font size separately from GUI size. (#7003)
Adds an option in the "Game Options" next to "Interface Size" called "Font Size". Available options are normal, double, and quad.
5 years ago
peter1138 56a6d7aec8 Fix #7227: Don't apply mouse-hasn't-moved test to scrollbars. 5 years ago
peter1138 69928df3f0 Fix: Resorting file list did not update filtered rows. 5 years ago
translators fb1b6fa47a Update: Translations from eints
italian: 9 changes by lorenzodv
norwegian (bokmal): 4 changes by Leifbk
5 years ago
Michael Lutz 690d1dd6a4 Fix #7159, e934f09: Waiting time at red one-way signals was too short.
This is not an exact fix as previously, the wait time was speed/acceleration dependant. This simple fix ignores that and just makes the 'days' from the settings comment to be actually days.
5 years ago
SamuXarick 456e67ac1c Change: Owner of vehicle with exclusive transport rights may now load cargo from neutral stations (#7256) 5 years ago
translators 673f6753e9 Update: Translations from eints
dutch: 76 changes by JanWillem
scottish gaelic: 44 changes by GunChleoc
5 years ago
peter1138 5ab1a73a8a Codechange: Remove never-used StationIDList. 5 years ago
Nikolas Nyby 8a6e03c4d2 Fix #7189: Fluidsynth volume gain too high 5 years ago
Peter Nelson 6733b71300 Change: Make mini-map widget capture mouse when left-click dragging.
This allows the mini-map to be dragged when the cursor has left the widget.
5 years ago
Peter Nelson 6dfe36b5cd Change: Make volume slider widget capture mouse when clicked.
This makes the slider continue to respond even when mouse cursor
is no longer over the widget.
5 years ago
Peter Nelson de9f54ccc1 Codechange: Change scrolling_scrollbar to mouse_capture_widget, and dispatch OnClick() event if widget is not a scrollbar.
This allows any widget to support mouse capture.
5 years ago
Samu 66d23e3e86 Fix #7090: Close Query String window after rebuilding AI/GS settings 5 years ago
Samu 19fa960d83 Fix #7091: Close dropdown menu windows after rebuilding AI/GS settings 5 years ago
translators 21f009dc78 Update: Translations from eints
english (us): 11 changes by njn
dutch: 244 changes by JanWillem
turkish: 102 changes by wakeup
5 years ago
translators 21d8636722 Update: Translations from eints
dutch: 100 changes by JanWillem
5 years ago
Samu ba55f93f41 Doc: [AI] UnshareOrders empties the orders list of the vehicle. 5 years ago
J0an Josep c4fe46a475 Fix #7244, 6ca637b8c1: OPF doesn't take 90 deg turns into account. 5 years ago
Juanjo 45ce517105 Codechange: Move some common code after adding/removing tiles to a station to its own function. 5 years ago
J0an Josep 6ca637b8c1 Fix #7226: Don't call ship pathfinders if there is no available track due to "forbid 90 deg turns". 5 years ago
translators 349cbee6e9 Update: Translations from eints
ukrainian: 6 changes by nsergiy
dutch: 210 changes by JanWillem
french: 1 change by glx
portuguese: 4 changes by vesgo
5 years ago
PeterN 84961034e4
Change: Increase maximum number of orders from 64000 to ~16.7m. (#7220) 5 years ago
translators ef7e47a53a Update: Translations from eints
danish: 5 changes by nielsmh
french: 3 changes by glx
spanish (mexican): 4 changes by Absay
russian: 4 changes by Lone_Wolf
5 years ago
glx aadcf40b9b Fix 1585eb1a3: wrong default selection for goals and story book 5 years ago
Joan Josep 548ec05a48 Add: News menu entry and shortcut for deleting all messages. (#7240) 5 years ago
glx ebe84b9d4c Cleanup: update modified and removed strings in languages 5 years ago
glx 1585eb1a3e Fix: use more descriptive "spectator" strings for story book and goal dropdown menus 5 years ago
glx 7c31a32c2b Fix: colour of network specific strings in company dropdown menus 5 years ago
Joan Josep 4919c8db13 Codechange: Re-arrange VehicleEnter_Track in rail_cmd. (#7239) 5 years ago
PeterN 5dc377244d
Fix #7224: AI could no longer create groups. (#7233) 5 years ago
PeterN 3a4b6b476b
Change: Use selected group as parent when creating a new group. (#7224) 5 years ago
Peter Nelson 57734fd85d Fix #6599: Disable build and rename button in build vehicle window when no vehicle is selected. 5 years ago
translators 045503e728 Update: Translations from eints
english (us): 1 change by njn
5 years ago
PeterN c0c8fb25fb
Change: Use SlErrorCorrupt() on pool index error when loading a savegame, instead of terminating. (#7219) 5 years ago
Niels Martin Hansen 830ed6be61 Fix: Do not mangle tagged revision strings for network revision strings 5 years ago
Niels Martin Hansen 46d97239c4 Codechange: Include flag for whether a build is of a tagged revision 5 years ago
Thomas den Hollander 412e6132b6 Fix: CompanyEconomy documentation
Company income was described as an unsigned integer, but it should be signed.
5 years ago
translators 6b5ebe2b09 Update: Translations from eints
english (us): 64 changes by njn
polish: 2 changes by McZapkie
danish: 1 change by njn
french: 2 changes by glx
5 years ago
PeterN aa737715dd
Fix #7151: AI start date deviation was still applied when not set to a random AI. (#7223) 5 years ago
translators 75d3054ae4 Update: Translations from eints
faroese: 1 change by JayPee
german: 1 change by ShadowCop
norwegian (bokmal): 96 changes by Leifbk
5 years ago
Peter Nelson cac2f6226c Codechange: In CmdCompanyCtrl, move client_id assignment to where it is used, and document bit usage better. 5 years ago
PeterN 22f33fdd08
Fix 148e5b41d6: Uninitialized variable usage. (#7216) 5 years ago
translators 13af2b88b4 Update: Translations from eints
russian: 3 changes by Lone_Wolf
5 years ago
Eddi-z 148e5b41d6 Change: Skip reliability decay if servicing is disabled 5 years ago
glx 70e1c57f81 Fix: line ending issues with MSYS2 5 years ago
PeterN d242875d27
Fix #7197: Invalidate depot buttons when necessary. (#7212) 5 years ago
translators de1278290b Update: Translations from eints
greek: 15 changes by fumantsu
dutch: 73 changes by JanWillem
5 years ago
Henry Wilson d03cb80346 Fix: trains cancelling their pending reversal when ordered to go to a depot behind them
Previously, if a train had been ordered to reverse, and while it was slowing down, was
ordered to travel to a depot that is behind it, the train would continue forwards.
Also when a train had been ordered to reverse, and while it was slowing down, was
ordered to travel to a depot that is in front of it, the train would not cancel the
reversal.
In both cases the train would travel away from the target depot.

Trains in this situation now behave correctly and will travel towards the depot.
5 years ago
Gabda 37bb2c9308 Codechange: Make the style of MakeVoid calls uniform (#7192) 5 years ago
Gabda 5e4f76f2f9 Fix #5654: (Re)initialise graph GUI on game (re)start (#7191) 5 years ago
translators 62d6cd75ba Update: Translations from eints
korean: 6 changes by telk5093
polish: 18 changes by xaxa
5 years ago
Peter Nelson bfdad9ad1b Fix #7108: Missed generate_widget script run for livery changes. 5 years ago
Niels Martin Hansen db2c0ccae0
Fix fdc2e85: Double close of file handles
When unpacking downloaded content, the downloaded .gz file was being opened with `fopen`, the OS file handle given to zlib, and then afterwards zlib told to close the file.

But the `FILE *` object was never closed with `fclose`, meaning the stdio library would have a hanging file object, whose file handle was now invalid or referred to a different file. This caused asserts during shutdown with Microsoft's C library in debug mode.

Fix this by properly duplicating the OS handle and `fclose`ing the `FILE *` object, before giving the handle to zlib.
5 years ago
Peter Nelson e3b440c9c5 Add #5006: Flag to hide rail type from construction. 5 years ago
PeterN 4764d1c45e Doc #7181: AAT_STATION_AIRPLANE_LAND triggers only a single tile, not all airport tiles. (#7182) 5 years ago
translators 9fc430a920 Update: Translations from eints
swedish: 21 changes by Joel_A
german: 1 change by smwforever45
5 years ago
Peter Nelson b1e40b6b56 Fix #7151: Hang when concurrently starting AIs in multiplayer, or with shift pressed. 5 years ago
Peter Nelson 64878320cc Fix #6803: CargoMonitorID bit packing updated to handle 64 cargo types.
This requires a saveload bump to change the bitpacking on loading older saves.
5 years ago
Peter Nelson 0b10678050 Change: Make ships stop in locks to move up/down instead of following the slope. 5 years ago
glx 8e7fe3973f Add: CompanyCtrlAction enum for CMD_COMPANY_CTRL actions 5 years ago
Peter Nelson 33e3f49161 Fix #7119: When rotating a ship, apply an additional offset to avoid movement glitch. 5 years ago
Peter Nelson 0749a291c4 Revert 479f13fc41, Fix #7133, Fix #7136: "Codechange: Tweak ViewportAddLandscape so it no more relies on "go down as fast as possible" tile height model (Patch by adf88, #6583)"
This reverts commit 479f13fc41.
5 years ago
translators de5614a4d8 Update: Translations from eints
german: 64 changes by smwforever45
5 years ago
Niels Martin Hansen 5f8354f358 Change: Make a shortened network revision string for use in server queries 5 years ago
Niels Martin Hansen c511b0e801 Change: Increase NETWORK_REVISION_LENGTH to 33 bytes 5 years ago
Niels Martin Hansen cd757ecbf4 Change: Use git revision hash (with "modified" prefix) for gamelog 5 years ago
Niels Martin Hansen faee0737e0 Codechange: Separate gamelog revision length from network revision length 5 years ago
Niels Martin Hansen 67c6f945fb Change: Include the full raw git revision hash in rev.cpp 5 years ago
Peter Nelson cca952d94b Fix #7108: Group livery command did not check its parameters properly. 5 years ago
Peter Nelson e21ade375e Codechange: Change from numeric to descriptive SLV enum labels for last entries. 5 years ago
Peter Nelson 0f37a683a2 Codechange: Additional type safety for saveload version variables. 5 years ago
Peter Nelson 9de12521ec Codechange: Convert saveload numbers to enum values.
(This was mostly achieved with a few in-place regexes)
5 years ago
Peter Nelson ea4ea62816 Codechange: Make saveload version upper bound exclusive, i.e. version object was removed instead of version object last appeared. 5 years ago
translators bdf0dc67e9 Update: Translations from eints
croatian: 4 changes by VoyagerOne
korean: 4 changes by telk5093
russian: 2 changes by Lone_Wolf
german: 4 changes by smwforever45, 4 changes by ShadowCop
spanish (mexican): 2 changes by Absay
portuguese: 52 changes by vesgo
finnish: 3 changes by hpiirai
dutch: 238 changes by JanWillem
estonian: 1 change by rm87
5 years ago
Peter Nelson 9dc36057eb Fix #7058, Fix #7161: Network chat messages did not expire. 5 years ago
Peter Nelson e8f1c446a6 Fix: DMU/EMU livery should apply to passenger carriages with DMU/EMU engines. 5 years ago
Peter Nelson c9d801a98d Fix: Make livery window resize properly if GUI scale changes whilst open. 5 years ago
Samu 011257dc88 Change: Allow AI companies to start immediately.
Allow multiple AIs to possibly start in the same tick.
start_date = 0 becomes a special case, where random deviation does not occur.
If start_date was not already 0, then a minimum value of 1 must apply.
5 years ago
Peter Nelson fa53abe864 Doc: Yearly increment. 5 years ago
Niels Martin Hansen 0bca363401 Add: Warn before overwriting an existing save file 5 years ago
translators 5a5861f245 Update: Translations from eints
french: 2 changes by glx
german: 23 changes by planetmaker
danish: 139 changes by nielsmh
spanish (mexican): 3 changes by Absay
portuguese: 55 changes by vesgo
dutch: 214 changes by JanWillem
estonian: 30 changes by rm87
5 years ago
glx 8418e27403 Fix: close Textfile windows when closing Option window 5 years ago
Peter Nelson 0355f887d9 Fix #6438: Properly invalidate AI Settings window when max no competitor setting is changed. 5 years ago
Peter Nelson 9e9d485713 Fix 23960d0f2c: Scrollbar was broken for non-group liveries.
Simplify how list position is determined by using existing functions.
Also rename livery_height -> rows and SetLiveryHeight() -> SetRows(), as height implies pixels.
5 years ago
Peter Nelson 12b6fe47c7 Fix: Set MU flag on some default engines. 5 years ago
Peter Nelson 21dc725762 Fix: Don't consider engines not in the current climate towards used livery classes. 5 years ago
SamuXarick 1e5a6765d9 Change: Give AI/GSBridge::GetName an extra parameter to refer the vehicle type (#6988) 5 years ago
J0an Josep 029c48cf4a Cleanup: [NPF] Remove unused parameter. 5 years ago
J0an Josep d814dd3434 Cleanup: [NPF] Assert that a track has been chosen. 5 years ago
J0an Josep aa63517c92 Fix #7060: [NPF] Do not check whether ignored first tiles are end nodes. 5 years ago
J0an Josep 19be1f4ace Codechange: [NPF] Add some consts. 5 years ago
J0an Josep 96c5e5e73a Cleanup: [NPF] Remove unused parameters. 5 years ago
glx22 bb9b8eb464 Fix #7089: Close NewGRF textfile windows when their data is invalid (#7106) 5 years ago
translators 8e02b7952b Update: Translations from eints
swedish: 36 changes by Joel_A
spanish: 3 changes by SilverSurferZzZ
russian: 2 changes by Lone_Wolf
romanian: 18 changes by kneekoo
portuguese: 37 changes by vesgo
5 years ago
PeterN 23960d0f2c Feature: Group liveries, and livery window usability enhancements. (#7108)
* Change: Replace checkbox in livery selection window with Default option in drop down selection.

This reduces clutter in the UI and allows for primary/secondary colours to independently follow the default scheme if desired.

* Feature: Add vehicle group liveries.
5 years ago
glx ba38a7ca65 Fix: don't show OS error box for non GUI video drivers 5 years ago
translators 530bdf33cc Update: Translations from eints
swedish: 131 changes by Joel_A
5 years ago
Peter Nelson 67633606b0 Codechange: Remove value mangling and field misuse in SLE_WRITEBYTE.
The original translation functionality hasn't been used since 2007.
5 years ago
Peter Nelson e982b9131e Fix #7142: Missing map bounds check when building long roads. 5 years ago
nikolas 8334a57332 Fix: unicode characters in Romanian town names (#7141)
Many of these town names were using the 'a with ~ above it' character,
which should actually by 'a with u above it'. There were other missing
accents as well which I've added.
5 years ago
Peter Nelson 90c7ef96ca Fix 11ab3c4ea2f: Fix showing cargo capacity for auto-refits (missed in #7134) 6 years ago
glx 2fcd4e61db Fix: make sure strgen fails when english.txt contains invalid commands 6 years ago
translators a1c3781010 Update: Translations from eints
swedish: 13 changes by Joel_A
croatian: 7 changes by VoyagerOne
6 years ago
Peter Nelson 48fb575502 Fix 11ab3c4ea2f: Vehicles could not be refitted to cargo IDs higher than 32. 6 years ago
Nikolas Nyby 6a56a4ce84 Fix #6584: text layout problem in engine preview dialog
With language set to German, there was a problem in this dialog box due
to the long strings in this language. It looks like the call to
`GetStringHeight()` here is using `r.top` to help calculate the
max width, rather than `r.left`.
6 years ago
glx b22fbfbe3d Add: allow opening of one TextfileWindow per type 6 years ago
Peter Nelson 310fa1af88 Codechange: Rename function to match what it does and reduce code indenting. 6 years ago
Peter Nelson fe37b40385 Fix: Group hierarchy not visible in RTL languages. 6 years ago
translators 9f458ecb10 Update: Translations from eints
korean: 15 changes by telk5093
spanish: 2 changes by SilverSurferZzZ
russian: 21 changes by Lone_Wolf
spanish (mexican): 13 changes by Absay
6 years ago
Jonathan G Rennison 64f1847bec Codechange: [Linkgraph GUI] Replace line visibility detection algorithm
Use an implementation of the Cohen-Sutherland line-clipping algorithm.
The previous algorithm had an excessive false-positive rate.
Line-rendering is sufficiently expensive that using a line-clipping
algorithm with a much lower false-positive rate is a net performance
benefit.
6 years ago
Samu 9c6ac309e0 Fix #6636: Airplanes could be sent to helicopter station depots 6 years ago
glx22 b28a678436 Fix #7112, fef8b831a9: incorrect precondition check (#7127) 6 years ago
glx22 654b635f6f Fix #7122: OnClick() and DrawWidget() editability was inconsistent in AISettingsWindow (#7123) 6 years ago
translators 80c7965c65 Update: Translations from eints
belarusian: 1 change by translators
norwegian (nynorsk): 1 change by translators
chinese (simplified): 1 change by translators
serbian: 1 change by translators
czech: 1 change by translators
esperanto: 1 change by translators
chinese (traditional): 1 change by translators
portuguese (brazilian): 1 change by translators
norwegian (bokmal): 1 change by translators
swedish: 1 change by translators
lithuanian: 1 change by translators
hebrew: 1 change by translators
croatian: 1 change by translators
bulgarian: 1 change by translators
catalan: 1 change by translators
afrikaans: 1 change by translators
vietnamese: 1 change by translators
slovenian: 1 change by translators
faroese: 1 change by translators
thai: 1 change by translators
frisian: 1 change by translators
scottish gaelic: 1 change by translators
persian: 1 change by translators
korean: 1 change by translators
greek: 1 change by translators
latin: 1 change by translators
welsh: 1 change by translators
galician: 1 change by translators
japanese: 1 change by translators
english (au): 1 change by translators
italian: 6 changes by lorenzodv, 1 change by translators
urdu: 1 change by translators
french: 7 changes by glx
malay: 1 change by translators
tamil: 1 change by translators
spanish: 4 changes by SilverSurferZzZ, 1 change by translators
slovak: 1 change by translators
basque: 1 change by translators
polish: 1 change by translators
indonesian: 1 change by translators
arabic (egypt): 1 change by translators
russian: 2 changes by Lone_Wolf, 1 change by translators
hungarian: 1 change by translators
luxembourgish: 1 change by translators
romanian: 1 change by translators
irish: 1 change by translators
latvian: 1 change by translators
german: 1 change by translators
danish: 1 change by translators
spanish (mexican): 7 changes by Absay
icelandic: 1 change by translators
english (us): 1 change by translators
turkish: 1 change by translators
portuguese: 1 change by translators
ukrainian: 1 change by translators
finnish: 1 change by translators
dutch: 1 change by translators
estonian: 1 change by translators
6 years ago
Peter Nelson b60b193a6d Cleanup: Remove out of date translations for changed string. 6 years ago
Peter Nelson 6e5b90f4f7 Change: For consistency, add company name to colour scheme window. 6 years ago
Peter Nelson 256b94a03d Fix: Ignore company colour selection when showing different company's colour scheme. 6 years ago
Samu 3e0e3cfac1 Fix: Direct the aircraft to the correct location of the hangar when skipping to a go to hangar order
When manually skipping to a 'go to hangar' order in the order list, while the aircraft is flying, direct the aircraft to the correct location of the hangar.
6 years ago
Samu 2084779b5a Fix #6574: Go to takeoff if no hangar
Sends the aircraft to takeoff if the airport it's currently at, got no hangar even if the order is to go to hangar.
6 years ago
J0an Josep a5836874ef Codechange: Use track functions. 6 years ago
glx a18b0eba5b Add: more options for translators 6 years ago
translators 36e299fb6d Update: Translations from eints
croatian: 3 changes by VoyagerOne
russian: 18 changes by Lone_Wolf
6 years ago
Peter Nelson b6de8c0930 Fix #7098, Fix #7061: Inverted test led to invalid iterator access. 6 years ago
glx e76fd99c47 Fix #7007: deadlock when launched with -n switch 6 years ago
translators 9fa827ed78 Update: Translations from eints
polish: 24 changes by p0358
6 years ago
glx 255fa6e1a8 Fix: enable DPI-awareness for MINGW builds 6 years ago
Nikolas Nyby 4158c077cd Fix: Remove duplicate French and Slovak town names
I've replaced some of the duplicate real town names with new real town
names in the French and Slovak sets.

Also, some Slovak town names were missing accents, so I've fixed those.
6 years ago
Peter Nelson 225790892d Change: Make ships stop and change direction slowly instead of instantly turning. 6 years ago
Johannes E. Krause 479f13fc41 Codechange: Tweak ViewportAddLandscape so it no more relies on "go down as fast as possible" tile height model (Patch by adf88, #6583) 6 years ago
Johannes E. Krause c33596fe4a Codechange: Unify tile height model in all functions (Patch by adf88, #6583) 6 years ago
Johannes E. Krause 05da5a177c Codechange: Simplify marking tiles dirty when terraforming (Patch by adf88, #6583) 6 years ago
Johannes E. Krause f744dea0ff Fix: jumping effect when scrolling viewport over bottom edge of the map (Patch by adf88, #6583) 6 years ago
Johannes E. Krause f0290d5de7 Codechange: Add InverseRemapCoords2 function for remapping viewport coordinates to underlying tile coordinates (Patch by adf88, #6583) 6 years ago
Johannes E. Krause 43852baace Codechange: Remove unused GetTilePixelZOutsideMap and GetTileMaxPixelZOutsideMap functions (Patch by adf88, #6583) 6 years ago
translators b934cdf0ab Update: Translations from eints
italian: 7 changes by lorenzodv
6 years ago
Jonathan G Rennison 4b256fed36 Codechange: [Blitter] Adjust line-drawing algorithm to reduce wasted off-screen work
This clips the line segment to be within the screen area prior to pixel iteration.
6 years ago
Jonathan G Rennison 0240e90169 Fix: [Blitter] Avoid signed overflow when drawing long lines 6 years ago
Jonathan G Rennison db924a4681 Codechange: [Blitter] Change DrawLine to be templated
This is remove per-pixel overheads due to use of the SetPixel virtual
method.
These overheads included:
* expensive virtual method call which prevents inlining
* palette lookup for every pixel
* branch on whether palette animation is enabled on every pixel

Regenerate project files.
6 years ago
translators ed325ada88 Update: Translations from eints
spanish: 3 changes by SilverSurferZzZ
6 years ago
glx 7292591967 Add: generate_widget.vbs to allow script_window.hpp enums generation for users unable to run bash/gawk scripts 6 years ago
glx 636fcc2cc0 Fix: keep the line ending when generating widget enums with bash/gawk on windows 6 years ago
PeterN c3dbe836b4
Add: Draw network password indicator lock in company drop down list. (#7079) 6 years ago
Niels Martin Hansen 48b334cf97 Add: Houses can accept up to 16 different cargo types via NewGRF.
New Action0 property 23 for feature 07, variable length, format B n*(B B). Initial byte is number of structures following. First byte in structure is cargo id, second is acceptance level in 1/8 units.
6 years ago
J0an Josep 9ce92521c1 Fix: If screen size changes, windows are relocated and dropdown may not fit the screen. 6 years ago
J0an Josep 628af2fabc Fix #6060: When opening a scrollable dropdown above a widget, scroll it to its very bottom.
This "prevents" the fast movement towards the bottom when holding down the mouse button.
6 years ago
Juanjo 226dbcb422 Codechange #6060: Allow drawing dropdown lists with scrollbars above the widgets 6 years ago