This supersedes #16095
The position and size arguments of WindowCreate are now optional - not a window doesn't have to know the size beforehand.
This removes the WF_NO_SCROLLING flag from the call to WindowCreate, but that seems to have no use for the scenery window anyway.
Co-authored-by: Ian-Polito <ipolito@mailfence.com>
Introduce more transparency toggles and allow each one to be set to either an invisible or ghost state which is a persisted user setting.
A new window is introduced to control these settings and is inspired by OpenTTD.
- Changes all references of `VIEWPORT_FLAG_INVISIBLE_PEEPS` to `VIEWPORT_FLAG_INVISIBLE_GUESTS` and `VIEWPORT_FLAG_INVISIBLE_STAFF`
- Updates Invisible People menu item and shortcut.
- Added new viewport flags into the `viewport_set_visibility` function
- Invisible options only work if see-through is activated as well
- Added see-through supports
- Regression: Exclude ride from invisible no longer works (ride is still see-through)
`enabled_widgets` was used to enable input for widgets. However I do not recall anywhere this being used to specifically disable a widget which doesn't use the dedicated `disabled_widgets` flag. I don't think there is any purpose in keeping this, so I have removed all uses of it.
* Move over max rides to limits file
* Move max stations to limits file
* Move over max inversions, golf holes, helices, custhistsize
* Move over max trains per ride
* Bring over Max cars per train and max circuits per ride
* Port over NumColourSchemes and max vehicle colours
* Fix compilation
* Move over max awards
* Move over max peep spawns and park entrances
* Fix rebase issues
* Remove future work
* Switch style
* Update copyright
* Implement profiling API
* Add console commands for the profiler
* Remove accidental line
* Correct csv output
* Add copyright notice
* Add missing override
* Add default virtual destructor
* Explicitly pass template argument
* Use static
* Add plugin API for profiler
* Add more profile calls
* Workaround for GCC hopefully
* Add missing static keyword
* Use uint64 for call count
* Reduce name length see if CI passes
* Improve handling of function names
* Work around (broken) static inline variables
* Fix missing include
* Disable profiler for clang 5 and older
* Update copyright date
* Profile UpdateAllMiscEntities
* Apply review suggestions
Co-authored-by: Ted John <ted@brambles.org>