* Refactor windows to not share widget state
* First half of refactoring all the windows
* Refactor the remaining windows, compiles but has issues
* Fix drawing only every second widget
* Remove the need of an terminating widget
* Address WidgetIndex signedness issues; use kWidgetIndexNull more
* Address constexpr issue with Widget content union
* Fix tabs in scenery window
* Fix tabs in object selection window
* Adjust custom widget index for CustomTool events
* Use STR_NONE for default tooltip initialisation
* Adjustment for mingw compiler
* Fix bottom toolbar using the widget declaration not instance
* Remove pointless code in Guest window, handled by SetPage
* Prevent out of bounds crash
* Move scroll widgets initialization to SetPage in Cheats window
* Remove special logic in Options window
* Remove special logic in Park window
* Remove special logic for Player window
* Remove special logic for Research window
* Remove special logic for Ride window
* Remove special logic for Staff window
* Remove special logic for Finances window
* Remove special logic for MapGen window
* Remove special logic for editor objective options window
* Remove special logic for editor scenario options window
* Fix widgets not being set since page is initialized to 0
* Remove more redundant code
* Fix remaining access to widget declarations
* Remove unused variable
* Fix editor object selection tabs on successive windows
---------
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
* Consolidate util/Math.hpp into core/Numerics.hpp
* Remove branching; replace isPowerOf2 with std::has_single_bit
* Add templated types to floor2 and ceil2
* Use std::span for tiles
* Add an index helper parameter
* Use coordsxyz
* Split up corners and walls
* Use bools for the two flags
* Apply coding style
* Refer only to LargeSceneryObject where required
* Address comments
* Introduce isToolActive function
* Ride window: use isToolActive instead of gCurrentToolWidget
* Footpath window: use isToolActive instead of gCurrentToolWidget
* Staff window: use isToolActive instead of gCurrentToolWidget
* MazeConstruction window: use isToolActive instead of gCurrentToolWidget
* Guest window: use isToolActive instead of gCurrentToolWidget
* Map window: use isToolActive instead of gCurrentToolWidget
* LandRights window: use isToolActive instead of gCurrentToolWidget
* Replace SceneryToolIsActive legacy function with calls to isToolActive
* ClearScenery window: use isToolActive instead of gCurrentToolWidget
* Scenery window: use isToolActive instead of gCurrentToolWidget
* Water window: use isToolActive instead of gCurrentToolWidget
* Land window: use isToolActive instead of gCurrentToolWidget
* Widget: replace WidgetIsActiveTool with isToolActive
* RideConstruction window: use isToolActive instead of gCurrentToolWidget
* Ride: use isToolActive instead of gCurrentToolWidget
* TrackDesignPlace window: use isToolActive instead of gCurrentToolWidget
* StaffList window: use isToolActive instead of gCurrentToolWidget
* ViewClipping window: use isToolActive instead of gCurrentToolWidget
* PatrolArea window: use isToolActive instead of gCurrentToolWidget
* TileInspector window: use isToolActive instead of gCurrentToolWidget
* Park window: use isToolActive instead of gCurrentToolWidget
* Close#21569: Remove 'Window' from Window Open function names
Windows are all under the OpenRCT2::Ui::Windows namespace. As such, "Window" is removed from the Open functions names.
* Update Contributors.md
* Fix formatting TrackMangeOpen
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
* Fix formatting TrackPlaceOpen
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
---------
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
Also changed a few instances where GetGameState was called inside the same function.
The change in Peep.cpp is needed because of a function conflict. FormatStringID exists both in the global and in the OpenRCT2 namespace.