Commit Graph

20272 Commits (5e1bcee39bd409e37687bcfc2ebe8a5ca9237e77)

Author SHA1 Message Date
Peter Nelson 82c70ed3b8 Change: Expose ObjectSpec vector to simplify iteration. 1 year ago
Peter Nelson 1f46f080f0 Codechange: Store objectspecs in std::vector instead of flat array. 1 year ago
Peter Nelson 93197f58b7 Codechange: Bind objectspecs to classes once all finalised. 1 year ago
Peter Nelson 02961fd7af Codechange: Use std::vector for NewGRF class lists. 1 year ago
PeterN 73474b08fe
Fix: Clicking on editbox clear button didn't take account of padding. (#10583) 2 years ago
PeterN c1077212d7
Codechange: Use a shared_ptr for viewport overlay. (#10586) 2 years ago
translators c905824248 Update: Translations from eints
chinese (traditional): 14 changes by inAndyPao
danish: 1 change by bscargo
2 years ago
Loïc Guilloux 9642e87bc8
Fix: [Script] Access to enum/consts defined outside of main.nut (#10573) 2 years ago
Tyler Trahan 0bf6f82305 Cleanup: Don't mix switches and early returns in widget selection 2 years ago
Tyler Trahan 066ae6f3fb Codechange: Simplify some CodeQL-flagged trivial switches 2 years ago
translators a15e584e40 Update: Translations from eints
japanese: 27 changes by fmang
chinese (simplified): 12 changes by XiaoJi-Game
2 years ago
translators 24e9af83aa Update: Translations from eints
japanese: 22 changes by fmang
2 years ago
translators 83eb73a9b2 Update: Translations from eints
japanese: 12 changes by fmang
2 years ago
translators 1d915214a1 Update: Translations from eints
japanese: 31 changes by fmang
2 years ago
translators d15a14bd9e Update: Translations from eints
japanese: 32 changes by fmang
danish: 7 changes by bscargo
2 years ago
Tyler Trahan e5438891e2
Cleanup: Keep spacing saveload versions by groups of five (#10576) 2 years ago
translators 1424b7b49e Update: Translations from eints
french: 14 changes by ZarTek-Creole
2 years ago
translators 3254d65b3e Update: Translations from eints
swedish: 17 changes by joeax910
czech: 13 changes by jachymozo
danish: 3 changes by bscargo
2 years ago
translators 0bf6d80cd7 Update: Translations from eints
danish: 161 changes by bscargo
2 years 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
2 years 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
2 years 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.
2 years ago
Peter Nelson 3b90b85439 Change: Allow jukebox lists to fill window width. 2 years ago
Peter Nelson 0c4e2ce114 Change: Resize jukebox when changing music set. 2 years 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.
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