Fix#9295. Refactor rct_vehicle->status to rct_vehicle::SetState()
Created rct_vehicle::SetState() and refactored all assignments to
rct_vehcile->status. SetState also includes a call to
vehicle_invalidate_window(), so it cannot be forgotten.
Previously when the arguments of a function wouldn't fit on a single line, clang-format would put each argument on its own line instead. By enabling the binpack parameter setting, it tried to fit as many on one line as possible instead.
Co-authored-by: Hielke Morsink <hielke.morsink@gmail.com>
Clang-format sees the text behind `#pragma region` as code and formats it. Instead of stating the copyright and date there, it's now in the comment block right below it. The text "Copyright" is left in the `#pragma region` line, as clang-format sees it as a single identifier.
I took the opportunity to normalize the dates, and add the copyright notice to the source files where it was missing them (except for third-party and the generated resources.h file).
Fix bug in R8_SPIN and LR_SPIN that would cause vehicles to spin in wrong direction on certain track elements.
Name parameters
Name flag for additional vehicle spinning sprites
Add comments to code to make function easier to understand.
* Refactor vehicle_update_sound_params
Named known params.
Changed function structure to use more return statements to prevent multiple nested ifs.
Used core memory functions instead of hand rolled version.
Added more comments.
Named sub_6BC2F3.
Added comment on likely source of corruption of sound.
* Refactor vehicle_sounds_update
Split the function up into multiple functions.
Rework code to remove GoTos.
* Label params. Refactor slightly the restraint code to use bools