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
2fffde0891
Add: workflow and script for checking missing mode enforcements
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
6a9d82bde0
utils: Add missing file headers
2 years ago
Jonathan G Rennison
0e7b115e43
utils/conv-lang.pl: Fix whitespace before shebang
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
glx22
446ebaa6b9
Codechange: Use SQInteger for generic numbers in script_road
2 years ago