Commit Graph

20548 Commits (389b66bd1653520cf11b3ff44dc481efb1585ace)

Author SHA1 Message Date
Peter Nelson 1ec34acb51 Fix: Truncated music-set song names cause warning log.
The music-set does not need to be selected for this to occur.

Resolved by using std::string instead of fixed buffer for song names,
which avoids manual string copying and removes the length limit.
2 years ago
PeterN 2d3250923c
Fix #10554: Let Scrollbar::SetPosition clamp instead of assert. (#10555) 2 years ago
Rubidium 1e4a89177e Fix: crashes to desktop from game scripts when companies disappear
When a game script is in company mode, it pretends to be another company. When
that company disappear (bankruptcy/merger), the game script still uses that
company and it keeps calling functions as if it is that company.

For example, ScriptEngine::IsBuildable internally dereferences Company without
checks, causing a null dereference for any ScriptEngine function when called
from a company scope of a company that has disappeared.

Guard against this by extending the ScriptCompanyScope::IsValid check to also
check for the company still being active.
2 years ago
Rubidium 717f79ff22 Add: deity mode enforcement checks to functions with command or company access
Command functions are those that call ScriptObject::Command, and functions
with company access are any that call ScriptObject::GetCompany. This is a bit
over-protective, but having the check everywhere makes it easier to validate
that no check is missing automatically instead of by review.
2 years ago
Rubidium 8d443d1379 Add: company mode enforcement checks to functions with command or company access
Command functions are those that call ScriptObject::Command, and functions
with company access are any that call ScriptObject::GetCompany. This is a bit
over-protective, but having the check everywhere makes it easier to validate
that no check is missing automatically instead of by review.
2 years ago
Rubidium 534f2419ad Add: precondition checks to functions that work with both valid company and deity
These are functions that either use ScriptObject::Command or ScriptObject::GetCompany.
This is a bit over-protective, but having the check everywhere makes it easier to
validate that no check is missing automatically instead of by review.

