This moves some knowledge out of the window and into the main code and also cleans up the window a bit.
This also allows setting the "x guests by the end of year y" goal for no money scenarios, which was not the case previously.
* 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.
* Feature #11817: Show authors field in object selection
- authors field in JSON shows as last line in bottom right on object selection
- authors field added to Object class
- ObjectFileIndex version bump as authors is serialised
* fix sign comparison warning
* Start object selection corner text higher to avoid overlap
* Use references to reduce unneccessary copies
* make GetAuthors const
* Clip drawing of authors string so it doesn't cross widgets
At max length the leftmost aligns exactly with description left
* Add a changelog message
* make SetAuthors use an rvalue reference
* remove unnecessary nullptr check
* Close#12416: Refactor CURRENCY_AFFIX to use strong enum
* Add static assert to check config enum type
Co-authored-by: Matt Thomson <matt-thomson@users.noreply.github.com>
* Remove viewport pointer from get_map_coordinates_from_pos
* Removed viewport from get_window
* Return a InteractionInfo from get_map_coord...
* Remove viewport_interaction_info struct
* Add Entity union to simplify code
* Name the enum used for viewport interaction
* Simplify functions further by returning the info struct
* Add default switches
* refactor: deleted double check of SPRITE_INDEX_NULL in Staff* ride_get_mechanic(Ride* ride)
* refactor: deleted double check of SPRITE_INDEX_NULL in Ride.cpp file
* refactor: deleted double check of SPRITE_INDEX_NULL in windows/Ride.cpp in function static rct_string_id window_ride_get_status_vehicle
* refactor: deleted double check of SPRITE_INDEX_NULL in ride/Ride.cpp
* refactor: deleted double check in FormatStatusTo
* Reduce the use of rct_sprite
* Pass the correct types in S4 importer
* Add additional nullptr checks
* Simplify the viewport interaction
* Apply review comments
* Small cleanup of GetEntity
* Fix test paint
* 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