* Close#12440: Refactor VEHICLE_STATUS to use strong enum
* Fix code formatting for VEHICLE_STATUS refactoring
* Refactor VehicleStatus enum to be inside Vehicle
This commit moves VehicleStatus inside Vehicle,
renamed as Status.
* Start removing GET_VEHICLE macro use
* Further work
* Remove further GET_VEHICLE's
* Further removal of GET_VEHICLE
* Remove the last of GET_VEHICLE
* Fix testpaint
* Fix nullptr deref
* Make review changes
Also swapped in helper functions and used a standard patern for iterating the train cars
* Further simplify loops for train cars
This will eventually replace all of the get_sprite and try_get_sprite calls
Further use of GetSprite
Use GetSprite in all remaining easy to use functions
Correct formatting
Rename GetSprite to GetEntity
Make suggested changes
Remove const to allow for building
Fix crashes due to next sprite
* Use more Coords on MazePlaceTrackAction
* Use more Coords on MazeSetTrackAction
* Use more Coords on PlacePeepSpawnAction
* Use more Coords on SetCheatAction
* Use more Coords on SurfaceSetStyleAction
* Use more Coords on Station
* Make Map::map_invalidate_element() use CoordsXY
* Make Map::map_invalidate_tile_full() use CoordsXY
* Make Map::map_invalidate_tile_zoom0() use CoordsXY
* Make Map::map_invalidate_tile_zoom1() use CoordsXY
* Make Map::map_invalidate_tile() use CoordsXY
* Use CoordsXYRangedZ for map invalidation
* Fix vehicle tile invalidation use Z instead of Y coord
* Fix BannerRemoveAction sending Z TileCoords to invalidate tile
* Fix wrong tile invalidation on peep_update_walking_break_scenery
* Prefer ToTileStart over bitwise and
* Make Map::map_get_first_element_at() use CoordsXY
* Fix clang-format on ClearAction.hpp
* Prefer TileDIrectionDelta over hardcoded delta on RideConstruction
* Use named Direction constants
* Make Compat::map_get_first_element_at() use CoordsXY
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).
This aims to make future refactoring easier. The arguments are removed where possible, but kept and marked with C++17's [[maybe_unused]] where they could not be removed (e.g. when they are used as a callback, rather than called directly).
I've skipped the rides/<category>/* and peep/* source files, because the rides source files are mostly generated and have a ton of unused variables, and the peep source files are being refactored.
I've also skipped most of window/* source files, because most of the functions are used as callbacks and will be bulk-renamed at some point.
* 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