Commit Graph

41509 Commits (06e0f39affc89888e07640a1aea0808e89c4003d)

Author SHA1 Message Date
Jonathan G Rennison bd3df161e4 Debug: Show whether vehicle is in tile hash in debug info 2 years ago
Jonathan G Rennison 0ab54b2992 Debug: Fix aliasing of show/hide toggles for aircraft in debug window 2 years ago
Jonathan G Rennison a7efe91007 Script: More closely emulate old text param behaviour for 13 and below scripts 2 years ago
Jonathan G Rennison 887d474a2e Validate RAW_STRING parameter values in game_script mode 2 years ago
Jonathan G Rennison f3841e29c8 Saveload: Adjust formatting of _sl_xv_sub_chunk_infos 2 years ago
Jonathan G Rennison 2028472253 Saveload: Skip VENC/TNNC chunks entirely on non network server saves 2 years ago
Jonathan G Rennison c2752b31e6 Saveload: Use traditional map chunks for scenario saves 2 years ago
Jonathan G Rennison a57a909deb Saveload: Add special proc op for whether to save chunk 2 years ago
translators 1d915214a1 Update: Translations from eints
japanese: 31 changes by fmang
2 years ago
Jonathan G Rennison b4f32e44d9 Saveload: Change result type of ChunkSaveLoadSpecialProc 2 years ago
Jonathan G Rennison 6cdf67f38a Saveload: Add save flag for if this is a scenario save 2 years ago
Jonathan G Rennison 69c3e94111 Crashlog: Remove incorrect comment 2 years ago
Jonathan G Rennison 664c486fea Add "very reduced" mode to the vehicle breakdowns setting 2 years ago
translators d15a14bd9e Update: Translations from eints
japanese: 32 changes by fmang
danish: 7 changes by bscargo
2 years ago
Jonathan G Rennison a6babb23d3 Script: Allow text param mismatches for scripts with 13 or below compatibility 2 years ago
Jonathan G Rennison c644aa754d Only check primary vehicle ships in RemoveDock 2 years ago
Jonathan G Rennison b7cb4099a6 Add missing cast in Save_TNNC() 2 years ago
Jonathan G Rennison 2716217775 Merge branch 'master' into jgrpp
# Conflicts:
#	src/saveload/saveload.h
2 years ago
Tyler Trahan e5438891e2
Cleanup: Keep spacing saveload versions by groups of five (#10576) 2 years ago
Jonathan G Rennison 2e7545f85f Road stops: Add flag to use custom graphics for disabled views in build window 2 years ago
Jonathan G Rennison ec73775f97 Road stops: Shrink build window when changing to a shorter type 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
Jonathan G Rennison 6f42561859 Use std::vector for generic callback handlers 2 years ago
Jonathan G Rennison 5dd285b0d9 Don't save TNNC chunk if there are no town zone callback handlers 2 years ago
Jonathan G Rennison 062d57eadb Merge branch 'master' into jgrpp
# Conflicts:
#	src/openttd.cpp
#	src/video/dedicated_v.cpp
2 years ago
translators 0bf6d80cd7 Update: Translations from eints
danish: 161 changes by bscargo
2 years ago
Jonathan G Rennison 4dc846949c Bump savegame version for multi-cargo ships 2 years ago
Jonathan G Rennison 8cd7c9559f Multi-part ships: Require feature test to enable callback 16 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
Jonathan G Rennison 87e4258fe3 Allow selecting individual ship parts in refit window
Add callback to name ship parts in refit window
2 years ago
Jonathan G Rennison 211fdd62b2 Initial support for multi-part (pseudo-articulated) ships 2 years ago
Jonathan G Rennison 5718730d68 VarAction2: Add support for more varaction2 types
Add CB failure and deterministic relative types
2 years ago
Jonathan G Rennison 48d602962f Road stops: Add inferred one way road state to var 50/roadstop_misc_info 2 years ago
Jonathan G Rennison eebb427b42 Fix overbuilding a road stop/waypoint clearing the one-way state 2 years ago
Jonathan G Rennison 1dce4a0bef Debug: Show reliability/breakdown values in vehicle debug window 2 years ago
Jonathan G Rennison 9c5f81790a Debug: Split industry produced cargo info across multiple lines 2 years ago
Jonathan G Rennison 2e77754c04 Fix comment for XSCF_EXTRA_DATA_PRESENT flag 2 years ago
Jonathan G Rennison f44d455adc Send town zone radii to network clients in new TNNC chunk 2 years ago
Jonathan G Rennison ae99f667b0 NewGRF: Add generic town callback to set town zone radii 2 years ago
Jonathan G Rennison 93c34775e4 NewGRF: Add town variables for uncapped house count, population and zone radii
Add feature name
2 years ago
Jonathan G Rennison 5acf18fb37 NewGRF: Allow mapping a feature ID to the town scope 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
Jonathan G Rennison 57c5cc32d0 VarAction2: Improve handling of feature changes with parent scopes 2 years ago
Jonathan G Rennison 205cb2d3ea Fix autosave setting dropdown strings
See: #496
2 years ago
Jonathan G Rennison 4555724da4 Add CBID_VEHICLE_NAME to GetNewGRFCallbackName 2 years ago
TELK 2bc46cc9b7 Update: Korean translation according to splitting extra 2 years ago
TELK bf86e66186 Fix: Korean translation for "Freight" filter 2 years ago
Jonathan G Rennison 25ed7c2b53 Merge branch 'master' into jgrpp
# Conflicts:
#	src/music.cpp
#	src/script/api/script_company.cpp
#	src/script/api/script_event_types.cpp
#	src/script/api/script_group.cpp
#	src/script/api/script_object.cpp
#	src/script/api/script_road.cpp
2 years ago
Jonathan G Rennison 3657db3b23 Fix 6aa8997e: Type mismatch for _sl_xv_upstream_version variable 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
Jonathan G Rennison ffb6588481 Add header guard to unit_conversion.h 2 years ago
Jonathan G Rennison fd532fbd6f Avoid integer overflow issues in measurement tooltip
For large distances
Use integer instead of floating point sqrt
2 years ago
Jonathan G Rennison 3017cb63a9 Fix parameter shadowing in ApplyLookAheadItem 2 years ago
Jonathan G Rennison 277985ad9d Fix parameter shadowing in GetTrainStopLocation 2 years ago
PeterN 2d3250923c
Fix #10554: Let Scrollbar::SetPosition clamp instead of assert. (#10555) 2 years ago
Jonathan G Rennison f13f8cd740 Tracerestrict: Improve program validator
Check all instruction subtypes and valid enum values
Return failure instead of asserting for invalid instruction subtypes
Identify which instruction triggered validation failure
2 years ago
Jonathan G Rennison 5b788dcb97 Tracerestrict: Use switch for actions in GetTraceRestrictTypeProperties 2 years ago
Jonathan G Rennison 6a0139354a Tracerestrict: Fix various comments 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
Jonathan G Rennison ef95af6987 Tracerestrict: Warn when reserved tiles ahead used without realistic braking 2 years ago
Joan Josep d80f193e74
Fix: Improve grfmessage for ShipVehicleChangeInfo. (#10558) 2 years ago
Jonathan G Rennison fd144369a9 Tracerestrict: Re-order action/condition type dropdown
Refactor lists to simplify hide conditions
2 years ago
Jonathan G Rennison 119e24fe9d Tracerestrict: Reset dual instruction value when changing instruction type 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
Jonathan G Rennison 8002f023cb Autoreplace window: Don't scroll to selected engine if it isn't listed
See: https://github.com/OpenTTD/OpenTTD/issues/10554
2 years ago
Jonathan G Rennison 0fc9223724 VarAction2: Support extended bytes for var 0x7E proc with more_action2_ids 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
Jonathan G Rennison e061fa06fd Fix template train build window not being refreshed for variants changes 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
Jonathan G Rennison 57437e7068 Saveload: Fix upstream version handling of league table chunks 2 years ago
Jonathan G Rennison 6aa8997eee Saveload: Add corresponding upstream version to SLXI chunk 2 years ago
Jonathan G Rennison 2acc00ab13 Saveload: Fix upstream chunk load state not be cleared before load 2 years ago
Jonathan G Rennison 8dca681c8c Use btree_multimap for pending speed restrictions
Avoid unnecessary iteration when saving VESR chunk
2 years ago
Jonathan G Rennison 70311c0843 Tracerestrict: Use btree_multimap for slot vehicle index 2 years ago
Jonathan G Rennison 633c72b10b Add utility function to test equivalence of multimaps
Returns true if multimap values for a key are in not in the same order,
but are permutations of each other.
2 years ago
Jonathan G Rennison dedb0ff7e2 Avoid unordered map/multimap for tunnel tile index and axis height maps
Use robin_hood and btree_multimap instead
2 years ago
Jonathan G Rennison d94e8d7b5c Merge branch 'master' into jgrpp
# Conflicts:
#	src/script/api/script_object.cpp
#	src/script/api/script_roadtypelist.cpp
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
Jonathan G Rennison b07d964081 Allow use of GetTownRoadType result in HasRoadTypeAvail for towns 2 years ago
Jonathan G Rennison faa77e2605 Merge branch 'master' into jgrpp
# Conflicts:
#	src/script/api/script_company.cpp
#	src/script/api/script_date.cpp
#	src/script/api/script_date.hpp
#	src/script/api/script_gamesettings.cpp
#	src/script/api/script_order.hpp
#	src/script/api/script_town.cpp
#	src/script/api/script_window.cpp
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