Commit Graph

20409 Commits (ca497ce356858c0926709875db914bef7c041fe3)

Author SHA1 Message Date
translators 1d915214a1 Update: Translations from eints
japanese: 31 changes by fmang
1 year ago
translators d15a14bd9e Update: Translations from eints
japanese: 32 changes by fmang
danish: 7 changes by bscargo
1 year ago
Tyler Trahan e5438891e2
Cleanup: Keep spacing saveload versions by groups of five (#10576) 1 year ago
translators 1424b7b49e Update: Translations from eints
french: 14 changes by ZarTek-Creole
1 year ago
translators 3254d65b3e Update: Translations from eints
swedish: 17 changes by joeax910
czech: 13 changes by jachymozo
danish: 3 changes by bscargo
1 year ago
translators 0bf6d80cd7 Update: Translations from eints
danish: 161 changes by bscargo
1 year ago
Rubidium 24b5033a06 Fix #10568: "can savegame be loaded check" failed in dedicated server
* If loading fails, it usually returns SL_REINIT which doesn't trigger check
 * If savegame has NewGRFs, it complains NewGRFs are not allowed in intro game
1 year ago
translators be69aa6257 Update: Translations from eints
vietnamese: 1 change by KhoiCanDev
korean: 3 changes by telk5093
german: 30 changes by Wuzzy2
slovak: 14 changes by legitalk
dutch: 12 changes by Afoklala
1 year ago
Peter Nelson e999aa2923 Fix: Don't (briefly) switch from title-only playlist on menu screen.
Switching playlist while on the menu screen now only changes the playlist
that will be used when out of the menu screen.
1 year ago
Peter Nelson 3b90b85439 Change: Allow jukebox lists to fill window width. 1 year ago
Peter Nelson 0c4e2ce114 Change: Resize jukebox when changing music set. 1 year ago
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.
1 year ago
PeterN 2d3250923c
Fix #10554: Let Scrollbar::SetPosition clamp instead of assert. (#10555) 1 year 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.
1 year 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.
1 year 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.
1 year 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.
1 year ago
Rubidium a79f97c022 Change: upon an invalid company mode, set ERR_PRECONDITION_INVALID_COMPANY instead of ERR_PRECONDITION_INVALID 1 year ago
Joan Josep d80f193e74
Fix: Improve grfmessage for ShipVehicleChangeInfo. (#10558) 1 year ago
translators 4af7f3e645 Update: Translations from eints
catalan: 13 changes by J0anJosep
1 year ago
Jonathan G Rennison c74dfe393f
Fix #10556: Duplication of road infrastructure count updates (#10557)
When building a road stop
1 year ago
Rubidium 3287acd114 Fix 13528bfcd0: bank balance command allows int64, GS was limited to int32 1 year ago
Peter Nelson b6609d1833 Fix: Network server highlight invisible with RTL layout. 1 year ago
translators df2b66ad5d Update: Translations from eints
english (au): 14 changes by krysclarke
romanian: 3 changes by bnegrut
finnish: 10 changes by hpiirai
1 year 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".
1 year ago
Rubidium cada2ca310 Add: GSCompanyMode::IsValid and IsDeity, and precondition enforcement helpers 1 year 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
1 year ago
glx22 ca149447d7 Codechange: Use SQInteger for generic numbers in script_window 1 year ago
glx22 f752d96125 Codechange: Use SQInteger for generic numbers in script_vehicle 1 year ago
glx22 4e48bf2e16 Codechange: Use SQInteger for generic numbers in script_town 1 year ago
glx22 18fe0a4046 Codechange: Use SQInteger for generic numbers in script_tilelist 1 year ago
glx22 cada18a6f8 Codechange: Use SQInteger for generic numbers in script_tile 1 year ago
glx22 07b73a8c02 Codechange: Use SQInteger for generic numbers in script_subsidy 1 year ago
glx22 cd80b31d19 Codechange: Use SQInteger for generic numbers in script_storypage 1 year ago
glx22 a9a55f2153 Codechange: Use SQInteger for generic numbers in script_station 1 year ago
glx22 446ebaa6b9 Codechange: Use SQInteger for generic numbers in script_road 1 year ago
glx22 4f6a2f31b5 Codechange: Use SQInteger for generic numbers in script_rail 1 year ago
glx22 cb2e76aae3 Codechange: Use SQInteger for generic numbers in script_priorityqueue 1 year ago
glx22 777b4d0987 Codechange: Use SQInteger for generic numbers in script_order 1 year ago
glx22 49ea69fdef Codechange: Use SQInteger for generic numbers in script_objecttype 1 year ago
glx22 0293fd41e5 Codechange: Use SQInteger for generic numbers in script_news 1 year ago
glx22 f22903ab14 Codechange: Use SQInteger for generic numbers in script_newgrf 1 year ago
glx22 ca67075397 Codechange: Use SQInteger for generic numbers in script_map 1 year ago
glx22 a225fda9fe Codechange: Use SQInteger for generic numbers in script_list 1 year ago
glx22 74ab9ee9dd Codechange: Use SQInteger for generic numbers in script_league 1 year ago
glx22 367b2ba6d1 Codechange: Use SQInteger for generic numbers in script_infrastructure 1 year ago
glx22 5eaf9d39bf Codechange: Use SQInteger for generic numbers in script_industrytype 1 year ago
glx22 6671994655 Codechange: Use SQInteger for generic numbers in script_industry 1 year ago
glx22 8eb35633ec Codechange: Use SQInteger for generic numbers in script_group 1 year ago
glx22 6ca8499e6a Codechange: Use SQInteger for generic numbers in script_goal 1 year ago
glx22 e784915b27 Codechange: Use SQInteger for generic numbers in script_gamesettings 1 year ago
glx22 6b8b4c392f Codechange: Use SQInteger for generic numbers in script_engine 1 year ago
glx22 2f40bf8097 Codechange: Use SQInteger for generic numbers in script_date 1 year ago
glx22 424ae74504 Codechange: Use SQInteger for generic numbers in script_companymode 1 year ago
glx22 89c0841d0a Codechange: Use SQInteger for generic numbers in script_company 1 year ago
glx22 7727323dbe Codechange: Use SQInteger for generic numbers in script_cargomonitor 1 year ago
glx22 40424601c6 Codechange: Use SQInteger for generic numbers in script_cargo 1 year ago
glx22 83826b1793 Codechange: Use SQInteger for generic numbers in script_bridgelist 1 year ago
glx22 58bf2f7176 Codechange: Use SQInteger for generic numbers in script_bridge 1 year ago
glx22 73561802cb Codechange: Use SQInteger for generic numbers in script_airport 1 year ago
glx22 b6f3552e4b Fix: [Script] Inconsistent precondition failure return values 1 year ago
glx22 e06a666fa2 Fix: remove ScriptController constructor from API documentation 1 year ago
glx22 67a4c5e0db Codechange: Use {fmt} for script_admin JSON generation 1 year ago
glx22 ce8cde3b8d Fix: [Script] Detect circular references in ScriptText 1 year ago
glx22 9a957f1d4b Change: [Script] Improve ScriptText validation error messages 1 year ago
Rubidium 8fa61533f0 Fix 30ae072: when a road type is hidden, towns may not build them even when that flag is set 1 year 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
1 year ago
Rubidium 30ae07269d Fix: game scripts must not build with non-existing road types 1 year ago
dP 01ebfad809
Fix 3719f60: Crash when copying non-station orders (#10540) 1 year ago
translators 16a7bc54b3 Update: Translations from eints
finnish: 2 changes by hpiirai
catalan: 2 changes by J0anJosep
1 year ago
Jonathan G Rennison 87f4d37de3
Fix #10522: Link graph line tooltip test for vertical lines (#10524) 1 year ago
Tyler Trahan 3719f60de0 Add: Use specific error message when vehicle cannot go to station/waypoint 1 year ago
Tyler Trahan 44848f4edf Add: CommandCost supports an optional second error string 1 year ago
dP e3169c73bd
Fix: Restore using founder client name as company manager name (#10535) 1 year ago
translators ec8b2836df Update: Translations from eints
english (us): 2 changes by 2TallTyler
dutch: 2 changes by Afoklala
polish: 3 changes by pAter-exe
1 year 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
1 year ago
Loïc Guilloux 2a2e51765a
Cleanup 54db96b: Left-over function declaration (#10528) 1 year ago
translators 9bdcbc5af7 Update: Translations from eints
french: 3 changes by glx22
1 year 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.
1 year 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
1 year ago
Zachary e17c82e32b Add: maximum number of companies allowed to the client list 1 year ago
translators 6f9b3fa964 Update: Translations from eints
chinese (traditional): 7 changes by inAndyPao
1 year ago
glx22 41b414bc1c Change: [Script] Restore support of {RAW_STRING} in ScriptText 1 year ago
glx22 991a797e09 Change: [Script] Validate ScriptText parameters type and amount 1 year ago
Rubidium 728973859d Change: [Script] Automate the ScriptObject reference counting 1 year ago
glx22 a1fc4d5c0e Codechange: [Script] Merge the 3 ScriptText param arrays 1 year ago
glx22 af15dca316 Change: [Script] Extract params info from GS strings 1 year ago
Tyler Trahan 6e52ceab96
Feature: Industry directory text filter (#10518) 1 year ago
Rubidium 1eefe1c3a0 Codechange: hide Tile(Extended) into the Tile structure 1 year ago
Rubidium 580d0a6343 Codechange: make use of Tile in for all direct map accesses 1 year ago
Rubidium 7a6452d3ef Codechange: introduce Tile class for accessing map data of a single tile 1 year ago
Rubidium 7a1816a6cd Codechange: rename Tile to TileBase to be able to introduce a new Tile class 1 year ago
Rubidium 0fb0469e47 Codechange: introduce iterator to iterate over the Tiles of a Map
Note: this version is using TileIndex, but that changes later
1 year ago
Chenshu Yu eabb9db0bb
Fix #9810: 'Rebuilding' a through road stop costs money (#9852) 1 year ago
dP b0542c8c49
Codechange: Don't store tree counter in the map array (#10018) 1 year ago
SamuXarick 6eabbaa751 Fix #10469, 5e14a20: [Script] League Table rating element is a int64 everywhere else 1 year ago
Michael Lutz aab580e0ac Codechange: [Linkgraph] Drop node/edge wrappers from LinkGraph. 1 year ago
Michael Lutz 4d3da0cf14 Codechange: [Linkgraph] Drop node/edge wrappers from LinkGraphJob. 1 year ago
Michael Lutz 7352f812e6 Codechange: [Linkgraph] Only store present link graph edges and not all possible edges. 1 year ago
Michael Lutz 178249e7cc Codechange: Saveload macros for entries with a custom table name. 1 year ago
Michael Lutz 8f851ead70 Codechange: [Linkgraph] Split annotation for demand between nodes from the edge annotations. 1 year ago
Michael Lutz 564de01d66 Remove: SmallMatrix be gone. 1 year ago
Michael Lutz fe27db3dfd Codechange: [Linkgraph] Store edges in each node and not in a global matrix. 1 year ago
Niels Martin Hansen 2fee8ecdda Add #7525: Allow autoreplace with same model vehicle 1 year ago
Jonathan G Rennison 4c1406a4b5 Add: NewGRF road stops 1 year ago
Tyler Trahan a18182e24b
Revert 92c7551: Line drawing algorithm fix broke other cases (#10497)
This reverts commit 92c755161d.
1 year ago
translators 07fbd19da3 Update: Translations from eints
luxembourgish: 8 changes by phreeze83
1 year ago
Rubidium 947a789bf6 Codechange: split large function into smaller steps and simplify logic 1 year ago
Rubidium 8cbf1be9d6 Codechange: split large function into smaller functions with self-explanatory names 1 year ago
Rubidium a409e4b026 Add: documention to large functions that have too little documentation according to CodeQL 1 year ago
translators 2561fad5d4 Update: Translations from eints
romanian: 1 change by bnegrut
1 year ago
dP c73b88ddca
Fix: Don't send unused tile field over the network (#10507) 1 year ago
Michael Lutz 9b3326e3fd Codechange: [Script] Use std::vector instead of a hand-rolled alternative. 1 year 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.
1 year ago
translators 187d330177 Update: Translations from eints
spanish (mexican): 1 change by GNosii
1 year 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.
1 year ago
SamuXarick 8351b97f52 Add: [Script] Labels for negative values of a setting 1 year ago
SamuXarick 376820c0b6 Doc: [Script] Update info descriptions 1 year 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 1 year ago
SamuXarick fde7028a95 Fix #10059: [Script] Let custom values on a config item be up to 10 digits + 1 for sign 1 year ago
SamuXarick 7b1fd3e37f Fix #10059: [Script] Clamp config item values to int32
Also prevent random_deviation to be below 0.
1 year ago
Nik Nyby 92c755161d
Fix #10222: Adjust line drawing algorithm (#10491) 1 year ago
translators 8778949b6a Update: Translations from eints
english (us): 1 change by nikolas
galician: 18 changes by pvillaverde
1 year ago
translators 9ade3345f7 Update: Translations from eints
english (us): 3 changes by nikolas
galician: 1 change by pvillaverde
1 year ago
translators 4a8b8807e6 Update: Translations from eints
vietnamese: 6 changes by KhoiCanDev
korean: 1 change by telk5093
1 year ago
PeterN 2376112c77
Fix #10477: Not enough space for text due to rounding down (OSX) (#10489) 1 year ago
SamuXarick 3df9321a65 Fix: Some Script::IsValidVehicle checks need to be complemented with IsPrimaryVehicle
Add: [Script] ScriptVehicle.IsPrimaryVehicle
1 year ago
glx22 3559576166 Codechange: [Script] Don't expose static buffers outside of ScriptText 1 year 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.
1 year 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
1 year ago
Loïc Guilloux 4072dcff49
Fix #10486: [Script] Debug window requires AIs to be started before GS (#10487) 1 year ago
Patric Stout fdfcb09aa3 Fix #10131: actually cancel downloads when pressing cancel 1 year 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.
1 year ago
Patric Stout 1c17556f96 Codechange: replace instance of char * with std::string 1 year 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
1 year 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.
1 year ago
translators 228b34c2bf Update: Translations from eints
english (au): 1 change by krysclarke
czech: 2 changes by jachymozo
finnish: 1 change by hpiirai
1 year ago
dP fe2c8a1240
Codechange: Decouple INDUSTRY_CTRL into separate commands (#10475) 1 year ago
frosch d7fcb420c4 Fix: compilation with libcurl from 2013. 1 year ago
translators 04847b1208 Update: Translations from eints
english (us): 1 change by 2TallTyler
portuguese: 2 changes by ppxppy
1 year 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
1 year 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.
1 year ago
translators 09f7f32b8d Update: Translations from eints
ukrainian: 2 changes by serg-bloim
1 year ago
Loïc Guilloux a2c8168924
Fix #10465: Delay closing of network join progress window (#10466) 1 year ago
Bilongozhko, Serhii (Contractor) 35ad964c6b Feature: Ctrl+Click to reset late counter for the entire vehicle group. 1 year ago
SamuXarick 231935fccd Change: Show buy company dialog window even when playing in the AI company 1 year ago
SamuXarick 43ce73db86 Fix: [Script] Use Money instead of int32 for presenting the value of a company to AIs 1 year 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
1 year 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
1 year ago
glx22 3278f4c7bb Fix #10280, 59645c6: Ignore double-click for unavailable town actions 1 year ago
glx22 d6aa526b69 Fix #10461, 59645c6: Properly check for _local_company validity 1 year 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
1 year ago
translators b083584649 Update: Translations from eints
arabic (egypt): 30 changes by AviationGamerX
portuguese: 1 change by azulcosta
1 year ago
Tyler Trahan f12498b633
Add: Show NewGRF name in NewGRF-created errors (#10457) 1 year 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
1 year ago
dP b5bc001d42
Codechange: Swap comments for CommandHelper::Post overloads (#10454) 1 year 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
1 year 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
1 year ago
glx22 b080f24bd8 Codechange: move windows common to AI and GS out of ai_gui 1 year ago
glx22 78e3c93a25 Fix: caption for GS settings window opened from debug window 1 year ago
glx22 cef9931e53 Cleanup: GS don't have "start_date" 1 year ago
translators 6aafccfb22 Update: Translations from eints
korean: 2 changes by telk5093
spanish: 2 changes by MontyMontana
portuguese: 2 changes by azulcosta
1 year 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
1 year ago
translators e41af1f2bb Update: Translations from eints
portuguese (brazilian): 8 changes by ericandradex
1 year ago
SamuXarick 1f194eb94e
Fix: [Script] Incorrect value for GOAL_INVALID (#10436)
* Fix: [Script] Incorrect value for GOAL_INVALID

* Cleanup: Remove unused static variable
1 year ago
Rubidium bf8b32d193 Change: explicitly allow initial loan of 0, however show warning in UI 1 year 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.
1 year ago
SamuXarick d0639cdc28 Fix: [Script] Incorrect subsidy SourceID value used 1 year ago
SamuXarick 4fc4874a30 Add: [Script] Let random road layout be a choice 1 year ago
SamuXarick 184ff92057
Cleanup: [Script] Pass new_rating directly to CmdTownRating (#10441) 1 year ago
translators 654a77c4f7 Update: Translations from eints
luxembourgish: 21 changes by phreeze83
1 year ago
Rubidium 31869501ee Fix: make script goals work with the whole range of ClientIDs 1 year ago
translators 1897e98c3d Update: Translations from eints
slovak: 10 changes by legitalk
1 year ago
Michael Lutz 05ed9f56fd Feature: [NewGRF] Engine name callback. 1 year ago
Michael Lutz 2d73076056 Add: [NewGRF] Second vehicle property for additional callback flags. 1 year 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.
1 year ago
translators 43657cf65d Update: Translations from eints
chinese (traditional): 9 changes by wpi3
1 year ago
Loïc Guilloux 07b40c02fe
Fix #10361, fe30f66: Don't try to give saved data to a dead script (#10433) 1 year ago
Jonathan G Rennison 9c915f05ec Fix: Water infrastructure accounting when building docks 1 year ago
Jonathan G Rennison b82bcac3cd Fix #10419: Water infrastructure accounting when building ship depots 1 year ago
Rubidium 4e65ec1dc4 Codechange: do not declare functions in blocks 1 year ago
translators 5a4f0498fe Update: Translations from eints
hebrew: 6 changes by haimlm
catalan: 4 changes by J0anJosep
turkish: 7 changes by ahmetlii
1 year ago
Rubidium 8be908c919 Fix #10430, Fix 6ba55e6: display chain window causing assert 1 year ago
rubidium42 6ba55e663e Codechange: do not hide variables with other variables 1 year ago
rubidium42 1951af07c0 Codechange: do not hide parameters with local variables 1 year ago
Rubidium f001e84e5e Codechange: use RAII to automatically restore _cur_dpi after use 1 year ago
Rubidium b7a5d8e296 Codechange: add annotation to selectively force inlining in debug build 1 year ago
SamuXarick df89c34e03
Fix 7e1e275: Measure AI Collect Garbage performance (#9924) 1 year 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
1 year 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
1 year ago
Rubidium d51d08ddcb Codechange: put stack variables in global variables for gamelog/crashlog 1 year 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
1 year ago
translators dbc666905d Update: Translations from eints
czech: 10 changes by jacobczsk
dutch: 4 changes by Afoklala
1 year ago
Rubidium 7e1d272397 Cleanup: remove unused static variables 1 year ago
Rubidium 00721787e1 Fix: wrong type for INVALID_LINK_GRAPH_JOB 1 year ago
Rubidium 755e41de9f Codechange: make rounding code clearer
-O1 already optimizes it to the original hand optimized magic code
1 year ago
Rubidium 71b46db8d0 Cleanup: remove commented out code 1 year ago
Rubidium 5863d78cb4 Codechange: use commented out code, or guard by #ifdef 1 year ago
Rubidium ae422be979 Cleanup: remove/replace trailing ; with . in comments 1 year ago
Henry Wilson 0b2567d882 Codechange: Remove shift as fast-forward key when _DEBUG is defined 1 year ago
SamuXarick 46dc6da270
Codechange: Make void tiles flood edge tiles, instead of edge tiles flooding themselves (#8517) 1 year ago
Peter Nelson ede1201b6a Codechange: Rename override manager variables. 1 year ago
Peter Nelson bcc53c5ad5 Codechange: Add missing `this->` in override manager.
Variable scope is also tweaked in a couple of cases reducing line count.
1 year ago
Peter Nelson eedb786872 Codechange: Use vector for NewGRF spec overrides.
This replaces C-style memory management.
1 year ago
translators 07940726d3 Update: Translations from eints
korean: 4 changes by telk5093
1 year ago
Rubidium 2fd99467ea Fix: scripts are not aware of nullptr, they only know null 1 year ago
Rubidium f9a473bef7 Fix: missing/duplicate documentation tags for scripts 1 year ago
Rubidium 3112b387e7 Fix: warnings about obsolete settings/setting values in Doxygen configurations 1 year ago
Rubidium 41fa94bc56 Fix: scripts cannot call constructors of ScriptEvents, so remove from the documentation 1 year ago
merni-ns 2d0c1ffdb7
Change #10255: Reduce basic thickness of linkgraph GUI lines (#10410)
From 3px to 2px (multiplied by UI scale).
1 year ago
translators 01a2449489 Update: Translations from eints
finnish: 8 changes by hpiirai
polish: 4 changes by pAter-exe
1 year ago
PeterN 4dfd6a096f
Fix #10220: Don't select unselectable engine as default. (#10404) 1 year ago
translators 97844df123 Update: Translations from eints
spanish: 4 changes by MontyMontana
1 year ago
Tyler Trahan 9c5de7fd72
Fix #10395: When loading old saves, don't forcibly bar level crossings (#10400) 1 year ago
Rubidium 8aeef665c7 Fix #10377, Fix 94167df: bad sorting of rail vehicles when primary variant is missing 1 year 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
1 year 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.
1 year ago
translators 8b5fa2cc7b Update: Translations from eints
english (au): 4 changes by krysclarke
1 year ago
Rubidium 7cdc23fd64 Codechange: hide the map's size related fields in the Map structure 1 year ago
Rubidium de6bc8e692 Codechange: move TILE_MASK to Map::WrapToMap 1 year ago
Rubidium fe2bcd2a58 Codechange: migrate size related functions to Map structure 1 year ago
Rubidium d481f78b24 Codechange: add map size related functions to Map structure 1 year ago
Rubidium 9c1a3b17e3 Codechange: use MapLogY() instead of FindFirstBit(MapSizeY()), MapSize() instead of MapSizeX() * MapSizeY() 1 year ago
Rubidium 22d3de8b67 Codechange: use ScriptMap size functions instead of global functions 1 year ago
Rubidium 953445a5ac Codechange: use MakeSea/AllocateMap in the oldloader instead of MemSetT 1 year ago
Andy 3b0b572ebf
Change: Log AI/GS Squirrel crashes in white text for readability (#10375) 1 year ago
translators 5eb2e0fd3d Update: Translations from eints
dutch: 4 changes by Afoklala
1 year 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.
1 year 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
1 year ago
translators 83d5e681fc Update: Translations from eints
vietnamese: 6 changes by chupper100
italian: 4 changes by Rivarossi
tamil: 10 changes by merni-ns
1 year ago
PeterN 5801442780
Fix: Switch to OWNER_TOWN prevented OWNER_DEITY test during industry prospecting. (#10360) 1 year 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.
1 year 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
1 year 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
1 year 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
1 year ago
translators 750d89d37b Update: Translations from eints
russian: 2 changes by Ln-Wolf
turkish: 2 changes by EndChapter
1 year ago
Rubidium a4a819c983 Fix #9865: removing files with the console always failed 1 year ago
Rubidium 1ed0b35520 Fix #10009: bad overflow protection when taking out loans 1 year 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.
1 year ago
Rubidium 8f9a60893d Fix #10177: company list password padlock showed after switching to single player 1 year ago
Rubidium c578917783 Fix #10057: FallbackParagraphLayout fails to properly wrap
... during the first word after a new run has been started.
1 year ago
SamuXarick 96ec9908a0
Codechange: refactor removal of desert around river tiles 1 year ago
Rubidium 20a9e13272 Fix: inconsistent definition of copy constructor and assignment 1 year ago
Rubidium 6dfd2cad69 Fix: comparison result is always the same warnings 1 year ago
PeterN b4f0450974
Change: Display font status as aa/noaa instead of true/false. (#10352) 1 year ago
Rubidium 921c6591f9 Codechange: do not use interactive random anymore for script configuration 1 year ago
Rubidium c5ff61c5f2 Add: script specific Randomizer instances 1 year ago
Rubidium 6abad681bd Codechange: move choice for randomizer of scripts to a single location 1 year ago
Rubidium 3373128233 Codechange: pass the randomizer directly to the town name generation 1 year ago
Rubidium b3b8c3fd2d Codechange: pass the randomizer to use directly to the company face generation 1 year ago