Commit Graph

41873 Commits (1dbbbed9e5c9c68f8adf9ad6ac5f0914257aa6a5)

Author SHA1 Message Date
SamuXarick fd26a44c9e Change: Allow GS access to more ScriptCompany functions 1 year ago
Andy 8b1960a41c Change: Allow GS access to more ScriptOrder functions 1 year ago
PeterN db573c8742
Fix #10660: Sprite Font scale affected by viewport zoom level limits. (#10668) 1 year ago
Charles Pigott e20a6f8ebb
Codechange: Optimise FormatNumber by removing seprintf calls (#10659) 1 year ago
Andy 15c3bc456f
Change: extend callback 161 (engine name) with bit 0x22 for context 'Autoreplace - Vehicles in use' (#10666) 1 year ago
PeterN d949cfab24
Codechange: Use std:: features for NewGRF town names (#10631)
This removes manual memory (de-)allocation and list counting.
1 year ago
Jonathan G Rennison e7687da4cc Departure boards: Change long vehicle names to traditional if group also shown 1 year ago
Rubidium 4491e45f3c Update: change {STRING} to {ZEROFILL_NUM} for STR_FORMAT_DATE_TINY/ISO 1 year ago
Rubidium 29b09523d1 Codechange: Use {ZEROFILL_NUM} instead of custom seprintf + {RAW_STRING} 1 year ago
PeterN e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. (#10663)
This avoids a (soft) namespace conflict between the four ST_* enums.
1 year ago
Jonathan G Rennison 4f9aa70c11 Departure boards: Fix vehicle type icon in right-to-left languages 1 year ago
translators 32c8e7feb8 Update: Translations from eints
english (au): 4 changes by krysclarke
vietnamese: 31 changes by KhoiCanDev
russian: 4 changes by Ln-Wolf
portuguese: 4 changes by azulcosta
1 year ago
Jonathan G Rennison b7e12189cf Departure boards: Adjust scaling and increase padding between columns 1 year ago
Patric Stout ed83c4b0da
Change: replace per-AI "start_date" with a global "competitors_interval" (#10653)
The per-AI "start_date" is a lot of custom code, and was rarely
used in the way it was meant.

While at it, also ported this part over to the new timer system.
1 year ago
Jonathan G Rennison 404fb8bae2 Departure boards: Do not include hidden columns in minimum window width 1 year ago
Jonathan G Rennison 508f503039 Fix station cargo graph window
See: https://github.com/OpenTTD/OpenTTD/pull/10608
1 year ago
Rubidium 43a7e54067 Add: unit test functionality using catch2 1 year ago
Rubidium 88ead3f102 Add: catch2 v2.13.10 1 year ago
Rubidium 9b56505fec Codechange: split building into a library and executable 1 year ago
Rubidium 9e89eb5726 Codechange: move main function(s) to separate files 1 year ago
Peter Nelson 7b0797d1cd Codechange: Use unique ptrs for NewGRF specs. 1 year ago
Peter Nelson ef6b307465 Change: Use std::vector for NewGRF spec tables.
Pointer space is allocated only for the number of IDs used, instead of
the max number of IDs for each feature.
1 year ago
Peter Nelson 15e6fc4eeb Codechange: Use iterator when mapping sprite groups. 1 year ago
Tyler Trahan bc44158f9a
Change: Allow overbuilding station and waypoint tiles (#10618) 1 year ago
translators 27b40da06a Update: Translations from eints
catalan: 14 changes by J0anJosep
portuguese: 20 changes by azulcosta
portuguese (brazilian): 15 changes by ericandradex
1 year ago
Charles Pigott 6fc28d649e Cleanup: Unused alloca definitions and includes 1 year ago
Charles Pigott b282664242 Codechange: Replace all usages of alloca/AllocaM with more modern/less discouraged alternatives 1 year ago
rubidium42 b19f42ecd9
Codechange: Replace some p1/p2 parameter names with better names (#10658) 1 year ago
Patric Stout 387d5eb74f Codechange: validate the developer didn't schedule two timers on the same trigger/priority 1 year ago
Patric Stout 3ebc7ad16e Codechange: migrate all game-time-related timers to the new framework 1 year ago
Patric Stout 1ba4dcc924 Codechange: migrate all Window-related timers to the new framework
This means we also say goodbye to GUITimers.
1 year ago
Patric Stout 5e1bcee39b Codechange: introduce a framework for all our timers
IntervalTimer and TimeoutTimer use RAII, and can be used to replace
all the time-based timeouts, lag-detection, "execute every N" we
have.
As it uses RAII, you can safely use it as static variable, class
member, temporary variable, etc. As soon as it goes out-of-scope,
it will be safely removed.
This allows for much easier to read code when it comes to intervals.
1 year ago
rubidium42 730687080a
Fix: Update some network documentation to match the new command system (#10657) 1 year ago
Jonathan G Rennison f803ec9162 Simplify implementation of TownGenerateCargo 1 year ago
Tyler Trahan 646a7e625b
Change: Use seconds for Linkgraph update settings (#10610) 1 year ago
translators 0e915c830c Update: Translations from eints
dutch: 15 changes by Afoklala
1 year ago
Tyler Trahan 8e04cba0c3
Change: Make tick length 27 milliseconds (#10607)
This makes a month last about 60 seconds, allowing the use of real-time units in game.

Co-authored-by: Niels Martin Hansen <nielsm@indvikleren.dk>
1 year ago
Jonathan G Rennison 3b72241280 Bump OpenTTD content server vanilla compatibility version to 13.0 1 year ago
Jonathan G Rennison 64925aedf8 Add town variable for town tile X and Y coordinates 1 year ago
Peter Nelson e5af5907ec Change: Make all dropdown lists extend width if necessary.
This removes the auto_width parameter from ShowDropDown(At).
1 year ago
Peter Nelson 5bc9d00735 Cleanup: Let GetStringBoundingBox deal with buffer. 1 year ago
Peter Nelson 701092003d Fix: DropDownListColourItem didn't provide width nor scale vertical padding. 1 year ago
Jonathan G Rennison ce9480ee20 Truncate house variable 47 TileX part if too large 1 year ago
Jonathan G Rennison 9fd01d57cc Rename town zone extended variable identifiers 1 year ago
Jonathan G Rennison ac0c8c8cdd Debug: Show local GRF IDs for engines, stations, houses, objects and road stops 1 year ago
Jonathan G Rennison bb988f940e Fix #10638: Incorrect water infra total when building canal over object
In the case where the object is on an unowned canal tile and
the new canal tile is owned
1 year ago
Jonathan G Rennison 1d947201d3 Debug: Fix expand/collapse for extra engine flags 1 year ago
translators d04aae8428 Update: Translations from eints
danish: 18 changes by bscargo
1 year ago
PeterN ff55bfb787
Fix #10343: Don't extend town-disallowed roadtypes. (#10347)
Towns currently don't build disallowed roadtypes, however they should
also not extend disallowed roadtypes as well.

If the roadtype that cannot be extended happens to be the roadtype that
the town was going to build then this restriction is ignored.
1 year ago
TELK a47f92d309 Update: Korean translation up to 9bf6a1d 1 year ago
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