At this moment these checks will not do anything useful, as either IsValid or
IsDeity from ScriptCompanyMode returns true, but that will change later.
2 years ago
Rubidium a79f97c022 Change: upon an invalid company mode, set ERR_PRECONDITION_INVALID_COMPANY instead of ERR_PRECONDITION_INVALID 2 years ago
Joan Josep d80f193e74
Fix: Improve grfmessage for ShipVehicleChangeInfo. (#10558) 2 years ago
translators 4af7f3e645 Update: Translations from eints
catalan: 13 changes by J0anJosep
2 years ago
Jonathan G Rennison c74dfe393f
Fix #10556: Duplication of road infrastructure count updates (#10557)
When building a road stop
2 years ago
Rubidium 3287acd114 Fix 13528bfcd0: bank balance command allows int64, GS was limited to int32 2 years ago
Peter Nelson b6609d1833 Fix: Network server highlight invisible with RTL layout. 2 years ago
translators df2b66ad5d Update: Translations from eints
english (au): 14 changes by krysclarke
romanian: 3 changes by bnegrut
finnish: 10 changes by hpiirai
2 years ago
Rubidium 83946ca31d Codechange: use GSCompanyMode::IsValid, IsDeity, and the precondition helpers
Direct 1:1 replacements in the code, and comments now refer to either
GSCompanyMode::IsValid or GSCompanyMode::IsDeity instead of several variations
on "company mode active" or "no company mode active".
2 years ago
Rubidium cada2ca310 Add: GSCompanyMode::IsValid and IsDeity, and precondition enforcement helpers 2 years ago
translators 665a73b3c7 Update: Translations from eints
english (us): 12 changes by 2TallTyler
korean: 14 changes by telk5093
portuguese: 12 changes by azulcosta
polish: 16 changes by pAter-exe
2 years ago
glx22 ca149447d7 Codechange: Use SQInteger for generic numbers in script_window 2 years ago
glx22 f752d96125 Codechange: Use SQInteger for generic numbers in script_vehicle 2 years ago
glx22 4e48bf2e16 Codechange: Use SQInteger for generic numbers in script_town 2 years ago
glx22 18fe0a4046 Codechange: Use SQInteger for generic numbers in script_tilelist 2 years ago
glx22 cada18a6f8 Codechange: Use SQInteger for generic numbers in script_tile 2 years ago
glx22 07b73a8c02 Codechange: Use SQInteger for generic numbers in script_subsidy 2 years ago
glx22 cd80b31d19 Codechange: Use SQInteger for generic numbers in script_storypage 2 years ago
glx22 a9a55f2153 Codechange: Use SQInteger for generic numbers in script_station 2 years ago
glx22 446ebaa6b9 Codechange: Use SQInteger for generic numbers in script_road 2 years ago
glx22 4f6a2f31b5 Codechange: Use SQInteger for generic numbers in script_rail 2 years ago
glx22 cb2e76aae3 Codechange: Use SQInteger for generic numbers in script_priorityqueue 2 years ago
glx22 777b4d0987 Codechange: Use SQInteger for generic numbers in script_order 2 years ago
glx22 49ea69fdef Codechange: Use SQInteger for generic numbers in script_objecttype 2 years ago
glx22 0293fd41e5 Codechange: Use SQInteger for generic numbers in script_news 2 years ago
glx22 f22903ab14 Codechange: Use SQInteger for generic numbers in script_newgrf 2 years ago
glx22 ca67075397 Codechange: Use SQInteger for generic numbers in script_map 2 years ago
glx22 a225fda9fe Codechange: Use SQInteger for generic numbers in script_list 2 years ago
glx22 74ab9ee9dd Codechange: Use SQInteger for generic numbers in script_league 2 years ago
glx22 367b2ba6d1 Codechange: Use SQInteger for generic numbers in script_infrastructure 2 years ago
glx22 5eaf9d39bf Codechange: Use SQInteger for generic numbers in script_industrytype 2 years ago
glx22 6671994655 Codechange: Use SQInteger for generic numbers in script_industry 2 years ago
glx22 8eb35633ec Codechange: Use SQInteger for generic numbers in script_group 2 years ago
glx22 6ca8499e6a Codechange: Use SQInteger for generic numbers in script_goal 2 years ago
glx22 e784915b27 Codechange: Use SQInteger for generic numbers in script_gamesettings 2 years ago
glx22 6b8b4c392f Codechange: Use SQInteger for generic numbers in script_engine 2 years ago
glx22 2f40bf8097 Codechange: Use SQInteger for generic numbers in script_date 2 years ago
glx22 424ae74504 Codechange: Use SQInteger for generic numbers in script_companymode 2 years ago
glx22 89c0841d0a Codechange: Use SQInteger for generic numbers in script_company 2 years ago
glx22 7727323dbe Codechange: Use SQInteger for generic numbers in script_cargomonitor 2 years ago
glx22 40424601c6 Codechange: Use SQInteger for generic numbers in script_cargo 2 years ago
glx22 83826b1793 Codechange: Use SQInteger for generic numbers in script_bridgelist 2 years ago
glx22 58bf2f7176 Codechange: Use SQInteger for generic numbers in script_bridge 2 years ago
glx22 73561802cb Codechange: Use SQInteger for generic numbers in script_airport 2 years ago
glx22 b6f3552e4b Fix: [Script] Inconsistent precondition failure return values 2 years ago
glx22 e06a666fa2 Fix: remove ScriptController constructor from API documentation 2 years ago
glx22 67a4c5e0db Codechange: Use {fmt} for script_admin JSON generation 2 years ago
glx22 ce8cde3b8d Fix: [Script] Detect circular references in ScriptText 2 years ago
glx22 9a957f1d4b Change: [Script] Improve ScriptText validation error messages 2 years ago
Rubidium 8fa61533f0 Fix 30ae072: when a road type is hidden, towns may not build them even when that flag is set 2 years ago
translators e60632bce6 Update: Translations from eints
italian: 12 changes by Rivarossi
russian: 14 changes by Ln-Wolf
finnish: 2 changes by hpiirai
portuguese (brazilian): 14 changes by ericandradex
2 years ago
Rubidium 30ae07269d Fix: game scripts must not build with non-existing road types 2 years ago
dP 01ebfad809
Fix 3719f60: Crash when copying non-station orders (#10540) 2 years ago
translators 16a7bc54b3 Update: Translations from eints
finnish: 2 changes by hpiirai
catalan: 2 changes by J0anJosep
2 years ago
Jonathan G Rennison 87f4d37de3
Fix #10522: Link graph line tooltip test for vertical lines (#10524) 2 years ago
Tyler Trahan 3719f60de0 Add: Use specific error message when vehicle cannot go to station/waypoint 2 years ago
Tyler Trahan 44848f4edf Add: CommandCost supports an optional second error string 2 years ago
dP e3169c73bd
Fix: Restore using founder client name as company manager name (#10535) 2 years ago
translators ec8b2836df Update: Translations from eints
english (us): 2 changes by 2TallTyler
dutch: 2 changes by Afoklala
polish: 3 changes by pAter-exe
2 years ago
translators 58aa769282 Update: Translations from eints
vietnamese: 2 changes by KhoiCanDev
italian: 2 changes by Rivarossi
russian: 2 changes by Ln-Wolf
turkish: 3 changes by EndChapter
portuguese: 2 changes by azulcosta
2 years ago
Loïc Guilloux 2a2e51765a
Cleanup 54db96b: Left-over function declaration (#10528) 2 years ago
translators 9bdcbc5af7 Update: Translations from eints
french: 3 changes by glx22
2 years ago
Jonathan G Rennison 0e4b716815 Fix: O(N^2) cost of Station::RecomputeCatchmentForAll
Station::RemoveFromAllNearbyLists does not need to be called when
all station nearby lists have been cleared and are being regenerated.
2 years ago
Jonathan G Rennison 5d0ad5625b
Fix : [NewGRF] Object and road stop ignore property handlers (#10525)
* Fix: IgnoreObjectProperty did not handle object property 0x18

* Fix: IgnoreRoadStopProperty did not handle properties 0x0E - 0x12, 0x15
2 years ago
Zachary e17c82e32b Add: maximum number of companies allowed to the client list 2 years ago
translators 6f9b3fa964 Update: Translations from eints
chinese (traditional): 7 changes by inAndyPao
2 years ago
glx22 41b414bc1c Change: [Script] Restore support of {RAW_STRING} in ScriptText 2 years ago
glx22 991a797e09 Change: [Script] Validate ScriptText parameters type and amount 2 years ago
Rubidium 728973859d Change: [Script] Automate the ScriptObject reference counting 2 years ago
glx22 a1fc4d5c0e Codechange: [Script] Merge the 3 ScriptText param arrays 2 years ago
glx22 af15dca316 Change: [Script] Extract params info from GS strings 2 years ago
Tyler Trahan 6e52ceab96
Feature: Industry directory text filter (#10518) 2 years ago
Rubidium 1eefe1c3a0 Codechange: hide Tile(Extended) into the Tile structure 2 years ago
Rubidium 580d0a6343 Codechange: make use of Tile in for all direct map accesses 2 years ago
Rubidium 7a6452d3ef Codechange: introduce Tile class for accessing map data of a single tile 2 years ago
Rubidium 7a1816a6cd Codechange: rename Tile to TileBase to be able to introduce a new Tile class 2 years ago
Rubidium 0fb0469e47 Codechange: introduce iterator to iterate over the Tiles of a Map
Note: this version is using TileIndex, but that changes later
2 years ago
Chenshu Yu eabb9db0bb
Fix #9810: 'Rebuilding' a through road stop costs money (#9852) 2 years ago
dP b0542c8c49
Codechange: Don't store tree counter in the map array (#10018) 2 years ago
SamuXarick 6eabbaa751 Fix #10469, 5e14a20: [Script] League Table rating element is a int64 everywhere else 2 years ago
Michael Lutz aab580e0ac Codechange: [Linkgraph] Drop node/edge wrappers from LinkGraph. 2 years ago
Michael Lutz 4d3da0cf14 Codechange: [Linkgraph] Drop node/edge wrappers from LinkGraphJob. 2 years ago
Michael Lutz 7352f812e6 Codechange: [Linkgraph] Only store present link graph edges and not all possible edges. 2 years ago
Michael Lutz 178249e7cc Codechange: Saveload macros for entries with a custom table name. 2 years ago
Michael Lutz 8f851ead70 Codechange: [Linkgraph] Split annotation for demand between nodes from the edge annotations. 2 years ago
Michael Lutz 564de01d66 Remove: SmallMatrix be gone. 2 years ago
Michael Lutz fe27db3dfd Codechange: [Linkgraph] Store edges in each node and not in a global matrix. 2 years ago
Niels Martin Hansen 2fee8ecdda Add #7525: Allow autoreplace with same model vehicle 2 years ago
Jonathan G Rennison 4c1406a4b5 Add: NewGRF road stops 2 years ago
Tyler Trahan a18182e24b
Revert 92c7551: Line drawing algorithm fix broke other cases (#10497)
This reverts commit 92c755161d.
2 years ago
translators 07fbd19da3 Update: Translations from eints
luxembourgish: 8 changes by phreeze83
2 years ago
Rubidium 947a789bf6 Codechange: split large function into smaller steps and simplify logic 2 years ago
Rubidium 8cbf1be9d6 Codechange: split large function into smaller functions with self-explanatory names 2 years ago
Rubidium a409e4b026 Add: documention to large functions that have too little documentation according to CodeQL 2 years ago
translators 2561fad5d4 Update: Translations from eints
romanian: 1 change by bnegrut
2 years ago
dP c73b88ddca
Fix: Don't send unused tile field over the network (#10507) 2 years ago
Michael Lutz 9b3326e3fd Codechange: [Script] Use std::vector instead of a hand-rolled alternative. 2 years ago
Michael Lutz ca3cb4d2ef Codechange: [Script] Use a class template instead of a function template for squirrel type conversion.
Class templates allow using partial template specialization, which is useful in
case one wants to have a type conversion on a type that is itself templated.
2 years ago
translators 187d330177 Update: Translations from eints
spanish (mexican): 1 change by GNosii
2 years ago
SamuXarick b52b29b1a4 Change: Avoid crashing to the side of a train
When a road vehicle is already running on a multi level crossing, and a train shows up ahead, don't make the road vehicle crash on the side of the train.
2 years ago
SamuXarick 8351b97f52 Add: [Script] Labels for negative values of a setting 2 years ago
SamuXarick 376820c0b6 Doc: [Script] Update info descriptions 2 years ago
SamuXarick bb2ac8b3c4 Fix: [Script] Save config item values up to 10 digits + 1 for sign + 1 for termination, enough to fit min and max int 2 years ago
SamuXarick fde7028a95 Fix #10059: [Script] Let custom values on a config item be up to 10 digits + 1 for sign 2 years ago
SamuXarick 7b1fd3e37f Fix #10059: [Script] Clamp config item values to int32
Also prevent random_deviation to be below 0.
2 years ago
Nik Nyby 92c755161d
Fix #10222: Adjust line drawing algorithm (#10491) 2 years ago
translators 8778949b6a Update: Translations from eints
english (us): 1 change by nikolas
galician: 18 changes by pvillaverde
2 years ago
translators 9ade3345f7 Update: Translations from eints
english (us): 3 changes by nikolas
galician: 1 change by pvillaverde
2 years ago
translators 4a8b8807e6 Update: Translations from eints
vietnamese: 6 changes by KhoiCanDev
korean: 1 change by telk5093
2 years ago
PeterN 2376112c77
Fix #10477: Not enough space for text due to rounding down (OSX) (#10489) 2 years ago
SamuXarick 3df9321a65 Fix: Some Script::IsValidVehicle checks need to be complemented with IsPrimaryVehicle
Add: [Script] ScriptVehicle.IsPrimaryVehicle
2 years ago
glx22 3559576166 Codechange: [Script] Don't expose static buffers outside of ScriptText 2 years ago
glx22 e735370318 Change: [Script] A ScriptText with too many parameters is now a fatal error
It should never happen as adding/setting parameters already checks that anyway.
2 years ago
translators 2fdfc38da8 Update: Translations from eints
korean: 6 changes by telk5093
slovak: 8 changes by legitalk
catalan: 3 changes by J0anJosep
turkish: 5 changes by EndChapter
dutch: 1 change by Afoklala
portuguese (brazilian): 8 changes by ericandradex
polish: 2 changes by pAter-exe
2 years ago
Loïc Guilloux 4072dcff49
Fix #10486: [Script] Debug window requires AIs to be started before GS (#10487) 2 years ago
Patric Stout fdfcb09aa3 Fix #10131: actually cancel downloads when pressing cancel 2 years ago
Patric Stout dea2dea881 Fix: reset content download progress to zero if falling back to TCP
Otherwise this chain of events can happen:
- You already have a (partial) file downloaded
- You start the download, and HTTP fails
- This resets the download progress to the current size of the file
- The TCP download starts at a very large value (UINT32_MAX - filesize)

It now resets to 0% done when any negative value is being given.
As added bonus, we no longer have to query how much was already
downloaded.
2 years ago
Patric Stout 1c17556f96 Codechange: replace instance of char * with std::string 2 years ago
Patric Stout 0722bb3bf4
Change: try to detect the CA file/path for CURL (#10481)
The default is given compile-time, not run-time. So libcurl is
of no use to us.

Current list is kindly borrowed from
https://go.dev/src/crypto/x509/root_linux.go
2 years ago
Patric Stout ea90fa24f8
Codechange: move curl into a thread so simplify code (#10480)
With a thread, we can just run curl_easy_perform() and let CURL
and threads handle the blocking part.

With async solution there are too many things to keep track of,
and it makes "when to update the GUI" tricky. By using a thread
that all gets a lot simpler, as the game-thread and download-thread
run side-by-side.

This is similar to how the WinHttp backend already works.
2 years ago
translators 228b34c2bf Update: Translations from eints
english (au): 1 change by krysclarke
czech: 2 changes by jachymozo
finnish: 1 change by hpiirai
2 years ago
dP fe2c8a1240
Codechange: Decouple INDUSTRY_CTRL into separate commands (#10475) 2 years ago
frosch d7fcb420c4 Fix: compilation with libcurl from 2013. 2 years ago
translators 04847b1208 Update: Translations from eints
english (us): 1 change by 2TallTyler
portuguese: 2 changes by ppxppy
2 years ago
translators 695ce0ab09 Update: Translations from eints
swedish: 3 changes by joeax910
italian: 1 change by Rivarossi
russian: 1 change by Ln-Wolf
ukrainian: 1 change by serg-bloim
latvian: 7 changes by lexuslatvia
2 years ago
Patric Stout 64523709bf
Add: use https:// for content-service connections (#10448)
This requires the use of WinHTTP (for Windows) or libcurl (for all
others except Emscripten). Emscripten does not support http(s)
calls currently.

On Linux it requires ca-certificates to be installed, so the HTTPS
certificate can be validated. It is really likely this is installed
on any modern machine, as most connections these days are HTTPS.

(On MacOS and Windows the certificate store is filled by default)

Reminder: in case the http(s):// connection cannot be established,
OpenTTD falls back to a custom TCP-based connection to fetch the
content from the content-service. Emscripten will always do this.
2 years ago
translators 09f7f32b8d Update: Translations from eints
ukrainian: 2 changes by serg-bloim
2 years ago
Loïc Guilloux a2c8168924
Fix #10465: Delay closing of network join progress window (#10466) 2 years ago
Bilongozhko, Serhii (Contractor) 35ad964c6b Feature: Ctrl+Click to reset late counter for the entire vehicle group. 2 years ago
SamuXarick 231935fccd Change: Show buy company dialog window even when playing in the AI company 2 years ago
SamuXarick 43ce73db86 Fix: [Script] Use Money instead of int32 for presenting the value of a company to AIs 2 years ago
Loïc Guilloux 6b99b6672e
Fix: [Script] ScriptBase::Rand() return value was between -MIN(int32) and MAX(int32) (#10443)
Also ensure the parameters for ScriptBase::RandRange() and ScriptBase::Chance() are in [0-MAX(uint32)] range
2 years ago
translators 7bd475b86c Update: Translations from eints
english (au): 2 changes by krysclarke
estonian: 107 changes by RM87
romanian: 2 changes by bnegrut
finnish: 8 changes by hpiirai
dutch: 4 changes by Afoklala
portuguese: 2 changes by azulcosta
polish: 2 changes by pAter-exe
2 years ago
glx22 3278f4c7bb Fix #10280, 59645c6: Ignore double-click for unavailable town actions 2 years ago
glx22 d6aa526b69 Fix #10461, 59645c6: Properly check for _local_company validity 2 years ago
translators 59251d3c6b Update: Translations from eints
english (us): 2 changes by 2TallTyler
estonian: 110 changes by RM87
czech: 5 changes by jacobczsk
italian: 11 changes by Rivarossi
russian: 2 changes by Ln-Wolf
2 years ago
translators b083584649 Update: Translations from eints
arabic (egypt): 30 changes by AviationGamerX
portuguese: 1 change by azulcosta
2 years ago
Tyler Trahan f12498b633
Add: Show NewGRF name in NewGRF-created errors (#10457) 2 years ago
translators 0c36e4a771 Update: Translations from eints
english (au): 1 change by krysclarke
english (us): 1 change by 2TallTyler
vietnamese: 2 changes by KhoiCanDev
luxembourgish: 5 changes by phreeze83
catalan: 3 changes by J0anJosep
french: 11 changes by ZarTek-Creole, 5 changes by glx22
2 years ago
dP b5bc001d42
Codechange: Swap comments for CommandHelper::Post overloads (#10454) 2 years ago
translators cb2944205c Update: Translations from eints
english (au): 4 changes by krysclarke
swedish: 16 changes by joeax910
english (us): 2 changes by 2TallTyler
chinese (simplified): 2 changes by XiaoJi-Game
hebrew: 3 changes by Boltyansky
romanian: 10 changes by kneekoo
russian: 5 changes by Ln-Wolf
portuguese: 2 changes by azulcosta
polish: 4 changes by pAter-exe
2 years ago
translators 7c998d46bd Update: Translations from eints
spanish (mexican): 22 changes by VMMF
chinese (simplified): 2 changes by XiaoJi-Game
turkish: 2 changes by EndChapter
2 years ago
glx22 b080f24bd8 Codechange: move windows common to AI and GS out of ai_gui 2 years ago
glx22 78e3c93a25 Fix: caption for GS settings window opened from debug window 2 years ago
glx22 cef9931e53 Cleanup: GS don't have "start_date" 2 years ago
translators 6aafccfb22 Update: Translations from eints
korean: 2 changes by telk5093
spanish: 2 changes by MontyMontana
portuguese: 2 changes by azulcosta
2 years ago
translators b364b41768 Update: Translations from eints
english (us): 2 changes by 2TallTyler
finnish: 2 changes by hpiirai
catalan: 2 changes by J0anJosep
dutch: 2 changes by Afoklala
2 years ago
translators e41af1f2bb Update: Translations from eints
portuguese (brazilian): 8 changes by ericandradex
2 years ago
SamuXarick 1f194eb94e
Fix: [Script] Incorrect value for GOAL_INVALID (#10436)
* Fix: [Script] Incorrect value for GOAL_INVALID

* Cleanup: Remove unused static variable
2 years ago
Rubidium bf8b32d193 Change: explicitly allow initial loan of 0, however show warning in UI 2 years ago
Rubidium b7b7c11b90 Change #10077: make maximum loan a positive multiple of the loan interval
And set the minimum maximum loan to the value of loan interval, so there is
always an amount of money to lend. Compared to being allowed to set max loan
to 0 and never be allowed to lend any money.
2 years ago
SamuXarick d0639cdc28 Fix: [Script] Incorrect subsidy SourceID value used 2 years ago
SamuXarick 4fc4874a30 Add: [Script] Let random road layout be a choice 2 years ago
SamuXarick 184ff92057
Cleanup: [Script] Pass new_rating directly to CmdTownRating (#10441) 2 years ago
translators 654a77c4f7 Update: Translations from eints
luxembourgish: 21 changes by phreeze83
2 years ago
Rubidium 31869501ee Fix: make script goals work with the whole range of ClientIDs 2 years ago
translators 1897e98c3d Update: Translations from eints
slovak: 10 changes by legitalk
2 years ago
Michael Lutz 05ed9f56fd Feature: [NewGRF] Engine name callback. 2 years ago
Michael Lutz 2d73076056 Add: [NewGRF] Second vehicle property for additional callback flags. 2 years ago
Michael Lutz f5394ed2ef Change: [NewGRF] Extend the D8xx (DCxx) string area up to FFFF.
This adds the Exxx and Fxxx blocks to the usable range for NewGRF
local strings. TTDPatch uses these ranges for internal strings, but as
we don't support any of them anyway, it is "free" real estate for us.
2 years ago
translators 43657cf65d Update: Translations from eints
chinese (traditional): 9 changes by wpi3
2 years ago
Loïc Guilloux 07b40c02fe
Fix #10361, fe30f66: Don't try to give saved data to a dead script (#10433) 2 years ago
Jonathan G Rennison 9c915f05ec Fix: Water infrastructure accounting when building docks 2 years ago
Jonathan G Rennison b82bcac3cd Fix #10419: Water infrastructure accounting when building ship depots 2 years ago
Rubidium 4e65ec1dc4 Codechange: do not declare functions in blocks 2 years ago
translators 5a4f0498fe Update: Translations from eints
hebrew: 6 changes by haimlm
catalan: 4 changes by J0anJosep
turkish: 7 changes by ahmetlii
2 years ago
Rubidium 8be908c919 Fix #10430, Fix 6ba55e6: display chain window causing assert 2 years ago
rubidium42 6ba55e663e Codechange: do not hide variables with other variables 2 years ago
rubidium42 1951af07c0 Codechange: do not hide parameters with local variables 2 years ago
Rubidium f001e84e5e Codechange: use RAII to automatically restore _cur_dpi after use 2 years ago
Rubidium b7a5d8e296 Codechange: add annotation to selectively force inlining in debug build 2 years ago
SamuXarick df89c34e03
Fix 7e1e275: Measure AI Collect Garbage performance (#9924) 2 years ago
translators 4a58d197ee Update: Translations from eints
japanese: 26 changes by Azusa257
vietnamese: 4 changes by KhoiCanDev
chinese (simplified): 4 changes by XiaoJi-Game
french: 8 changes by glx22
2 years ago
Rubidium 04d10b3d2d Codechange: instead of global pointer to stack variable, just put variable in that global
Removes one indirection and a dangling pointer to a stack location
2 years ago
Rubidium d51d08ddcb Codechange: put stack variables in global variables for gamelog/crashlog 2 years ago
Rubidium ed7685910d Codechange: pass large objects by reference instead of value
Especially when they get passed on directly to the next function or via a
constructor into an instance variable
2 years ago
translators dbc666905d Update: Translations from eints
czech: 10 changes by jacobczsk
dutch: 4 changes by Afoklala
2 years ago
Rubidium 7e1d272397 Cleanup: remove unused static variables 2 years ago
Rubidium 00721787e1 Fix: wrong type for INVALID_LINK_GRAPH_JOB 2 years ago
Rubidium 755e41de9f Codechange: make rounding code clearer
-O1 already optimizes it to the original hand optimized magic code
2 years ago
Rubidium 71b46db8d0 Cleanup: remove commented out code 2 years ago
Rubidium 5863d78cb4 Codechange: use commented out code, or guard by #ifdef 2 years ago
Rubidium ae422be979 Cleanup: remove/replace trailing ; with . in comments 2 years ago
Henry Wilson 0b2567d882 Codechange: Remove shift as fast-forward key when _DEBUG is defined 2 years ago
SamuXarick 46dc6da270
Codechange: Make void tiles flood edge tiles, instead of edge tiles flooding themselves (#8517) 2 years ago
Peter Nelson ede1201b6a Codechange: Rename override manager variables. 2 years ago
Peter Nelson bcc53c5ad5 Codechange: Add missing `this->` in override manager.
Variable scope is also tweaked in a couple of cases reducing line count.
2 years ago
Peter Nelson eedb786872 Codechange: Use vector for NewGRF spec overrides.
This replaces C-style memory management.
2 years ago
translators 07940726d3 Update: Translations from eints
korean: 4 changes by telk5093
2 years ago
Rubidium 2fd99467ea Fix: scripts are not aware of nullptr, they only know null 2 years ago
Rubidium f9a473bef7 Fix: missing/duplicate documentation tags for scripts 2 years ago
Rubidium 3112b387e7 Fix: warnings about obsolete settings/setting values in Doxygen configurations 2 years ago
Rubidium 41fa94bc56 Fix: scripts cannot call constructors of ScriptEvents, so remove from the documentation 2 years ago
merni-ns 2d0c1ffdb7
Change #10255: Reduce basic thickness of linkgraph GUI lines (#10410)
From 3px to 2px (multiplied by UI scale).
2 years ago
translators 01a2449489 Update: Translations from eints
finnish: 8 changes by hpiirai
polish: 4 changes by pAter-exe
2 years ago
PeterN 4dfd6a096f
Fix #10220: Don't select unselectable engine as default. (#10404) 2 years ago
translators 97844df123 Update: Translations from eints
spanish: 4 changes by MontyMontana
2 years ago
Tyler Trahan 9c5de7fd72
Fix #10395: When loading old saves, don't forcibly bar level crossings (#10400) 2 years ago
Rubidium 8aeef665c7 Fix #10377, Fix 94167df: bad sorting of rail vehicles when primary variant is missing 2 years ago
translators 7d502e2857 Update: Translations from eints
english (us): 4 changes by 2TallTyler
romanian: 10 changes by bnegrut
russian: 4 changes by Ln-Wolf
portuguese: 4 changes by azulcosta
2 years ago
SamuXarick b2a5ebcfc4
Fix 3c047b1: AIGroup.GetProfitLastYear could get values different than those displayed in GUI (#10227)
* Change: Store "all time" and "since minimum age" last year profits on groups

* Fix: Update last year profit for groups when copying vehicle statistics on autoreplace

* Codechange: Refactor profit last year

* Change: Rename some group related items for clarity

* Change: Reorder the fields in GroupStatistics

That way less memory gets wasted.
2 years ago
translators 8b5fa2cc7b Update: Translations from eints
english (au): 4 changes by krysclarke
2 years ago
Rubidium 7cdc23fd64 Codechange: hide the map's size related fields in the Map structure 2 years ago
Rubidium de6bc8e692 Codechange: move TILE_MASK to Map::WrapToMap 2 years ago
Rubidium fe2bcd2a58 Codechange: migrate size related functions to Map structure 2 years ago
Rubidium d481f78b24 Codechange: add map size related functions to Map structure 2 years ago
Rubidium 9c1a3b17e3 Codechange: use MapLogY() instead of FindFirstBit(MapSizeY()), MapSize() instead of MapSizeX() * MapSizeY() 2 years ago
Rubidium 22d3de8b67 Codechange: use ScriptMap size functions instead of global functions 2 years ago
Rubidium 953445a5ac Codechange: use MakeSea/AllocateMap in the oldloader instead of MemSetT 2 years ago
Andy 3b0b572ebf
Change: Log AI/GS Squirrel crashes in white text for readability (#10375) 2 years ago
translators 5eb2e0fd3d Update: Translations from eints
dutch: 4 changes by Afoklala
2 years ago
Francis Herne 01be423237 Fix #10362: NewGRF bridges without speed limits.
For bridges, a max speed of 0xFFFF (i.e. no effective limit)
 is no longer displayed as a limit in the UI.

A max speed of 0 is also considered unlimited, for similarity to the
 roadtype and railtype interface.
2 years ago
translators 3c80f2d14a Update: Translations from eints
english (au): 6 changes by krysclarke
chinese (simplified): 3 changes by XiaoJi-Game, 1 change by ZZY2357
arabic (egypt): 11 changes by AviationGamerX
korean: 3 changes by telk5093
indonesian: 8 changes by K4smun1
2 years ago
translators 83d5e681fc Update: Translations from eints
vietnamese: 6 changes by chupper100
italian: 4 changes by Rivarossi
tamil: 10 changes by merni-ns
2 years ago
PeterN 5801442780
Fix: Switch to OWNER_TOWN prevented OWNER_DEITY test during industry prospecting. (#10360) 2 years ago
Rubidium 8d8519c3f6 Fix #10368, Fix 994bf19: server restarting game caused clients to hit assertion
Upon closing the EndGameWindow, triggered from UnInitWindowSystem, the
HighScoreWindow would be opened and _z_windows would not be empty.
2 years ago
translators dcc06f44bc Update: Translations from eints
english (us): 6 changes by 2TallTyler
catalan: 6 changes by J0anJosep
spanish: 5 changes by MontyMontana
portuguese: 4 changes by azulcosta
polish: 4 changes by pAter-exe
2 years ago
translators 8a6f4c22c9 Update: Translations from eints
finnish: 2 changes by hpiirai
french: 2 changes by glx22
portuguese: 2 changes by azulcosta
portuguese (brazilian): 2 changes by ericandradex
polish: 2 changes by pAter-exe
2 years ago
Tyler Trahan dbf69fde53
Fix #10363: CargoDist setting helptext shouldn't suggest symmetric distribution for diamonds in subtropic (#10364)
* Fix #10363: CargoDist setting helptext shouldn't suggest symmetric distribution for diamonds in subtropic

* Fix: Always capitalize the first word of a sentence, even if a quoted setting name
2 years ago
translators 750d89d37b Update: Translations from eints
russian: 2 changes by Ln-Wolf
turkish: 2 changes by EndChapter
2 years ago
Rubidium a4a819c983 Fix #9865: removing files with the console always failed 2 years ago
Rubidium 1ed0b35520 Fix #10009: bad overflow protection when taking out loans 2 years ago
PeterN 2355882ec1
Codechange: Remove object `enabled` flag and shuffle members. (#10358)
`enabled` flag is replaced with IsEnabled() which checks if views is
non-zero.

ObjectSpec is shuffled to reduce its memory footprint.
2 years ago
Rubidium 8f9a60893d Fix #10177: company list password padlock showed after switching to single player 2 years ago
Rubidium c578917783 Fix #10057: FallbackParagraphLayout fails to properly wrap
... during the first word after a new run has been started.
2 years ago
SamuXarick 96ec9908a0
Codechange: refactor removal of desert around river tiles 2 years ago
Rubidium 20a9e13272 Fix: inconsistent definition of copy constructor and assignment 2 years ago
Rubidium 6dfd2cad69 Fix: comparison result is always the same warnings 2 years ago
PeterN b4f0450974
Change: Display font status as aa/noaa instead of true/false. (#10352) 2 years ago
Rubidium 921c6591f9 Codechange: do not use interactive random anymore for script configuration 2 years ago
Rubidium c5ff61c5f2 Add: script specific Randomizer instances 2 years ago
Rubidium 6abad681bd Codechange: move choice for randomizer of scripts to a single location 2 years ago
Rubidium 3373128233 Codechange: pass the randomizer directly to the town name generation 2 years ago
Rubidium b3b8c3fd2d Codechange: pass the randomizer to use directly to the company face generation 2 years ago
Peter Nelson 8149ba338f Change: Check glyph size before trying to render it.
This change of order ensures that the "Font glyph is foot large" occurs
even if the glyph is too large for an alloca() allocation.
2 years ago
Peter Nelson fa0c67b10a Change: Remove guess-work from calls to GetGlyphOutline().
This API method is intended to be called twice, so don't attempt to guess
the required size.
2 years ago
Peter Nelson 5370e910d3 Change: Use std::vector for fallback font list. 2 years ago
Rubidium 90f1768006 Codechange: add non-nullptr asserts in cases where it should never be nullptr
Though where similar calls are checked for nullptr as in those instances of
the use of that function it can actually return nullptr. In other words, write
down the assumption that the function never returns nullptr in an assert.
2 years ago
Rubidium bcfe0fb076 Codechange: introduce GetMainWindow() to properly account for nullptr checks
Some nullptr checks have been removed as they were not triggered with nullptr
with the null video driver and in dedicated server mode.
2 years ago
Rubidium 9c70c38c5e Fix: check for the existence of shadow and rotor vehicles for aircraft
Instead of just assuming that it exists in the savegame that got loaded.
2 years ago
translators 5ddfd38de6 Update: Translations from eints
norwegian (bokmal): 1 change by buzzCraft
2 years ago
Jonathan G Rennison 10e76b2788 Fix #10032: Capacities of articulated vehicles in build window
See also: #9954
2 years ago
Tyler Trahan 07fba75238
Fix: Various Wide River issues (#10348) 2 years ago
Tyler Trahan 2206c73156
Feature: Set a custom number of industries in map generation window (#10340) 2 years ago
Tyler Trahan 5c64cdcb79
Feature: Press Ctrl to build a diagonal area of trees (#10342) 2 years ago
Rubidium b951332def Codechange: use smart pointers when creating StringIterators 2 years ago
Rubidium b35c791d05 Codechange: use smart pointers when cloning iterators 2 years ago
Rubidium f667a831a5 Codechange: unify creation of diagonal/orthogonal iterator using smart pointers 2 years ago
PeterN 6a0d1c7c19
Fix: Link variants to parents when finalising engines. (#10346)
This ensures that definition-order of engines within the NewGRF does not matter.
2 years ago
Tyler Trahan dced2d8c30
Fix #10333, c53f29d: Only show industry prospecting errors to local company (#10338) 2 years ago
translators b05c21203a Update: Translations from eints
arabic (egypt): 20 changes by AviationGamerX
2 years ago
Tyler Trahan 5a2907a99f
Change: Remove land generator setting from World Generation GUI (#10093) 2 years ago
translators 80322b85c2 Update: Translations from eints
swedish: 7 changes by joeax910
japanese: 17 changes by scabtert
luxembourgish: 14 changes by phreeze83
lithuanian: 80 changes by devastatorius
2 years ago
PeterN 09a32f2ce1
Fix #10335: Set initial scrollbar count for object GUI. (#10336)
This previously happened when the window was resized by itself which was fixed by #10196. Explicitly set the count instead.
2 years ago
translators 70157b2ad5 Update: Translations from eints
luxembourgish: 3 changes by phreeze83
hebrew: 125 changes by haimlm
2 years ago
translators 9d13213c61 Update: Translations from eints
spanish (mexican): 3 changes by absay
2 years ago
translators 81c5c16477 Update: Translations from eints
galician: 1 change by NicoSGF64
romanian: 8 changes by ALEX11BR
2 years ago
PeterN c18a171028
Fix #10331: Starting new company during load must happen after AI start. (#10332)
This situation occurs when loading a savegame in single-player which only
has AI companies.
2 years ago
translators 7460fdb298 Update: Translations from eints
chinese (simplified): 7 changes by HansKaffee
turkish: 13 changes by rustoocas
2 years ago
Rubidium 46dfb309bc Fix #10309: [SDL] Uninitialized width and height when turning off full screen 2 years ago
translators 29af0f8c7b Update: Translations from eints
swedish: 18 changes by joeax910
chinese (simplified): 2 changes by HansKaffee
romanian: 3 changes by ALEX11BR
slovak: 15 changes by legitalk
tamil: 21 changes by Aswn
2 years ago
Rubidium 0251786f46 Fix: virtual call from constructor
That fills an instance variable that is only read from the Game Options window
and that is overwritten when the video driver is started. Since you cannot get
into the Game Options window without starting the video driver, it is just
pointless and wrong code that would never be noticed by the end user.
2 years ago
Rubidium c1ff471c77 Fix: bad oddness checks
Modulo on a signed number returns negative values for negative values, so
i % 2 == 1 will only return true for positive odd numbers, whereas i % 2 != 0
returns true for both positive and negative odd numbers.
2 years ago
Rubidium f7af9a299a Codechange: prevent suspicious pointer scaling 2 years ago
Rubidium 170f37d07f Codechange: silence some potentially uninitialized local variable errors
In these cases technically they are false positives, however dismissing the
alerts when the underlying code may make them true positives does not seem
like the safest solution.
2 years ago
Rubidium 496ec1f012 Fix: use reference and array indexing to prevent suspicious pointer scaling 2 years ago
Rubidium fbd0f5ad7d Fix: inconsistent allocation error handling
Mix-and-matching std::bad_alloc exception handling with nullptr checks
2 years ago
Rubidium 3c54344825 Fix: comparison of narrow type with wide type in loop condition
Technically this can't be triggered with the currently returned values though.
2 years ago
Charles Pigott e00996a18a
Change: Big UFO disaster targets current location of a random train (#10290) 2 years ago
PeterN 1b1aa682a6
Fix: Don't assume engclass 2 should be elrail. (#10315)
When disabling/enabling elrail, there is an assumption that `engclass` of 2
means the engine will run on elrail. While this holds for default engines,
NewGRFs can do other things.

To resolve this we store the intended railtype so that toggling elrail will
restore to the correct type.
2 years ago
Rubidium 51049946d1 Fix: prevent corrupted GRF files to allocate stupid amounts of memory 2 years ago
translators 58068883f8 Update: Translations from eints
swedish: 33 changes by joeax910
arabic (egypt): 11 changes by AviationGamerX
luxembourgish: 3 changes by Gubius
greek: 85 changes by SStelioss
indonesian: 55 changes by indrabagus, 20 changes by K4smun1
serbian: 527 changes by nkrs
latvian: 82 changes by lexuslatvia
polish: 2 changes by pAter-exe
2 years ago
Rubidium 752cd5c0da Cleanup 84b71f7: remove G5 detector as it's not referenced anymore
The last supported Mac OS X for G5 is 10.5.8 and support for < 10.7 has already been removed.
2 years ago
Rubidium 375a5b8e3f Codechange: refactor FindClosestDepot to not use pointers, but return a struct 2 years ago
translators b3907b1359 Update: Translations from eints
swedish: 39 changes by DonaldDuck313, 9 changes by joeax910
chinese (traditional): 62 changes by wpi3
greek: 8 changes by SStelioss
indonesian: 29 changes by indrabagus
serbian: 528 changes by nkrs
ukrainian: 82 changes by StepanIvasyn
turkish: 4 changes by jnmbk
french: 19 changes by glx22
2 years ago
Rubidium a0694759a1 Fix: do not allow more palette colours than there are indices for the colours
Or: do not pass unchecked size from BMP file into memory allocation
2 years ago
translators 3af2c7fff6 Update: Translations from eints
swedish: 9 changes by joeax910
norwegian (bokmal): 7 changes by buzzCraft
chinese (traditional): 48 changes by wpi3
galician: 98 changes by pvillaverde
vietnamese: 13 changes by myquartz
czech: 42 changes by vladoschreiner, 40 changes by PatrikSamuelTauchim, 19 changes by adamek0202, 3 changes by LubosKolouch
chinese (simplified): 52 changes by HansKaffee
luxembourgish: 148 changes by phreeze83
hungarian: 50 changes by PstasDev, 23 changes by baliball
german: 69 changes by Wuzzy2, 4 changes by Luensche
romanian: 3 changes by kneekoo
ukrainian: 45 changes by StepanIvasyn
catalan: 12 changes by J0anJosep
turkish: 9 changes by Anceph
french: 1 change by Athozus
portuguese (brazilian): 9 changes by ericandradex
2 years ago
Patric Stout 1fb101eabb
Codechange: address CodeQL issue "Multiplication result converted to larger type" (#10306)
Most are very unlikely to ever be triggered in our codebase; two
stand out: linkgraph and money cheat. Those, potentially, could
wrap earlier than expected.
2 years ago
translators fcbe390353 Update: Translations from eints
dutch: 10 changes by Afoklala
polish: 33 changes by pAter-exe
2 years ago
Loïc Guilloux 91ca088065
Fix #10304, fe30f66: [Scripts] Don't start GS in intro (#10305) 2 years ago
Michael Lutz 150f05dc15
Change: Heading for 14 now. (#10302) 2 years ago
PeterN 5e22788664
Fix #10220: Adding unavailable variants failed for non-rail engines. (#10297)
Unavailable parent variant engine for non-rail engines was added to the
wrong (temporary) list so the hierarchy was not added correctly.
2 years ago
translators 22035b7eab Update: Translations from eints
english (us): 10 changes by 2TallTyler
chinese (simplified): 1 change by lysinelai
korean: 13 changes by telk5093
catalan: 1 change by DiogoMCampos
2 years ago
Charles Pigott 67f02e20de
Change: Display text files in black (#10291) 2 years ago
glx22 012fd2be0d Codechange: Suppress warnings when asserts are disabled 2 years ago
translators f90156f74c Update: Translations from eints
romanian: 2 changes by bnegrut
spanish: 2 changes by MontyMontana
2 years ago
translators 918b2cb3ee Update: Translations from eints
english (au): 10 changes by krysclarke
italian: 3 changes by Rivarossi
russian: 3 changes by Ln-Wolf
finnish: 3 changes by hpiirai
spanish: 15 changes by MontyMontana
portuguese: 6 changes by azulcosta
portuguese (brazilian): 2 changes by DiogoMCampos
2 years ago
Loïc Guilloux fe30f66570
Fix #9720: Delay start of GS/AI to after loading of savegame (#9745) 2 years ago
PeterN f7e2b6ef12
Change: Make vehicle list dropdown buttons resize to fit strings. (#10286) 2 years ago
Francis Herne 6caed5f15e
Add: Slope-aware and roadtype-specific one-way sprites. (#10282) 2 years ago
translators 7a18631291 Update: Translations from eints
italian: 10 changes by bagnacauda
romanian: 91 changes by bnegrut
russian: 6 changes by Ln-Wolf
finnish: 9 changes by hpiirai
portuguese: 8 changes by azulcosta
2 years ago
PeterN 9e56e16147
Fix: Local authority window rating list height ignored icon sizes. (#10285)
Only font height was taken into account, so the list was broken if icon
sizes were taller than font height.
2 years ago
PeterN 961e66df30
Fix #10224: Don't fiddle with fast-forward when saving. (#10230)
The original comment about saving with fast-forward on was written 18 years
ago, and predates lots of changes to how saveload work.
2 years ago
PeterN 4f26f6b8aa
Cleanup: Simplify GRFLabel linked-list with std::vector. (#10284) 2 years ago
Daniel Robinson c53f29df53
Fix #10181: Show error message on failed industry prospecting (#10202) 2 years ago
Didac Perez Parera 35d55bd534
Feature: Expand all towns in the scenario editor (#10215) 2 years ago
Tyler Trahan 4ffe7e0477
Fix #10198: Rearrange Intro GUI to make button rows narrower (#10203) 2 years ago
Tyler Trahan 8063fcb6e0
Feature: Ctrl-click to bulk edit timetable speeds/waiting times (#10265) 2 years ago
Peter Nelson efa20dd969 Change: Support engine property 0xC6 in purchase list. 2 years ago
Peter Nelson cbf48c4dd9 Change: Add extra random seed to StartupEngines().
This means that calling reset_engines will rerandomise introduction dates
and reliability.

Probably not necessary.
2 years ago
Peter Nelson 74180efe7f Change: Attempt to improve randomisation of reliability 2 years ago
Peter Nelson 3485709f53 Add: Additional vehicle flags to control variants. 2 years ago
Peter Nelson 898dadadb2 Change: Mark build/autoreplace windows dirty less often in monthy loop.
These window classes were marked dirty for every engine that had
reliability calculated every month.
2 years ago
Peter Nelson 85814b29d4 Feature: Vehicle add-ons can now group engines in purchase list.
Grouped engines are collapsed by default but can be expanded. This allows
similar engines to be grouped together to avoid cluttering the list.

Suggested uses for this are e.g.:
* Liveries; same stats but different paint job.
* Re-gearing; engine design is mostly the same but different stats.

... but avoiding complex hidden cargo subtype refit systems.

Grouped engines are otherwise separate, so can be independently
autoreplaced, even between variants.
2 years ago
peter1138 94167dfd34 Change: Add variant hierarchy to build vehicle window list. 2 years ago
Peter Nelson c11db7d593 Change: Clear last variant when engine becomes unavailable. 2 years ago
peter1138 d7f561a400 Change: Add variant property to engines. 2 years ago
PeterN c8cc61d889
Fix #10150: Force FS_SMALL for small viewport signs. (#10283)
* Fix #10150: Force FS_SMALL for small viewport signs.

This is a workaround for string widths being different with mixed
font-sizes.

* Fix: Flag small sign shadow as small text.

(This method of drawing shadows is hilarious and needs replacing, but
this is a quick fix.)
2 years ago
PeterN 23eec0b7b3
Fix #8971: Resize QueryStrings with interface scale change. (#10281)
* Fix: Use width of caret symbol '_' for text entry.

This replaces an arbitrary pixel width with the space actually required.

* Fix #8971: Update QueryString sizes with interface scale change.
2 years ago
translators 3451c0a82c Update: Translations from eints
russian: 3 changes by Ln-Wolf
latvian: 21 changes by lexuslatvia
dutch: 3 changes by Afoklala
portuguese: 3 changes by azulcosta
portuguese (brazilian): 13 changes by ericandradex
2 years ago
glx22 04ee86d3ac Add: 'font' console command to configure fonts 2 years ago
glx22 e6c857cdba Codechange: [windows] cache the actually loaded font name 2 years ago
glx22 af3df959c2 Codechange: reduce code duplication 2 years ago
PeterN 7b5edba76c
Change: Support flipping shorter engines without NewGRF support. (#10262)
* Change: Support flipping shorter engines without NewGRF support.
* Cleanup: Remove write-only prop27_set temporary flag.
2 years ago
Peter Nelson a971eee2e0 Cleanup: Replace foundation drawing magic numbers.
Use TILE_SIZE or TILE_HEIGHT as appropriate instead.
2 years ago
Peter Nelson 138198e971 Change: Separate ground sprite from foundation sprite offsets. 2 years ago
Peter Nelson 002fe67bef Add: Optionally disable child sprites drawing relative to parent sprites offsets. 2 years ago
Jonathan G Rennison 14c1266bbc Fix: Wrong type cast for selected AI/GS script info in AIListWindow
This resulted in technically undefined behaviour when listing GSs
2 years ago
Jonathan G Rennison d4c530904c Fix #10274: Use after free when rescanning scripts with GS selected 2 years ago
PeterN f6e7e44169
Fix #10151: Use smaller padding for viewport signs. (#10272)
Before variable-scaling, the padding was always 1x1 pixel. This was
changed to be scaled, except using the wrong dimension of 2x1 pixels
instead of 1x1 pixel.
2 years ago
Loïc Guilloux c179c10048
Fix #10263, ccefa76: [scripts] restore tile validation for commands (#10269) 2 years ago
translators a857ed8240 Update: Translations from eints
finnish: 13 changes by hpiirai
spanish: 1 change by MontyMontana
2 years ago
PeterN c962c77306
Fix: Incorrect available height for dropdowns due to unsigned promotion. (#10264)
Dropdowns which are taller than the main window should automatically have
a scrollbar added. This did not work for toolbar dropdown as the location
near the top of the window resulted in an unsigned underflow.
2 years ago
PeterN 03c1b5169c
Fix #10260: Incorrect rect height drawing image in vehicle details. (#10261) 2 years ago
PeterN dde15a403c
Fix #10257: Incorrect wire position on sloped bridge heads. (#10258) 2 years ago
translators 2012998563 Update: Translations from eints
finnish: 3 changes by hpiirai
2 years ago
translators e5720325ff Update: Translations from eints
english (au): 3 changes by krysclarke
english (us): 3 changes by 2TallTyler
2 years ago
Peter Nelson daaa058493 Change: Vertically centre sprite font relative to TrueType font. 2 years ago
Peter Nelson 8599041ce4 Fix: GetDefaultFontHeight() is static, don't use -> 2 years ago
translators 888c9172e0 Update: Translations from eints
spanish (mexican): 3 changes by absay
korean: 1 change by telk5093
2 years ago
PeterN 1eecbd39ed
Change: Use lowered not disabled widget for current tab. (#10252)
While tab-buttons are not often used, all other similar occurences use
lowered rather than disabled widgets, so use them for train detail
window too.
2 years ago
Peter Nelson 5eb7e1d3ab Fix: Improve sprite aligner list size and alignment. 2 years ago
Peter Nelson 8adc47858d Change: Set minimal size on aligner buttons. 2 years ago
Peter Nelson 33eb9688cf Add: Sprite centre and crosshair toggles on sprite aligner. 2 years ago
Loïc Guilloux c50fabb574
Fix #10208: allow to use specific underlay for road/tram tunnels (#10233) 2 years ago
PeterN 131b7f5127
Fix: Vertically centre chat prompt. (#10250) 2 years ago
2TallTyler 0116a422ea Cleanup: Refactor Wide Rivers code slightly 2 years ago
2TallTyler d67259334a Fix #10218: Sloped river tiles need water both up and downstream 2 years ago
Jonathan G Rennison c7d7658004 Fix #10214: CMD_CREATE_LEAGUE_TABLE did not set CMD_STR_CTRL 2 years ago
Jonathan G Rennison 1a05e95945 Fix #10214: League and graph buttons in toolbar not having a default action 2 years ago
Jonathan G Rennison e0cb31ff07 Fix #10214: Header and footer missing from league table saveload 2 years ago
Loïc Guilloux 4f9893cc98
Fix 55a1171: Restore skipping of "colour" character (#10244) 2 years ago
PeterN c448eb04d8
Fix #10242: Allow a space for text shadow when clipping WWT_EMPTY/WWT_TEXT. (#10243) 2 years ago
Loïc Guilloux 2848483810
Fix #10206: Disable scripts in intro game (#10241) 2 years ago
Eddi-z 8db4892f49
Codechange: Reshuffle debuglevels in fileio to address spammyness (#10240) 2 years ago
translators ac12028278 Update: Translations from eints
spanish: 2 changes by MontyMontana
portuguese (brazilian): 86 changes by ericandradex
2 years ago
translators 7e7e1183cf Update: Translations from eints
finnish: 1 change by hpiirai
2 years ago
translators fd5de3b366 Update: Translations from eints
spanish (mexican): 7 changes by absay
romanian: 5 changes by bnegrut
finnish: 108 changes by hpiirai
2 years ago
translators 49c121ec29 Update: Translations from eints
vietnamese: 38 changes by KhoiCanDev
2 years ago
PeterN daacde4496
Fix #10147: Sound effect volume slider no longer set volume. (#10228) 2 years ago
translators 2756741575 Update: Translations from eints
italian: 11 changes by Rivarossi
2 years ago
translators 5cef40591b Update: Translations from eints
slovak: 2 changes by legitalk
2 years ago
Michael Lutz d5fc423793 Fix #10223: Crash when vehicle cloning fails on order cloning. 2 years ago
translators 985f487065 Update: Translations from eints
spanish: 1 change by MontyMontana
2 years ago
PeterN 53b827c460
Fix: Maximum space for engine preview image was never scaled. (#10219) 2 years ago
Loïc Guilloux 13d2d11fa8
Fix #10216: Initialise RoadStop caches before using them and don't try to teleport crashed vehicles (#10217) 2 years ago
translators 2c5eb206d4 Update: Translations from eints
vietnamese: 39 changes by KhoiCanDev
spanish: 2 changes by MontyMontana
2 years ago
Michael Lutz 1c205b2cda Fix #10212: [Script] Nested ScriptAccounting scopes are not restored properly. 2 years ago
PeterN 1131608eb4
Fix #10114: Incorrect drag-highlight position with non-power-of-2 scaling. (#10211) 2 years ago
translators 644012dea2 Update: Translations from eints
dutch: 7 changes by Afoklala
2 years ago
translators a7f78af4aa Update: Translations from eints
chinese (simplified): 3 changes by XiaoJi-Game
2 years ago
PeterN 485368f607
Fix: Missing extra padding when drawing tooltip text. (#10201)
* Fix: Missing extra padding when drawing tooltip text.

This padding is included when calculating the size of the tooltips, the
difference caused a mismatch in height for some tooltips.

* Codechange: Don't draw grey panel underneath tooltip.

This removes the default framerect padding so it is now added explicitly.
SetMinimalSize is also removed as this is overridden in UpdateWidgetSize
anyway.
2 years ago
translators 3100c6e7d0 Update: Translations from eints
chinese (simplified): 30 changes by XiaoJi-Game
2 years ago
PeterN 387c57b023
Fix eb4ba1991: Signal icons incorrectly positioned in UI. (#10199) 2 years ago
translators 41c893dd4e Update: Translations from eints
chinese (simplified): 13 changes by XiaoJi-Game
russian: 4 changes by Ln-Wolf
slovak: 7 changes by legitalk
catalan: 77 changes by J0anJosep
turkish: 7 changes by EndChapter
polish: 7 changes by pAter-exe
2 years ago
PeterN eaf1e33bd7
Fix #10021: Object GUI resized when switching between different objects. (#10196)
* Fix: Scale object gui margin by interface scale.

* Fix: Improve padding on object info text.

* Fix #10021: Resizing for 1/2/4 object views didn't account for interface scale.

As halving and doubling padding is problematic due to rounding, it is now
added on lower view counts instead of removing on higher view counts.
2 years ago
translators 978f5b9341 Update: Translations from eints
english (au): 3 changes by krysclarke
english (us): 7 changes by 2TallTyler
korean: 52 changes by telk5093
russian: 4 changes by Ln-Wolf
spanish: 6 changes by MontyMontana
portuguese: 3 changes by azulcosta
2 years ago
PeterN a7ffd47c64
Fix #10191: Incorrect refit highlight position. (#10195)
Refit highlight was not correct for non-power-of-2 interface scale.
2 years ago
translators 35c4af5cb7 Update: Translations from eints
english (au): 4 changes by krysclarke
spanish: 10 changes by MontyMontana
portuguese: 62 changes by azulcosta
2 years ago
Bernard Teo 8a78fa7121
Feature: Contextual actions for vehicles grouped by shared orders (#8425) 2 years ago
dP 5e14a20b3b
Feature: [GS] Scriptable league tables (#10001) 2 years ago
translators b9ce3de23d Update: Translations from eints
slovak: 72 changes by legitalk
2 years ago
Tyler Trahan b846c574d7
Update: Developer credits (#10190) 2 years ago
stormcone e29547a3a2
Feature: Show the cargoes the vehicles can carry in the vehicle list window (#8304) 2 years ago
translators d780ca74ed Update: Translations from eints
italian: 50 changes by Rivarossi
2 years ago
Tyler Trahan 0fc7cdb1e4
Change: Allow building canal by area outside editor (#10173) 2 years ago
PeterN 53682b4b6b
Fix #10114: Wonky depot layout. (#10191)
Depot lists internal layout was not handled well. This is improved by
throwing more Rects at it:
- Vehicle images are now be vertically centred in the rect.
- Image clipping is relaxed to cover the rect, improving larger sprites.
- Outline highlight is now aware of bevel thickness.
2 years ago
translators e85d2603d9 Update: Translations from eints
italian: 27 changes by Rivarossi
2 years ago
translators afbad255d3 Update: Translations from eints
turkish: 44 changes by EndChapter
spanish: 1 change by MontyMontana
2 years ago
translators 62125c9e76 Update: Translations from eints
korean: 3 changes by telk5093
turkish: 33 changes by EndChapter
2 years ago
PeterN a7adadcf9b
Fix: Indent production in industry window and resolve button issues. (#10184)
Industry production used to be indented, although a different amount than
the industry accepts list. This is now added back, with the standard indent
width.

Additionally the cheat-mode production modifier buttons now support RTL and
the list height now takes account of the button height.
2 years ago
translators a942028803 Update: Translations from eints
dutch: 42 changes by Afoklala
french: 12 changes by glx22
2 years ago
PeterN a044e8e007
Fix: Scale minimum visible caption by interface scale. (#10180) 2 years ago
translators 3040efdb10 Update: Translations from eints
spanish (mexican): 74 changes by absay
russian: 2 changes by Ln-Wolf
spanish: 6 changes by MontyMontana
polish: 1 change by pAter-exe
2 years ago
Peter Nelson 60404c3aea Fix #8770: Centre vehicle status bar icon.
The icon is now centred within its scaled bounding box, which intentionally
leaves a little space around the icon when not at 1/2/4x scale.
2 years ago
Peter Nelson 9bf24ec56f Codechange: Reorder and properly declare DrawSpriteIgnorePadding().
Parameters have been rearranged to be closer to those of the standard
DrawSprite() function, and PaletteID can now be set.
2 years ago
PeterN c81c242c5a
Fix: Crash if error message window is too wide for screen. (#10172)
This doesn't seem new, just easier to trigger with new scaling.
2 years ago
PeterN 6ea3e7e487
Fix #10164: Incorrect slider handle position in RTL. (#10175) 2 years ago
translators bc5cd4eeda Update: Translations from eints
russian: 3 changes by Ln-Wolf
spanish: 55 changes by MontyMontana
polish: 32 changes by pAter-exe
2 years ago
translators d30345edfb Update: Translations from eints
english (au): 3 changes by krysclarke
spanish (mexican): 3 changes by absay
english (us): 3 changes by 2TallTyler
russian: 2 changes by Ln-Wolf
french: 11 changes by ZarTek-Creole
portuguese: 3 changes by azulcosta
polish: 28 changes by pAter-exe
2 years ago
translators cbb2d5303d Update: Translations from eints
spanish (mexican): 14 changes by absay
english (us): 20 changes by 2TallTyler
russian: 5 changes by Ln-Wolf
portuguese: 44 changes by azulcosta
2 years ago
Tyler Trahan 0d631a6fda Change: Reword Finance window's Net Profit to Profit 2 years ago
Tyler Trahan adf94d7970 Change: Add a Total caption to each category of the finance window 2 years ago
Tyler Trahan bba1a16836 Change: Make Company GUI Bank Balance text white 2 years ago
translators 553e5e6bbe Update: Translations from eints
english (au): 20 changes by krysclarke
spanish (mexican): 7 changes by absay
korean: 20 changes by telk5093
russian: 13 changes by Ln-Wolf
spanish: 74 changes by MontyMontana
2 years ago