Fixes#7313: Loading an invalid path with openrct2 produces results different than expected
Do not load title sequences in headless mode and prevent use of null audio mixer when ride music is stopped.
* Update includes in PlatformEnvironment.cpp
* Update includes in ParkImporter.h
* Update includes of OpenRCT2.h
* Update includes in Intro.h
* Remove unused include from Input.cpp
* Update includes of Imaging.h
* Update includes in Game.h
* Update includes in Editor.h
* Update includes of Context.cpp
* Update includes in Cheats.cpp, CmdlineSprite.cpp
* Update includes of some source files
* Update includes in some cpp files
* Update includes in some cpp files
* Update includes in TextureCache.h
* Fix tests
* Update includes in Font.cpp
* Update includes in LightFX files
* Update some includes
* Fix GCC builds
* Update some includes
* Update some includes
* Update includes in FontsFamilies.*
* Update includes of Console.h
* Improve includes in Window.h
* Improve headers in Viewport.h/Window.h
* Fix MSVC build
* Fix network-less builds
* Reduce inclusion of Map.h
`typedef struct/union/enum name { ... } name_again;` is not needed whe compiling C++, moving the name at the back to be in front of the object and removing `typedef` makes it usable the very same way.
This also replaces typedefs with the using keyword. They have better readability, especially for function pointer types, and would allow more flexibility when used with templates.
* 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
By using a dummy audio context, we can now make openrct2-cli start a headless instance without any SDL2 calls. SDL2 is still a dependency until we remove out the input code to openrct2-ui.