Increased SYNCHRONISED_VEHICLE_COUNT to 16 to permit duelling coasters with more coasters. Otherwise no changes to the game logic. Feature requested in the forums: https://openrct2.org/forums/topic/2544-synchronized-stations-dont-work-passed-8-stations/
This will impact network games which already have duelling coasters built with more than 8 adjacent stations, so a new network version is necessary.
* Moved out command processing from network_update into its own function. This should fix some false positives calling scenario_rand from a command callback.
* Fix Server_Handle_GAMECMD to use the command queue instead of executing directly.
* Exit the queue processing to still check for desync
* Fixed a desync that would happen when having the guests list open.
* Refactored the flashing state of peeps to not affect the flags.
* Added deprecation info for SPRITE_FLAGS_PEEP_FLASHING.
* Removed unused line that used the old flag.
* Update network version
This addresses some of the desync causes:
* `vehicle_create_car` was using `scenario_rand` when it shouldn't have
* ghost elements affected grass growth
* ghost elements affecting peep logic[1]
It also adds some desync debug facilities, enabled at compile time.
It also reverts part of change introduced in
https://github.com/OpenRCT2/OpenRCT2/pull/5185,
namely reorder of desync check vs call to `ProcessGameCommandQueue();`
[1] It is not ideal to have this check in multiple locations, it is prone
to human error. We already have `map_remove_provisional_elements`,
but it is possible it does not work as well as it should. This needs
further investigation.
This commit expands tabs to spaces (ts=4) in all the files under src/
and test/.
Until now we had two wildly different code styles with C using tabs and
new C++ using spaces. It is painful to maintain as none of the commonly
used tools support this kind of setup and in reality is needless, as we
can simply convert all the sources to spaces and have opened PRs do the
same, where needed.
Additionally, trailing whitespace has been removed.