Commit Graph

41873 Commits (1dbbbed9e5c9c68f8adf9ad6ac5f0914257aa6a5)

Author SHA1 Message Date
PeterN 5f99c8c4aa
Fix: Extra viewport cannot be scrolled with right-click-close. (#10644) 1 year ago
Jonathan G Rennison c89079a210 Merge branch 'master' into jgrpp
# Conflicts:
#	src/saveload/cargopacket_sl.cpp
#	src/saveload/saveload.h
#	src/strings.cpp
#	src/vehicle.cpp
1 year ago
Tyler Trahan 97cfd40649
Fix #10630: Don't allow shifting service date earlier than 0 (#10643) 1 year ago
translators a0d8545f6c Update: Translations from eints
french: 15 changes by glx22
1 year ago
Jonathan G Rennison 6e091c78b8 Use SoftClamp in DrawAircraftEngine, DrawShipEngine, DrawTrainEngine 1 year ago
Jonathan G Rennison 9521e7ef2b Merge branch 'master' into jgrpp
# Conflicts:
#	src/elrail.cpp
#	src/ground_vehicle.hpp
#	src/landscape.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.h
#	src/tile_cmd.h
#	src/town_cmd.cpp
#	src/tunnelbridge_cmd.cpp
1 year ago
Peter Nelson 06b78a7299 Fix: Don't double-pad existing size when adding widget padding.
UpdateWidgetSize's size parameter already includes padding.
1 year ago
Peter Nelson d93f96a442 Fix: Account for extra dropdown list padding. 1 year ago
Jonathan G Rennison eff2a1669f Use SoftClamp in DrawRoadVehEngine 1 year ago
Jonathan G Rennison e17420777a Fix #10637: Incorrect water infra total when building multi-tile object
Wrong tile used in ownership checks
1 year ago
Jonathan G Rennison 639b24911d Fix wrong tile for old canal ownership check in CmdBuildCanal 1 year ago
Jonathan G Rennison d0299e4c16 Revert "Fix #9870: Don't update infrastructure totals when overbuilding object on canal"
This reverts commit 37d318c410.

Use 0a31b27a20 instead.
1 year ago
Jonathan G Rennison 49528f908d Fix water infrastructure total when building multi-tile objects
See: https://github.com/OpenTTD/OpenTTD/issues/10637
1 year ago
Jonathan G Rennison 55f11129c8 Tracerestrict: Add status test for if train is stopping at order destination
Station/waypoint of current order
1 year ago
Jonathan G Rennison cfc6b1b302 Debug: Log values when VENC chunk vehicle cache mismatch detected 1 year ago
PeterN 3b2eb11fe8
Codechange: Use cached name for all station/industry/town name formatting. (#10634)
This reuses an existing name caching mechanism to avoid "recalculating" names every time.
1 year ago
translators d7f0c5d6d8 Update: Translations from eints
russian: 3 changes by Ln-Wolf
finnish: 7 changes by hpiirai
polish: 17 changes by pAter-exe
1 year ago
Jonathan G Rennison 29411ce975 Fix missing newlines in desync/inconsistency report headers 1 year ago
Jonathan G Rennison 87fabe99df Allow exchanging a station's name with another station in the same town 1 year ago
Jonathan G Rennison 07f2984d06 Allow generating new default name for station
Ctrl-click default button in rename station query window
1 year ago
Jonathan G Rennison 19a42a879f Fix e8c1920e: Incorrect string codes in translation
STR_DEPARTURES_TERMINUS_VIA* in Korean
1 year ago
Jonathan G Rennison e8c1920e7f Departure board: Add support for dual via 1 year ago
Jonathan G Rennison 9c830aadcc Departure board: Refactor string handling 1 year ago
Jonathan G Rennison 6297012ad6 Fix save/load and GUI for locale.units_velocity_nautical setting 1 year ago
translators 9e69556e2f Update: Translations from eints
english (au): 13 changes by krysclarke
english (us): 15 changes by 2TallTyler
russian: 12 changes by Ln-Wolf
1 year ago
PeterN ce046f6d17
Fix: Abort loading savegame if road vehicle is on invalid road type. (#10622)
This can happen if NewGRFs are missing so that engine or road type definitions are wrong.
1 year ago
Jonathan G Rennison 7320eefc2e Departures: Fix smart terminus detection with circular routes 1 year ago
Charles Pigott ce24709576 Add: Some additional debugging information when chunk sizes are incorrect 1 year ago
Charles Pigott 8aea13a85b Codechange: Use fmt for SlErrorCorruptFmt 1 year ago
PeterN 246ba6f00a
Fix 8361cf5a73: Missing bounds check for house specs. (#10625) 1 year ago
Jonathan G Rennison 82803b98e0 Merge branch 'master' into jgrpp
# Conflicts:
#	src/game/game_gui.cpp
#	src/graph_gui.cpp
#	src/linkgraph/linkgraph_gui.h
#	src/newgrf.cpp
#	src/order_gui.cpp
#	src/saveload/engine_sl.cpp
#	src/saveload/saveload.h
#	src/script/api/script_text.cpp
#	src/script/script_gui.cpp
#	src/settings_table.cpp
#	src/strings.cpp
#	src/table/settings/economy_settings.ini
#	src/table/settings/locale_settings.ini
#	src/timetable_gui.cpp
1 year ago
dP e2f1cd44dc
Change: Increase max cargo age and let min cargo payment approach zero. (#10596)
Co-authored-by: Michael Lutz <michi@icosahedron.de>
1 year ago
Jonathan G Rennison 359fe89d2f Don't use occupancy of unload and leave empty orders for occupancy average 1 year ago
Jonathan G Rennison c0f7ab8071 Fix spelling mistake 1 year ago
translators 58e629ca84 Update: Translations from eints
korean: 8 changes by telk5093
russian: 7 changes by Ln-Wolf
finnish: 8 changes by hpiirai
1 year ago
PeterN 078e27bd84
Fix #10619: Crash loading linkgraph for older savegames. (#10620) 1 year ago
Rubidium c6ff7dad68 Add: compile time "unit tests" for GetPartialZ consistent 1 year ago
Rubidium 41ef7c88af Codechange: make a numer of Slope related functions constexpr 1 year ago
Rubidium 9d2a0f3d0b Change: make GetPartialZ consistent, meaning Z of adjacent slopes continue
Previously, on a straight line of a one corner up slope with the adjacent
steep sloop the Z would increase one step every two sub pixels, except for one
case where one sub pixel is skipped. Similarly, a steep slope with two
adjacent one corner up slopes, would have a bump in the height line along the
diagonal whenever it enters/leaves the steep slope tile.
1 year ago
Rubidium 1fcd69096c Fix: do not update a RV's Z-position when stationary while turning
When the direction of a RV changes the Z-position update logic was called,
which did nothing to the Z-position because that is only changed every other
step. By chance/luck this never triggered with RV's turning around, until
making the partial Z calculations consistent and moving the locations where
the Z-position is changed, causing the Z-position to be changed twice for
the RV that stayed at the same location.
1 year ago
Rubidium e8af8daa68 Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states
Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take.
1 year ago
Jonathan G Rennison 17e289015e Adjust string names for label orders 1 year ago
Jonathan G Rennison 339a8b14c5 Reset departure board scrolling when resizing window 1 year ago
Jonathan G Rennison bb6d45e4dc Scroll departure boards at constant speed
Even when paused or fast forwarding

See: #505
1 year ago
Alberth289346 1321e48465
Fix: Update top toolbar tooltips for added features. (#10616) 1 year ago
Jonathan G Rennison 23319fbd4a Document uses of xflags and xdata in OrderExtraInfo 1 year ago
Jonathan G Rennison 2ff513f0cd Worker thread pool: Fix worker wake CV notify condition
The worker wake CV was only notified when the job queue was empty.
Now notify if the number of queued jobs is less than the number
of waiting workers.
1 year ago
Jonathan G Rennison 06e0f39aff Add text label and departure board via orders 1 year ago
Tyler Trahan 97bdf99239
Codechange: Add a property to graph windows for whether to draw dates (#10608) 1 year ago
translators 39c6b3def1 Update: Translations from eints
english (au): 2 changes by krysclarke
russian: 2 changes by Ln-Wolf
1 year ago
Tyler Trahan 0de5eb53fa
Codechange: Use constants for service interval max/min/default values (#10611) 1 year ago
Tyler Trahan 1691640603
Fix: Specify units for value of share trading age setting (#10612) 1 year ago
Jonathan G Rennison 3b6f7c09ad Allow changing colour of orders in order list and timetable windows 1 year ago
PeterN f1144de509
Feature: Separate rail/road and sea/air velocity units, and add knots. (#10594)
This is achieved by packing vehicle type along with the velocity so that
the string system can decode and pick the appropriate unit.
1 year ago
Jonathan G Rennison ab98af8dd2 Fix width of "extra" drop down box in timetable window 1 year ago
glx22 3a48d6e60f Fix 991a797: [Script] Allow STRINGN consumption to be different than expected 1 year ago
Jonathan G Rennison 43cea852a6 Fix 41b414b: Validate RAW_STRING parameter values in game_script mode 1 year ago
Peter Nelson 47e12a8790 Codechange: Check that CompanyMask fits into 16 bits during compilation. 1 year ago
Peter Nelson 5199881a8d Codechange: Use correct type for linkgraph company mask. 1 year ago
Peter Nelson 65e0b0dcb7 Codechange: Be consistent with how company masks are set to all. 1 year ago
Peter Nelson 08977828cc Fix: Check ID for name is within bounds. 1 year ago
Peter Nelson cd6c04a663 Fix: Check station ID is within bounds when copying layouts. 1 year ago
Peter Nelson 8361cf5a73 Fix: Check sprite group mapping ID is within bounds of feature. 1 year ago
Peter Nelson 96f4eb3681 Codechange: Check NewGRF feature is defined before processing any sprite group mapping.
Previously this was checked after loading ids, or repeatedly checked for
each item.
1 year ago
Peter Nelson 04215afe3f Codechange: Replace roadstop spec limit magic number with constant. 1 year ago
translators 9246789fd3 Update: Translations from eints
spanish (mexican): 2 changes by GNosii
vietnamese: 2 changes by KhoiCanDev
czech: 1 change by jachymozo
romanian: 10 changes by bnegrut
danish: 3 changes by bscargo
1 year ago
Loïc Guilloux e4c511d403
Fix #10578: Allow to select any version of AI/GS from GUI (#10604) 1 year ago
Jonathan G Rennison b776dcbd17 Departure boards: Fix terminus detection from via stops 1 year ago
Jonathan G Rennison c9c0436e58 Add company setting for remain at station if next order for same station
Set value on load for whether the save version had this enabled for trains
1 year ago
Jonathan G Rennison 1d05637d45 Add setting for rail depot maximum speed 1 year ago
Jonathan G Rennison e02585f68e Add railtype and signals variables for signal vertical clearance 1 year ago
Jonathan G Rennison 0370f2e3f1 Check that order is station type when comparing with last_station_visited 1 year ago
Jonathan G Rennison da97e0d170 Clear viewport map mode landscape caches when deleting/merging companies 1 year ago
Jonathan G Rennison 8ddb9462e6 Fix ValidateVehicleTileHash for aircraft and multi-part ships 1 year ago
Jonathan G Rennison d82a050365 Fix template replacement cache update crash in RemoveAllGroupsForCompany 1 year ago
Jonathan G Rennison e3e743ba1e Skip over dummy/invalid orders in destination prediction and auto-separation 1 year ago
Jonathan G Rennison 3d1b0af8f6 Merge branch 'master' into jgrpp
# Conflicts:
#	src/newgrf_debug_gui.cpp
#	src/object_cmd.cpp
#	src/object_gui.cpp
1 year ago
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
Jonathan G Rennison 62053779b5 Road stops: Add flag to read draw mode from register 0x100 1 year ago
Jonathan G Rennison 706d8f17a3 Road stops: Add bit for whether stop is being drawn in the build window 1 year ago
Jonathan G Rennison c9e62ca29b Only handle each conditional branch once in OrderList::GetNextStoppingStation 1 year ago
Jonathan G Rennison cfb0d366f3 Unix: Trigger crash log handler on receiving SIGQUIT 1 year ago
PeterN 73474b08fe
Fix: Clicking on editbox clear button didn't take account of padding. (#10583) 1 year ago
PeterN c1077212d7
Codechange: Use a shared_ptr for viewport overlay. (#10586) 1 year ago
Jonathan G Rennison b9a4cd57f8 TBTR: Refresh drag selection highlight when control key state changed 1 year ago
Jonathan G Rennison c018e58f1b TBTR: Add train tooltips (right click and hover) in template edit window 1 year ago
Jonathan G Rennison 899eaf4ef3 Do not clear train lookahead when entering a train depot 1 year ago
translators c905824248 Update: Translations from eints
chinese (traditional): 14 changes by inAndyPao
danish: 1 change by bscargo
1 year ago
Jonathan G Rennison 4127bc1344 Departure boards: Fix handling of missing travel times with conditional orders 1 year ago
Jonathan G Rennison 29c451d1a8 Script: Only log each string parameter warning message once 1 year ago
Jonathan G Rennison ce5c758f2b Clarify how the "town growth speed depends on transported cargo" setting works 1 year ago
Loïc Guilloux 9642e87bc8
Fix: [Script] Access to enum/consts defined outside of main.nut (#10573) 1 year ago
Tyler Trahan 0bf6f82305 Cleanup: Don't mix switches and early returns in widget selection 1 year ago
Tyler Trahan 066ae6f3fb Codechange: Simplify some CodeQL-flagged trivial switches 1 year ago
translators a15e584e40 Update: Translations from eints
japanese: 27 changes by fmang
chinese (simplified): 12 changes by XiaoJi-Game
1 year ago
Jonathan G Rennison 1031955033 Console: check_caches should also log failure messages to the console 1 year ago
Jonathan G Rennison 04aedf4798 TBTR: Add template replacement index validation to CheckCaches 1 year ago
Jonathan G Rennison 279e9c7ec6 TBTR: Tidy up includes 1 year ago
Jonathan G Rennison 1ad77f8697 TBTR: Re-index recursive replacements on group topology changes 1 year ago
Jonathan G Rennison 9f9cc99fc1 Merge branch 'master' into jgrpp 1 year ago
translators 24e9af83aa Update: Translations from eints
japanese: 22 changes by fmang
1 year ago
Jonathan G Rennison bd837a2fcd TBTR: Mark vehicles as requiring service on template/replacement change 1 year ago
Jonathan G Rennison d30157a113 Debug: Show whether vehicle needs service in debug window 1 year ago
Jonathan G Rennison 3ce2a01d12 TBTR: Fix template ownership and replacement checks in CmdReplaceTemplateVehicle 1 year ago
Jonathan G Rennison 6527e42cb1 TBTR: Maintain index of group to template replacement (recursive)
Use hash tables for TBTR indices
1 year ago
Jonathan G Rennison 9a1278bcd6 TBTR: Fix tooltips for start/stop replacement buttons 1 year ago
translators 83eb73a9b2 Update: Translations from eints
japanese: 12 changes by fmang
1 year ago
Jonathan G Rennison 1707f74d60 TBTR: Refactor template replacement code
Adjust conditions for re-using existing engines in depot
Reduce cost of searching for existing engines in depot
Reduce cost of vehicle chain membership tests
Improve replacement command error handling
Tidy up code in general
1 year ago
Jonathan G Rennison 5d5e005c5d Debug: Log aircraft target airport and movement state name 1 year ago
Jonathan G Rennison 035a3331a2 Avoid tile hash scans for unsuitable vehicle types in EnsureNoVehicleOnGround 1 year ago
Jonathan G Rennison a9156ed516 Do not include aircraft in flight in the vehicle tile hash 1 year ago
Jonathan G Rennison bd3df161e4 Debug: Show whether vehicle is in tile hash in debug info 1 year ago
Jonathan G Rennison 0ab54b2992 Debug: Fix aliasing of show/hide toggles for aircraft in debug window 1 year ago
Jonathan G Rennison a7efe91007 Script: More closely emulate old text param behaviour for 13 and below scripts 1 year ago
Jonathan G Rennison 887d474a2e Validate RAW_STRING parameter values in game_script mode 1 year ago
Jonathan G Rennison f3841e29c8 Saveload: Adjust formatting of _sl_xv_sub_chunk_infos 1 year ago
Jonathan G Rennison 2028472253 Saveload: Skip VENC/TNNC chunks entirely on non network server saves 1 year ago
Jonathan G Rennison c2752b31e6 Saveload: Use traditional map chunks for scenario saves 1 year ago
Jonathan G Rennison a57a909deb Saveload: Add special proc op for whether to save chunk 1 year ago
translators 1d915214a1 Update: Translations from eints
japanese: 31 changes by fmang
1 year ago
Jonathan G Rennison b4f32e44d9 Saveload: Change result type of ChunkSaveLoadSpecialProc 1 year ago
Jonathan G Rennison 6cdf67f38a Saveload: Add save flag for if this is a scenario save 1 year ago
Jonathan G Rennison 69c3e94111 Crashlog: Remove incorrect comment 1 year ago
Jonathan G Rennison 664c486fea Add "very reduced" mode to the vehicle breakdowns setting 1 year ago
translators d15a14bd9e Update: Translations from eints
japanese: 32 changes by fmang
danish: 7 changes by bscargo
1 year ago
Jonathan G Rennison a6babb23d3 Script: Allow text param mismatches for scripts with 13 or below compatibility 1 year ago
Jonathan G Rennison c644aa754d Only check primary vehicle ships in RemoveDock 1 year ago
Jonathan G Rennison b7cb4099a6 Add missing cast in Save_TNNC() 1 year ago
Jonathan G Rennison 2716217775 Merge branch 'master' into jgrpp
# Conflicts:
#	src/saveload/saveload.h
1 year ago
Tyler Trahan e5438891e2
Cleanup: Keep spacing saveload versions by groups of five (#10576) 1 year ago
Jonathan G Rennison 2e7545f85f Road stops: Add flag to use custom graphics for disabled views in build window 1 year ago
Jonathan G Rennison ec73775f97 Road stops: Shrink build window when changing to a shorter type 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
Jonathan G Rennison 6f42561859 Use std::vector for generic callback handlers 1 year ago
Jonathan G Rennison 5dd285b0d9 Don't save TNNC chunk if there are no town zone callback handlers 1 year ago
Jonathan G Rennison 062d57eadb Merge branch 'master' into jgrpp
# Conflicts:
#	src/openttd.cpp
#	src/video/dedicated_v.cpp
1 year ago
translators 0bf6d80cd7 Update: Translations from eints
danish: 161 changes by bscargo
1 year ago
Jonathan G Rennison 4dc846949c Bump savegame version for multi-cargo ships 1 year ago
Jonathan G Rennison 8cd7c9559f Multi-part ships: Require feature test to enable callback 16 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
Jonathan G Rennison 87e4258fe3 Allow selecting individual ship parts in refit window
Add callback to name ship parts in refit window
1 year ago
Jonathan G Rennison 211fdd62b2 Initial support for multi-part (pseudo-articulated) ships 1 year ago
Jonathan G Rennison 5718730d68 VarAction2: Add support for more varaction2 types
Add CB failure and deterministic relative types
1 year ago
Jonathan G Rennison 48d602962f Road stops: Add inferred one way road state to var 50/roadstop_misc_info 1 year ago
Jonathan G Rennison eebb427b42 Fix overbuilding a road stop/waypoint clearing the one-way state 1 year ago
Jonathan G Rennison 1dce4a0bef Debug: Show reliability/breakdown values in vehicle debug window 1 year ago
Jonathan G Rennison 9c5f81790a Debug: Split industry produced cargo info across multiple lines 1 year ago
Jonathan G Rennison 2e77754c04 Fix comment for XSCF_EXTRA_DATA_PRESENT flag 1 year ago
Jonathan G Rennison f44d455adc Send town zone radii to network clients in new TNNC chunk 1 year ago
Jonathan G Rennison ae99f667b0 NewGRF: Add generic town callback to set town zone radii 1 year ago
Jonathan G Rennison 93c34775e4 NewGRF: Add town variables for uncapped house count, population and zone radii
Add feature name
1 year ago
Jonathan G Rennison 5acf18fb37 NewGRF: Allow mapping a feature ID to the town scope 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
Jonathan G Rennison 57c5cc32d0 VarAction2: Improve handling of feature changes with parent scopes 1 year ago
Jonathan G Rennison 205cb2d3ea Fix autosave setting dropdown strings
See: #496
1 year ago
Jonathan G Rennison 4555724da4 Add CBID_VEHICLE_NAME to GetNewGRFCallbackName 1 year ago
TELK 2bc46cc9b7 Update: Korean translation according to splitting extra 1 year ago
TELK bf86e66186 Fix: Korean translation for "Freight" filter 1 year 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
1 year ago
Jonathan G Rennison 3657db3b23 Fix 6aa8997e: Type mismatch for _sl_xv_upstream_version variable 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
Jonathan G Rennison ffb6588481 Add header guard to unit_conversion.h 1 year ago
Jonathan G Rennison fd532fbd6f Avoid integer overflow issues in measurement tooltip
For large distances
Use integer instead of floating point sqrt
1 year ago
Jonathan G Rennison 3017cb63a9 Fix parameter shadowing in ApplyLookAheadItem 1 year ago
Jonathan G Rennison 277985ad9d Fix parameter shadowing in GetTrainStopLocation 1 year ago
PeterN 2d3250923c
Fix #10554: Let Scrollbar::SetPosition clamp instead of assert. (#10555) 1 year 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
1 year ago
Jonathan G Rennison 5b788dcb97 Tracerestrict: Use switch for actions in GetTraceRestrictTypeProperties 1 year ago
Jonathan G Rennison 6a0139354a Tracerestrict: Fix various comments 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
Jonathan G Rennison ef95af6987 Tracerestrict: Warn when reserved tiles ahead used without realistic braking 1 year ago
Joan Josep d80f193e74
Fix: Improve grfmessage for ShipVehicleChangeInfo. (#10558) 1 year ago
Jonathan G Rennison fd144369a9 Tracerestrict: Re-order action/condition type dropdown
Refactor lists to simplify hide conditions
1 year ago
Jonathan G Rennison 119e24fe9d Tracerestrict: Reset dual instruction value when changing instruction type 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
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
1 year ago
Jonathan G Rennison 0fc9223724 VarAction2: Support extended bytes for var 0x7E proc with more_action2_ids 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
Jonathan G Rennison e061fa06fd Fix template train build window not being refreshed for variants changes 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
Jonathan G Rennison 57437e7068 Saveload: Fix upstream version handling of league table chunks 1 year ago
Jonathan G Rennison 6aa8997eee Saveload: Add corresponding upstream version to SLXI chunk 1 year ago
Jonathan G Rennison 2acc00ab13 Saveload: Fix upstream chunk load state not be cleared before load 1 year ago
Jonathan G Rennison 8dca681c8c Use btree_multimap for pending speed restrictions
Avoid unnecessary iteration when saving VESR chunk
1 year ago
Jonathan G Rennison 70311c0843 Tracerestrict: Use btree_multimap for slot vehicle index 1 year 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.
1 year ago
Jonathan G Rennison dedb0ff7e2 Avoid unordered map/multimap for tunnel tile index and axis height maps
Use robin_hood and btree_multimap instead
1 year ago
Jonathan G Rennison d94e8d7b5c Merge branch 'master' into jgrpp
# Conflicts:
#	src/script/api/script_object.cpp
#	src/script/api/script_roadtypelist.cpp
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
Jonathan G Rennison b07d964081 Allow use of GetTownRoadType result in HasRoadTypeAvail for towns 1 year 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
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
Jonathan G Rennison 983790ec7a Remove unused town argument from GetTownRoadType 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
Jonathan G Rennison de17e0aa4d NewGRF: Add extension for more Action2 set IDs 1 year ago
Jonathan G Rennison 2b288c8056 Merge PR #491: Galician language strings 1 year ago
Jonathan G Rennison cbd71b3d58 Merge branch 'master' into jgrpp
# Conflicts:
#	src/order_cmd.cpp
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 2ea1766677 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/commit-checker.yml
#	src/industry_cmd.cpp
#	src/industry_gui.cpp
#	src/landscape.cpp
#	src/linkgraph/linkgraph_gui.cpp
#	src/order_base.h
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/saveload/afterload.cpp
#	src/saveload/league_sl.cpp
#	src/saveload/saveload.h
#	src/script/api/script_object.hpp
#	src/script/squirrel_helper.hpp
#	src/settings_table.cpp
#	src/station_cmd.cpp
#	src/table/settings.h.preamble
#	src/tree_cmd.cpp
#	src/tree_map.h
#	src/vehicle.cpp
#	src/waypoint_cmd.cpp
1 year ago
Jonathan G Rennison 4ec6a99dd8 Add GetTileTrackStatus wrapper for when red signals part is not needed 1 year ago
Jonathan G Rennison ae7c86c49d Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	src/industry_cmd.cpp
#	src/industry_cmd.h
#	src/network/core/http_curl.cpp
#	src/network/core/tcp_http.cpp
#	src/network/core/tcp_http.h
#	src/network/network_content.h
#	src/script/api/script_goal.cpp
#	src/script/api/script_industry.cpp
#	src/script/api/script_league.cpp
#	src/script/api/script_story_page.cpp
#	src/script/api/script_town.cpp
#	src/train.h
#	src/train_cmd.cpp
1 year ago
Jonathan G Rennison 3549d5be20 Add fmt-based Debug macro for upstream 1 year ago
Jonathan G Rennison a2d2dcd3d5 3rdparty: Add fmt from upstream 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
Jonathan G Rennison 088cc20186 Fix water flooding in the scenario editor at day lengths > 4 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 36700631aa Use SoftClamp for QueryWindow::FindWindowPlacementAndResize
See: #490
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
Jonathan G Rennison 412eab22c0 Fix: IgnoreRoadStopProperty did not handle properties 0x0E - 0x12, 0x15 1 year ago
Jonathan G Rennison 8e900c7a87 Fix: IgnoreObjectProperty did not handle object property 0x18 1 year ago
Zachary e17c82e32b Add: maximum number of companies allowed to the client list 1 year ago
Jonathan G Rennison 467b20f5e2 Link graph: Fix tooltips with vertical link graph lines
See: https://github.com/OpenTTD/OpenTTD/issues/10522
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
Jonathan G Rennison b7a82e0f29 AyStar: Reduce redundant GetElement calls in BinaryHeap 1 year ago
Jonathan G Rennison 88d7a8ea13 Formatting: Fix indentation of public/private specifiers 1 year ago
Jonathan G Rennison 0a8c58b755 Public roads: Fix memory leaks 1 year ago
Jonathan G Rennison 777dcd047d CMake: Add missing references in src/3rdparty 1 year ago
Jonathan G Rennison b1d55519d3 strgen: Fix memory leak 1 year ago
Jonathan G Rennison 50be7b224a Road waypoints: Clip previews in build windows to drawing area 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
Jonathan G Rennison db224585eb Revert "Public roads: Dynamically set A* max search nodes"
This reverts commit acd67a0d0b.
1 year ago
Jonathan G Rennison 8e5371eec4 Public roads: Fix handling of non-trivial foundations 1 year ago
Jonathan G Rennison d64b52cdaf AyStar: Change types used for hashes and queue
Use robin_hood for the hashes
Store nodes in PodPools
Change BinaryHeap to store node IDs
1 year ago
Jonathan G Rennison dd1bd270e7 AyStar: Use dbg_assert in BinaryHeap Push, GetElement 1 year ago
Jonathan G Rennison ad90f90d43 Public roads: Adjust return type of town_network_distance 1 year ago
Jonathan G Rennison acd67a0d0b Public roads: Dynamically set A* max search nodes 1 year ago
Jonathan G Rennison ff189e44e4 Public roads: Handle non-trivial existing foundations 1 year ago
Jonathan G Rennison 2d1b3fb6e7 Public roads: Remove visited towns mechanism
It is excessively expensive, and not needed
1 year ago
Jonathan G Rennison 5641c926bf Public roads: Use robin_hood hash maps for checked towns and town to network 1 year ago
Jonathan G Rennison 72237f01cc Add robin_hood hash set/map containers to 3rdparty 1 year ago
Jonathan G Rennison 83b9344f5c Add a POD pool-type container class 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
Jonathan G Rennison b56d7267dc Public roads: Remove unnecessary sorting operations 1 year ago
Jonathan G Rennison 3967a9fdb0 Public roads: Reuse AyStar finder instance 1 year ago
Jonathan G Rennison 06ffc0ba70 Public roads: Avoid dangling pointer issues in AyStar user target 1 year ago
Jonathan G Rennison f8130f5cb7 Public roads: Remove use of shared_ptr 1 year ago
Jonathan G Rennison 84914129a5 Fix wrong string order for about menu dropdown texts 1 year ago
translators 2561fad5d4 Update: Translations from eints
romanian: 1 change by bnegrut
1 year ago
Jonathan G Rennison 3d7f9ea50e TBTR: Fix template build window not being refreshed after wagon flip in MP 1 year ago
Jonathan G Rennison e0a42b5945 Debug: Add dumping of rail and road/tram sprite groups 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
Jonathan G Rennison 86aeb16f55 Fix wrong string ordering for town growth setting 1 year ago
Jonathan G Rennison b1ba2bef4b VarAction2: Use const for prev_inference flags 1 year ago
Jonathan G Rennison 439c1208d7 VarAction2: Optimise unknown reads from 0x11 as constant 0 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
Jonathan G Rennison 6285b5823b 3rdparty: Update monocypher from 3.1.2 to 3.1.3 1 year ago
Jonathan G Rennison 97acdfaa05 Crashlog: Unix: Use dladdr1 for symbol offset for addr2line
Subtract 1 from offset given to addr2line
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
PeterN 968709735d Fix #10477: Not enough space for text due to rounding down (OSX) (#10489)
(cherry picked from commit 2376112c77)
1 year ago
Loïc Guilloux 8b36b2cbf3 Fix #10486: [Script] Debug window requires AIs to be started before GS (#10487)
(cherry picked from commit 4072dcff49)
1 year ago
Jonathan G Rennison c45bd3020d strgen: Fix type conversion warnings 1 year ago
Jonathan G Rennison 3c5ae5563d Fix missing include 1 year ago
Jonathan G Rennison 6a53ec4c20 Fix 8d6e5779: Use of ssize_t is problematic on Windows 1 year ago