Commit Graph

57611 Commits

Author SHA1 Message Date
Patric Stout
0c81579363 Fix #6377: two tarballs with the same folder in them were considered as one (#11855) 2024-01-21 19:06:58 +01:00
SamuXarick
6588680ccc 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.
2024-01-21 18:49:08 +01:00
Patric Stout
f35e257adc 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.
2024-01-21 17:36:33 +00:00
Peter Nelson
a9a0bfffc1 Change: Disable building rail infrastructure if train build limit is zero. (#11847)
This matches the behaviour of road, ship and aircraft infrastructure.
2024-01-21 16:51:23 +00:00
Peter Nelson
89474701bc Codechange: Use templates to deduplicate goal widgets. (#11852) 2024-01-21 16:23:17 +00:00
Patric Stout
fa8294ebe7 Remove: rdtsc and TIC/TOC based on CPU ticks (#11856)
Use TIC/TOC based on std::chrono instead. This information is also
easier to compare with others, as although it depends on CPU, it
means a bit more if "yours takes 4ms and mine takes 10ms".
2024-01-21 15:38:15 +00:00
Patric Stout
fe035c306e Codechange: prevent out-of-bound read (even if the result is never used) (#11853) 2024-01-21 14:25:00 +00:00
Peter Nelson
8797cc7ef2 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.
2024-01-21 14:09:44 +00:00
Peter Nelson
c0ab436077 Codechange: Store Colours in Colours type. (#11625)
This reduces casts, some magic numbers, and introduces a bit of type-safety.
2024-01-21 13:23:04 +00:00
Peter Nelson
0841978304 Codechange: Use vector and iterators to store old/new vehicles during autoreplace. (#11851)
This avoids malloc/free of 3 arrays along index counting, and the data for each part is kept together.
2024-01-21 09:21:22 +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
Patric Stout
66a16d5ddf Fix: [CI] wait for all targets to succeeded before uploading to any (#11845)
Otherwise it is possible Steam upload happens while CDN upload
does not, which is a bit awkward.
2024-01-20 23:51:50 +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
Patric Stout
526a0db956 Fix: [CI] don't share Rust cache between legacy and generic linux (#11848)
The resulting binaries of generic can't run on legacy.
2024-01-20 22:05:56 +00:00
Rubidium
2d77f09a81 Codechange: use std::shared_ptr for vector of TCPConnecters 2024-01-20 23:03:44 +01:00
Patric Stout
71b8801b61 Fix bd85f61a: [Linux] don't include sys/random.h on older glibc systems (#11844) 2024-01-20 20:43:06 +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
Tyler Trahan
fa479c4a7c Cleanup: Describe modifier keys more consistently in tooltips (#11716) 2024-01-20 19:26:39 +00:00
Tyler Trahan
500870627d Change: Rewrite a few main toolbar tooltips (#11717) 2024-01-20 13:49:34 -05:00
translators
4d79d86812 Update: Translations from eints
catalan: 18 changes by J0anJosep
2024-01-20 18:38:38 +00:00
Peter Nelson
d6ccfdbbd9 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.)
2024-01-20 17:16:42 +00:00
Rubidium
086cbd0d72 Codechange: add constexpr to math functions where applicable 2024-01-20 17:30:36 +01:00
Rubidium
dfe70181f1 Codechange: add constexpr to bitmath functions where applicable 2024-01-20 17:30:36 +01:00
Rubidium
4c51534b6a Remove: LeastCommonMultiple / GreatestCommonDivisor
Use std::lcm / std::gcd instead.
2024-01-20 16:45:21 +01:00
Rubidium
1403f24fa9 Codechange: replace LeastCommonMultiple with std::lcm 2024-01-20 16:45:21 +01: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
Patric Stout
bd85f61a40 Change: use a stronger hash and actual random information to generate Uids 2024-01-20 14:23:03 +01:00
Patric Stout
37244bc8c5 Codechange: MacOS already has MIN/MAX macros defined
This is caused because we use PreCompile Headers, and one of them
includes a system headers which defines MIN/MAX.
2024-01-20 14:23:03 +01:00
Patric Stout
63a3d56b8a Add: monocypher 4.0.2
Monocypher will take care of all our encryption needs; as most
OSes and vcpkg doesn't have it available, we vendor it.
2024-01-20 14:23:03 +01: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