Commit graph

26467 commits

Author SHA1 Message Date
Michael Lutz
1a42a8a5d5 Codechange: Un-bitstuff town-related commands. 2021-12-16 22:28:32 +01:00
Michael Lutz
e08b3abe7f Codechange: Un-bitstuff group and autoreplace commands. 2021-12-16 22:28:32 +01:00
Michael Lutz
46bd2f1ced Codechange: Un-bitstuff remaining transport infrastructure commands. 2021-12-16 22:28:32 +01:00
Michael Lutz
55170ae703 Codechange: Un-bitstuff rail commands. 2021-12-16 22:28:32 +01:00
Michael Lutz
6fe445e6c0 Codechange: Un-bitstuff station/depot/waypoint commands. 2021-12-16 22:28:32 +01:00
Michael Lutz
21675ec7e2 Codechange: Un-bitstuff vehicle/engine commands. 2021-12-16 22:28:32 +01:00
Michael Lutz
2637c06f88 Codechange: Un-bitstuff timetable commands. 2021-12-16 22:28:32 +01:00
Michael Lutz
211c630cbe Codechange: Un-bitstuff order commands. 2021-12-16 22:28:32 +01:00
Michael Lutz
de45a8729c Codechange: Add DoCommand::Post specialization for commands that take no TileIndex.
This adds a new Post overloads that still take a TileIndex which
is used to place any error windows or text effects.
2021-12-16 22:28:32 +01:00
Michael Lutz
4f3ea3907e Codechange: Un-bitstuff commands taking a ClientID (i.e. CMD_CLIENT_ID). 2021-12-16 22:28:32 +01:00
Michael Lutz
ccefa76a46 Codechange: Template DoCommandPInternal. 2021-12-16 22:28:32 +01:00
Michael Lutz
6691ee3b96 Codechange: Template script command calls. 2021-12-16 22:28:32 +01:00
Michael Lutz
eab18f06a4 Codechange: Pass additional data as byte stream to command callbacks. 2021-12-16 22:28:32 +01:00
Michael Lutz
0f64ee5ce1 Codechange: Template DoCommandP to automagically reflect the parameters of the command proc.
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
2021-12-16 22:28:32 +01:00
Michael Lutz
e740c24eb7 Codechange: Template DoCommand to automagically reflect the parameters of the command proc.
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
2021-12-16 22:28:32 +01:00
Michael Lutz
c88b104ec6 Codechange: Use wrapper struct to automatically manage command depth tracking. 2021-12-16 22:28:32 +01:00
Michael Lutz
996b16de70 Codechange: Use lambdas instead of CommandContainer to manage station picker commands. 2021-12-16 22:28:32 +01:00
Michael Lutz
a05fd7aa50 Change: [Network] Transfer command data as serialized byte stream without fixed structure.
The data will be transmitted as the length followed by the serialized data. This allows the command
data to be different for every command type in the future.
2021-12-16 22:28:32 +01:00
Michael Lutz
b0990fcff7 Codechange: Make TileIndex a "strong" typedef to give it a distinct type.
This is accomplished by changing it to a single member struct with the
appropriate operator overloads to make it all work with not too much
source modifications.
2021-12-16 22:28:32 +01:00
Michael Lutz
4fc055d6e9 Codechange: Align parameter order of command callbacks to command handlers. 2021-12-16 22:28:32 +01:00
Michael Lutz
123c7f99c3 Codechange: Move command callback declarations to the cmd header files. 2021-12-16 22:28:32 +01:00
Michael Lutz
7048e1522f Codechange: Move flags in CommandProc in front of the command arguments. 2021-12-16 22:28:32 +01:00
Michael Lutz
33ca4f2b99 Codechange: Let the compile generate the master command table out of templated command traits.
This is using a non-intrusive type-traits like templated system, which
allows compile-time validation that the command table and the command
enum match up.
2021-12-16 22:28:32 +01:00
Michael Lutz
5ddfdc8516 Codechange: Declare our custom enum operators as constexpr. 2021-12-16 22:28:32 +01:00
Michael Lutz
a38bbefe1b Codechange: Untangle command code, flags and error string for DoCommand*. 2021-12-16 22:28:32 +01:00
Michael Lutz
549caca39c Codechange: Move command arguments to the back of the networked command function calls. 2021-12-16 22:28:32 +01:00
Michael Lutz
b6933a2ebd Codechange: Move command arguments to the back of the DoCommand function call. 2021-12-16 22:28:32 +01:00
Michael Lutz
39e8783f4b Fix: Template syntax error when using 'span' with a container type. 2021-12-16 22:28:32 +01:00
translators
0c90326ada Update: Translations from eints
swedish: 1 change by joeax910
chinese (traditional): 160 changes by Tetrapod1206
galician: 21 changes by pvillaverde
irish: 5 changes by temuchie
polish: 2 changes by pAter-exe
2021-12-14 18:49:17 +00:00
frosch
bc22e9333e
Fix: if vehicles only refit to cargo-slots >= 32, the default cargo was wrong. (#9744) 2021-12-12 17:35:41 +01:00
Jonathan G Rennison
762b656b53 Fix #9740: Fix loading of gamelog change items from savegame ver >= 294 2021-12-10 22:46:16 +01:00
Rubidium
ad89601c49 Codechange: do not use all upper case enumerators in a scoped enum 2021-12-05 21:41:43 +01:00
Patric Stout
ea4f6bb8b2
Fix #9730: [Network] connections can use an invalid socket due to a race condition
A race condition happens when an IPv6 connection takes more than
250ms to report an error, but does return before the IPv4 connection
is established.
In result, an invalid socket might be used for that connection.
2021-12-04 20:56:05 +01:00
Patric Stout
9c36c12c85
Codechange: ensure OnConnect() always gets called with a valid socket (#9729)
This should already be the case, but now assert()s will tell us
if this isn't.
2021-12-04 18:32:06 +01:00
Tyler Trahan
802ca4e722
Fix: Don't try to rename OWNER_DEITY signs in-game (#9716) 2021-11-28 15:16:42 +01:00
translators
6953df7b5e Update: Translations from eints
galician: 265 changes by pvillaverde
indonesian: 8 changes by indrabagus
spanish: 7 changes by MontyMontana
2021-11-27 18:47:35 +00:00
translators
e0a91d7325 Update: Translations from eints
galician: 17 changes by pvillaverde
2021-11-26 18:48:29 +00:00
translators
ad7bdeb73a Update: Translations from eints
chinese (simplified): 2 changes by kurax
2021-11-22 18:48:48 +00:00
Michael Lutz
20a30825a0
Fix: Insufficient input validation for CmdIndustryCtrl. (#9711) 2021-11-20 23:27:45 +01:00
translators
793de48e89 Update: Translations from eints
vietnamese: 2 changes by KhoiCanDev
2021-11-20 18:49:33 +00:00
dP
ad90e88ebd
Change: Make pf.yapf.rail_firstred_twoway_eol on by default (#9544) 2021-11-19 00:08:06 +00:00
dP
54951e39a1
Fix #8797: Use logical rail length when placing signals (#9652) 2021-11-19 00:07:22 +00:00
nchappe
2cb6351af5
Fix: Update last servicing dates when using the date cheat (#9694) 2021-11-19 00:04:22 +00:00
Bernard Teo
0533b666b7
Fix #9702: Display order window for vehicle group on ctrl-click only when using shared orders (#9704) 2021-11-19 00:03:52 +00:00
translators
f6886754ff Update: Translations from eints
greek: 2 changes by dionisis84
german: 2 changes by danidoedel
2021-11-18 18:47:13 +00:00
Jonathan G Rennison
fc58ed9987
Codechange: Remove CargoSpec::multipliertowngrowth which is unused (#9701)
This is set by cargo property 19.
This property is only implemented in TTDPatch.
2021-11-16 22:48:21 +00:00
Charles Pigott
cf16f452da
Fix #9680: Recalculating aircraft positions before map array updates caused crashes (#9699) 2021-11-15 13:39:41 +00:00
Patric Stout
0cbe94256e
Change: [Emscripten] update to 2.0.34 and use Release over RelWithDebInfo (#9696)
It turns out that having "-g" in the compile-statement causes
Emscripten to pick -g3, which makes for very big binaries. This
is very likely not your intention when building Emscripten, as
smaller really is better.

For comparison, with RelWithDebInfo the binary is ~80MB. With
Release it is ~7.4MB.
2021-11-14 16:59:49 +01:00
frosch
5f6303f985
Fix: don't complain when the sprite font is missing glyphs. (#9692)
Silently auto-pick a suitable font.
2021-11-13 21:01:16 +01:00
translators
f8efab4653 Update: Translations from eints
japanese: 1 change by akaregi
dutch: 3 changes by Afoklala
2021-11-12 18:46:13 +00:00