* 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>
* Allow high image ids when rendering an inline sprite
* CustomWindow: refactor use of ImageId::FromUInt32
* Dropdown: refactor use of ImageId::FromUInt32, ToUInt32
* Remove ImageId::FromUInt32
* Fix typo in mechanic status string ids
* Rewrite InventoryFormatItem to not use inline sprites any more
* Widget: replace ImageId::ToUInt32 with ImageId::GetIndex
* Remove ImageId::ToUInt32
* ImageIndex typedef moved from ImageId.hpp to new file ImageIndexType.h.
* SPR_NONE redefined as ImageIndex type in ImageIndexType.h.
* SPR_NONE renamed to kSpriteIdNull
* Remove casts and enum all sprites as ImageIndex
* Remove sprites.h include from LandTool.h, RideData.h
* Ensure all RTD headers include sprites.h
---------
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
* 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
* Replace more StringIds.h includes with StringIdType.h
* Move a few more strings to UiStringIds.h
* Tweak: TextComposition.cpp does not need InteractiveConsole.h
* Setup for extended palette
* Define order for color picker cells
* Init G2 Palettes in ColoursInitMaps
* Add Glass Palettes
* Use special sprite for Invisible color
* Set up new cheat for special colors
* Add glass palettes to palette_to_g1_offset
* Add entries for new colors in TranslucentWindowPalettes
* Finish implementation of special colors cheat
* Some cleanup
* New colors almost work
* Correct g2 palette loading indices
* Invisible color sprite displays properly
* Repaint works with large scenery and walls
* Prevent random shop items from overflowing to junk palettes
* More cleanup
* Fix glass palettes
* Add mapping of new colors to original colors for UI themes
* Fix junk palettes for random shop items
* Fix missing highlight color in software renderer
* Convert small scenery support flag to allow use of new colors
* Progress on displaying new colors in software renderer
* Fix invisible color scheme sprite
* Formatting cleanup
* Resolve comparison of integer expressions of different signedness
* Index g2 palette maps to fix visible chain lift
* Progress on fixing new colors in software renderer
* Fix station and support colors
* Fix dropdown selected index
* Get invisible color (mostly) working in software renderer
* Use forceBmp for palette resources
* Remove test function definition left in by mistake
* Remove some obsolete range checks for original color values
* Add changelog entry
* Reorder color dropdown based on NE user feedback
* Some cleanup
* Further cleanup
* Formatting
* Add include for GetPaletteMapIndexForColour
* Fix a couple things I broke
* Fix function placement
* Revert "Add include for GetPaletteMapIndexForColour"
This reverts commit 0af9611e6656d792adb7a36efe7dbf3387a4a759.
* Use color constants for color order list
* Make remappable colors contiguous
* turn off clang format for ordered color list
* Appease clang
* Use all colors for random shop item animation
* Improvements to palette map resources
* Fix chain lifts again + adjustments to a few colors
* Update changelog and contributors.md
* Revert changes to S4 and S6 importers which are no longer needed
* Bump network, plugin, and minimum park versions
* Revert "Progress on displaying new colors in software renderer"
This reverts commit 337602e4a7.
* Remove unnecessary comment
---------
Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>
Fixes a consistent assertion when displaying "Cannot start construction"
in Japanese, but it has potential fix countless other crashes
related to string wrapping/display.