Commit Graph

43951 Commits

Author SHA1 Message Date
Kuhnovic
a7c2f489f6 Fix #5713: FindClosestShipDepot only considers depots that are actually reachable (#11768)
(cherry picked from commit 8a4a99b7e8)
2024-01-27 18:49:14 +00:00
Jonathan G Rennison
f9321686a7 Remove old reference to FindLastBit64 from tests 2024-01-27 17:11:29 +00:00
Jonathan G Rennison
2e93daf93b Advance _scaled_date_ticks in scenario editor
For timetables and train speed adaptation
2024-01-27 16:48:00 +00:00
Jonathan G Rennison
7db457ad80 Use _scaled_date_ticks in ODATFB_NEAREST_DEPOT rate-limiting 2024-01-27 16:40:11 +00:00
Jonathan G Rennison
1ce8930583 Use DateTicksScaled for Vehicle::last_loading_tick 2024-01-27 16:38:27 +00:00
Jonathan G Rennison
74686b9c63 Add an AsTicksT template cast with clamping to DateTicksScaledDelta
Implement AsTicks in terms of AsTicksT
2024-01-27 16:28:45 +00:00
Jonathan G Rennison
521281446c Update NETWORK_GAME_INFO_VERSION to version 7 2024-01-27 15:19:33 +00:00
Jonathan G Rennison
540be178fc Add transparency_tunnels hotkey
See: #634
2024-01-27 14:56:12 +00:00
Kuhnovic
784951c942 Fix: use correct size parameter type in TileArea constructors (#11869)
(cherry picked from commit bf3fd6526b)
2024-01-27 14:56:12 +00:00
Patric Stout
63dc0a4f5e Fix: update server as offline when unexpected disconnect during refresh (#11891)
(cherry picked from commit 2bbc95cac3)
2024-01-27 14:56:12 +00:00
Loïc Guilloux
2e42a23a7e Fix b38d3c2208: missing water regions invalidation when building locks (#11879)
(cherry picked from commit 09b66751cf)
2024-01-27 14:56:12 +00:00
Patric Stout
c021c80b08 Fix #6377: two tarballs with the same folder in them were considered as one (#11855)
(cherry picked from commit 0c81579363)
2024-01-27 14:56:12 +00:00
SamuXarick
b721dbf850 Revert #6923: start_date parameter is no longer in use
There was an issue with the start_date parameter for AIs. It did not let Random AIs to have their configure button clickable once the game has started, and this was due to the start_date not being pushed into the config.

But now that start_date is no longer in use since #10653, this workaround can be safely removed.

(cherry picked from commit 6588680ccc)
2024-01-27 14:56:12 +00:00
Patric Stout
e1673d5635 Fix #9722: create vital windows as soon as local_company is set (#11858)
Many places use local_company to detect whether world generation is
done, and blindly assume all vital windows exists when local_company
is set.

(cherry picked from commit f35e257adc)
2024-01-27 14:56:12 +00:00
Patric Stout
90859fbe25 Codechange: prevent out-of-bound read (even if the result is never used) (#11853)
(cherry picked from commit fe035c306e)
2024-01-27 14:56:12 +00:00
Peter Nelson
be147651d4 Codechange: Replace GroupStatistics' num_engines with std::map. (#11849)
This removes manual memory management with calloc/free calls, and prevents potentially large arrays being allocated for each group.

(cherry picked from commit 8797cc7ef2)
2024-01-27 14:56:12 +00:00
Peter Nelson
17934bcc90 Fix #11827: Make Layouter::GetCharPosition() aware of ligatures. (#11831)
When ligatures happen the precise individual character position is not known, so instead return the previous position (which is that of the ligature.)

(cherry picked from commit d6ccfdbbd9)
2024-01-27 14:01:13 +00:00
Jonathan G Rennison
911ccc16fb Script: Add compatibility layer for old cargo scaling settings 2024-01-26 18:30:11 +00:00
Jonathan G Rennison
e0699c15b6 Add function to turn a percentage into a quantity scaling factor 2024-01-26 18:23:53 +00:00
Jonathan G Rennison
c26ca5369e Unconditionally use FindFirstBit in SetBitIterator
Add simple tests
2024-01-25 22:36:01 +00:00
Jonathan G Rennison
5404be172c Merge branch 'master' into jgrpp
# Conflicts:
#	src/core/bitmath_func.cpp
#	src/core/bitmath_func.hpp
#	src/core/geometry_type.hpp
#	src/game/game_text.hpp
#	src/graph_gui.cpp
#	src/pathfinder/npf/npf.cpp
#	src/script/api/script_text.cpp
#	src/spritecache.cpp
#	src/track_func.h
2024-01-25 22:36:01 +00:00
Jonathan G Rennison
78e08fdd18 Script: Move old-style/lenient text param encode to separate function 2024-01-25 17:35:08 +00:00
Jonathan G Rennison
822ecae85d Merge branch 'master' into jgrpp
# Conflicts:
#	src/cargotype.h
#	src/core/CMakeLists.txt
#	src/core/span_type.hpp
#	src/fileio.cpp
#	src/fios.cpp
#	src/misc/endian_buffer.hpp
#	src/misc_gui.cpp
#	src/saveload/saveload.h
#	src/saveload/vehicle_sl.cpp
#	src/screenshot.cpp
#	src/settings.cpp
#	src/settings_internal.h
#	src/stdafx.h
#	src/string_func.h
#	src/strings.cpp
#	src/strings_func.h
#	src/strings_internal.h
2024-01-25 18:37:23 +00:00
Jonathan G Rennison
49eb40bc4f Change various _network_dedicated tests to use IsHeadless 2024-01-24 23:31:35 +00:00
Jonathan G Rennison
ced17a74e8 Do not update viewport signs when running headlessly 2024-01-24 23:26:02 +00:00
Jonathan G Rennison
04e47eca9a Do not create text effects when running headlessly 2024-01-24 23:20:45 +00:00
Jonathan G Rennison
fa003ebda3 Disable vehicle sounds entirely when running headlessly 2024-01-24 23:20:45 +00:00
Jonathan G Rennison
f0ec7a7693 Add function for whether OpenTTD is running headlessly
Always returns true for dedicated builds
Returns _network_dedicated otherwise
2024-01-24 23:17:53 +00:00
Jonathan G Rennison
c871464285 Split bit numbers from values in RailTypeFlags, RoadTypeFlags enums 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
dc9f322478 Use [[no_unique_address]] for space in end of NewGRFCache 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
df9fc6d1cf Use comparison operator for NewGRFCache instead of memcmp 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
c8f5585ba7 Use [[no_unique_address]] in CargoList
Re-use tail padding of ring_buffer for count
2024-01-24 23:17:53 +00:00
Jonathan G Rennison
0d0357bd40 stdafx: Add macro for [[no_unique_address]] 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
b01fd1607a Re-order various structs to reduce holes/padding 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
b64a51876a Set sizes for various enum types 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
ba5d3588aa Link graph: Fix typo in method name 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
3017660e5d Reduce the size of VehicleSpriteSeq (and Vehicle) in dedicated builds 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
770915ccc2 Remove networking test from UpdateStateChecksum in dedicated builds 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
628106d182 Scheduled dispatch: Show start date button as start time when using minutes 2024-01-24 23:12:40 +00:00
Jonathan G Rennison
39e7a9252c Link graph: Use non-sparse matrix for accumulating demand totals 2024-01-24 23:12:40 +00:00
Jonathan G Rennison
5bd4e96347 Fix crash when rendering linkgraph overlay in smallmap window
See: #633
2024-01-23 00:09:03 +00:00
Jonathan G Rennison
e86d52bcaf Include all company totals in dump_veh_stats console command 2024-01-22 20:44:44 +00:00
Jonathan G Rennison
ea3795201d Scheduled dispatch: Show warnings for shown times >= 23 hours in the past
Adjust line layout
2024-01-22 18:48:37 +00:00
Jonathan G Rennison
9be3dfa69c Scheduled dispatch: Use an invalid value for no last dispatch, not 0 2024-01-22 18:27:28 +00:00
Jonathan G Rennison
11274feb35 Fix deprecated builtin warning in robin_hood 2024-01-22 02:30:53 +00:00
Jonathan G Rennison
f1073d20e9 Fix various narrowing cast warnings 2024-01-22 02:23:59 +00:00
Jonathan G Rennison
5f7034f23c Fix clang compilation issue with _text_effects 2024-01-22 02:14:56 +00:00
Jonathan G Rennison
5b7689a0aa Scheduled dispatch: Add flag to re-use all dispatch slots 2024-01-22 01:35:04 +00:00
Jonathan G Rennison
423877374b Linkgraph overlay: Skip refresh if periodic cache rebuild has no changes 2024-01-22 01:34:37 +00:00
Jonathan G Rennison
a40aa5e5b8 Add default equality operator to Point 2024-01-22 01:15:33 +00:00
Jonathan G Rennison
a6635088e9 ring buffer: Fix ambiguous comparison operators in C++20 2024-01-22 01:08:07 +00:00
Jonathan G Rennison
56ac16c10e cpp-btree: Remove trivial operator!= no longer required in C++20 2024-01-21 23:53:28 +00:00
Jonathan G Rennison
606d7cd814 Merge branch 'master' into jgrpp
# Conflicts:
#	src/airport_gui.cpp
#	src/build_vehicle_gui.cpp
#	src/direction_type.h
#	src/gfx_type.h
#	src/group_gui.cpp
#	src/misc_gui.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/signs_gui.cpp
#	src/slope_func.h
#	src/smallmap_gui.cpp
#	src/terraform_gui.cpp
#	src/toolbar_gui.cpp
#	src/town_gui.cpp
#	src/town_type.h
#	src/vehicle_type.h
#	src/widget_type.h
2024-01-21 23:03:08 +00:00
Jonathan G Rennison
e9c1572f03 Disallow setting scheduled dispatch schedule duration to 0 2024-01-21 02:41:23 +00:00
Jonathan G Rennison
59b69aba62 Fix VideoDriver_Dedicated not marking the main thread as the game thread 2024-01-21 02:19:33 +00:00
Jonathan G Rennison
f247451c61 Fix division by zero when wrapping lateness_counter with 0 timetable duration 2024-01-21 02:07:32 +00:00
Jonathan G Rennison
74b5511dbc Remove C++11 test from USE_SCOPE_INFO condition 2024-01-21 02:04:09 +00:00
Jonathan G Rennison
461fe116f2 Tracerestrict: Pass vehicle ptr instead of index to Occupy/Vacate
And related functions, to avoid unnecessary vehicle pool lookup
2024-01-20 23:28:03 +00:00
Jonathan G Rennison
876bce431f Tracerestrict: Add release slot on reserve slot op subtype 2024-01-20 23:06:13 +00:00
Jonathan G Rennison
d62ae41e03 Tracerestrict: Remove TRSCOF_ACQUIRE_TRY_ON_RESERVE, same as TRSCOF_ACQUIRE_TRY 2024-01-20 22:49:55 +00:00
Jonathan G Rennison
fc51491361 Tracerestrict: Use combined aux and cond op fields for TRIT_SLOT subtype 2024-01-20 22:43:53 +00:00
Jonathan G Rennison
f03a941b50 Tracerestrict: Sort slots by name in vehicle window 2024-01-20 22:29:36 +00:00
Jonathan G Rennison
24fc4e3e3f Tracerestrict: Remove TRPISP_PBS_RES_END_RELEASE 2024-01-20 22:24:19 +00:00
Jonathan G Rennison
7d1e350b94 Tracerestrict: Handle slot acquire on tunnel/bridge entrance reserve
When using realistic braking
Using the same context as PBS end acquire/release
2024-01-20 22:20:51 +00:00
Jonathan G Rennison
9e8a43144a Tracerestrict: Handle slot acquire and wait at PBS on intermediary reservation signals
Wait at PBS is applied as if on the starting signal
2024-01-20 20:42:13 +00:00
Jonathan G Rennison
a21a69c957 Tracerestrict: Add a flag for whether slot conditionals are present 2024-01-20 20:31:56 +00:00
Jonathan G Rennison
d502b6469d Tracerestrict: Add a slot acquire using temporary state mode 2024-01-20 20:31:25 +00:00
Jonathan G Rennison
ffbb30996a Tracerestrict: Move slot temporary state to a separate struct 2024-01-20 20:28:11 +00:00
Jonathan G Rennison
293b5c9435 Tracerestrict: Remove slot acquire on reservation flags 2024-01-20 20:23:55 +00:00
Jonathan G Rennison
5a731c04f3 Tracerestrict: Do not acquire slots a second time when front passes signal
If slot acquire was already handled during reservation
2024-01-20 15:41:24 +00:00
Jonathan G Rennison
5e2a8861f9 Tracerestrict: Avoid prematurely acquiring slots on tunnel/bridge exits
Due to checking the long reserve and wait at PBS/slots in a single pass
2024-01-20 15:14:53 +00:00
Jonathan G Rennison
ed59f6a8b9 Fix upgrading bridge type clearing custom signal style and routing restriction flags 2024-01-20 13:23:08 +00:00
Jonathan G Rennison
c9422762c0 Tracerestrict: Add 0 enum value for TraceRestrictProgramActionsUsedFlags 2024-01-20 12:58:38 +00:00
Jonathan G Rennison
fa1c4f2be5 Tracerestrict: Add bit allocation diagram for TraceRestrictItem 2024-01-19 21:09:25 +00:00
Jonathan G Rennison
1408b12249 Tracerestrict: Add get/set to use auxiliary and cond op as a single field 2024-01-19 21:09:08 +00:00
Jonathan G Rennison
2d56c4d2e3 Tracerestrict: Update comment for TraceRestrictItem enum 2024-01-19 20:43:56 +00:00
Rubidium
6b21368bc2 Codechange: replace FIND_FIRST_BIT/FindFirstBit2x64 with FindFirstBit 2024-01-19 21:10:39 +01:00
Rubidium
8faaedeff9 Codechange: replace hand written function to find first/last bit with C++ variant 2024-01-19 21:10:39 +01:00
Peter Nelson
903119115b
Fix 9602de4: FinaliseCargoArray did nothing. (#11839)
`CargoSpec::Iterate()` deliberately skips invalid cargo types, but `FinaliseCargoCarry()` is only interested in them.
2024-01-19 20:07:47 +00:00
translators
db7697bcdf Update: Translations from eints
chinese (simplified): 22 changes by WenSimEHRP
romanian: 37 changes by bnegrut
2024-01-19 18:40:43 +00:00
Peter Nelson
9cf47af490
Change: Invalidate music volume when restarting music playback on Windows. (#11836) 2024-01-19 17:01:36 +00:00
Peter Nelson
6a2c37b4ed
Fix 09f585b: Crash if font name ends with comma or comma and whitespace on Linux. (#11838) 2024-01-19 08:03:32 +00:00
Rubidium
1c694e433d Codechange: use std::popcount instead of hand written loop 2024-01-19 06:48:55 +01:00
Peter Nelson
ae575a7a5b Codechange: Store text run positions in vector of points.
This simplifies the interlaced vector of x/y positions.
2024-01-19 00:08:31 +00:00
Peter Nelson
f7cc88f370 Codechange: Return vector references instead of pointer to first item. 2024-01-19 00:08:31 +00:00
Patric Stout
52d4a11dd3 Fix: [HarfBuzz] make HarfBuzz use the same glyphs as we render
(cherry picked from commit 2b599c9d00)
2024-01-18 22:32:09 +00:00
Patric Stout
7881264d6d Codechange: [HarfBuzz] hb-ft will set the scaling on its own
(cherry picked from commit a24c2bf10a)
2024-01-18 22:32:09 +00:00
Michael Lutz
8ab3b6b205 Fix #11791, e1f5be62: Run missing-glyph detection after toggling sprite font. (#11812)
(cherry picked from commit fd59393899)
2024-01-18 22:32:09 +00:00
Jonathan G Rennison
19b23e43fd Merge branch 'master' into jgrpp 2024-01-18 22:32:09 +00:00
Rubidium
2f8de227dc Remove: unused OTTD_ALIGNMENT define and ReadLE16(Un)aligned 2024-01-18 23:29:15 +01:00
Rubidium
ee00c7b159 Codechange: use TO_LE16 directly when reading language file offsets 2024-01-18 23:29:15 +01:00
Jonathan G Rennison
7a5e8dd991 Linkgraph: Scroll overlay pixel cache instead of clearing it on scroll
Reduce cost of preparing/drawing cache
Improve missing station checks in RefreshDrawCache
Remove need for checks in DrawLinks
Don't rebase overlay cache coordinate to screen in viewport map mode
2024-01-18 22:07:16 +00:00
Jonathan G Rennison
6c30e88890 Use overlay layer for plan rendering in viewport map mode
Scroll overlay layer when viewport is scrolled
2024-01-18 22:03:07 +00:00
Jonathan G Rennison
3d87cfeca5 Plans: Cache whether any plans are currently visible 2024-01-18 21:58:48 +00:00
Jonathan G Rennison
1159224d6f Plans: Fix missing const specifiers on visibility getters 2024-01-18 21:58:48 +00:00
Jonathan G Rennison
a3c5084b29 Viewport map mode: Scroll landscape cache instead of clearing it on scroll 2024-01-18 21:58:46 +00:00
Jonathan G Rennison
0bcbdef512 Use overlay layer for link graph overlay in viewport map mode
Reduce performance cost of many small redraw areas
2024-01-18 21:49:30 +00:00
Jonathan G Rennison
888b7b5dce Add a simple 64 bit to 64 bit hash (from MurmurHash3) 2024-01-18 21:49:30 +00:00
translators
32b99bf77c Update: Translations from eints
portuguese: 4 changes by azulcosta
2024-01-18 18:40:14 +00:00
Loïc Guilloux
bf4b669628
Fix: [Script] Improve ScriptText validation (#11721)
The validation is now done in two steps:
 - First we get the list of parameters in the same order they used to be in encoded string
 - Then we validate the parameter types like FormatString would use them while encoding the string
2024-01-18 18:06:30 +01:00