* Replace RIDE_ENTRY_INDEX_NULL with OBJECT_ENTRY_INDEX_NULL
Ride entries are objects like any other, so there is little point having separate constants.
* Use ride_id_t in many more places
* Change RIDE_ID_NULL to 0xFFFF
* Increment network version
* Update replays
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
* Start changing the underlying type
* Further work
* Complete refactor
* Further cleanup
* Remove pointless check
* Increment network and plugin versions
* Add defaults
* Further defaults
* Fix test paint
* Update replays
* Add API for getting network traffic statistics.
* Add API for creating custom widgets.
* Add API for drawing graphics for custom widgets.
* Add click event to spinners and allow them to be held down.
* Move type field into sub structures
* Use type for misc_type
* Use type for l_type
* Rename to SubType
* Rename SpriteGeneric to MiscEntity
* Rename generic to misc
* Add extra nullptr checks for compilers that cant understand
* Make review changes
* Increment network version
* Update replays
* Split up SmallSceneryPlace/Remove
Added undo function for Remove Scenery
* Refactor: Balloon and Banner actions hpp=>h/cpp
* Refactor: rename all action *.hpp files to *.cpp
This is preparation for separation in later commits. Note that without
the complete set of commits in this branch, the code will not build.
* Refactor Clear, Climate, Custom, and Footpath actions hpp=>h/cpp
* VSCode: add src subdirectories to includePath
* Refactor Guest actions hpp=>h/cpp
* Refactor Land actions hpp=>h/cpp
* Refactor LargeScenery actions hpp=>h/cpp
* Refactor Load, Maze, Network actions hpp=>h/cpp
* Refactor Park actions hpp=>h/cpp
* Refactor/style: move private function declarations in actions *.h
Previous action .h files included private function declarations with
private member variables, before public function declarations. This
commit re-orders the header files to the following order:
- public member variables
- private member variables
- public functions
- private functions
* Refactor Pause action hpp=>h/cpp
* Refactor Peep, Place, Player actions hpp=>h/cpp
* Refactor Ride actions hpp=>h/cpp
* Refactor Scenario, Set*, Sign* actions hpp=>h/cpp
* Refactor SmallScenerySetColourAction hpp=>h/cpp
* Refactor Staff actions hpp=>h/cpp
* Refactor Surface, Tile, Track* actions hpp=>h/cpp
* Refactor Wall and Water actions hpp=>h/cpp
* Fix various includes and other compile errors
Update includes for tests.
Move static function declarations to .h files
Add explicit includes to various files that were previously implicit
(the required header was a nested include in an action hpp file, and the
action .h file does not include that header)
Move RideSetStatus string enum to the cpp file to avoid unused imports
* Xcode: modify project file for actions refactor
* Cleanup whitespace and end-of-file newlines
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
* Fix#13495: Add properties for park value, guests and company value
* Add more park attributes to plugin API
* Fix#13431: [Plugin] UI disabled widgets can still be interacted with.
* Fix#13078: [Plugin] Add colour picker widget
* Fix: #13509 [Plugin] Add ability to format strings
* Fix#13510: [Plugin] list view scroll resets when items is set.
* Fix#13512: [Plugin] Add item separators to list view
* Part of #12438 Changed RIDE_COMPONENT_TYPE to enum class
(1/3)
Changed the enum RIDE_COMPONENT_TYPE to be enum class in RideData.h.
Shortened the enumerators.
And fixed
I split the changes I did into 3 commits because the enum is used in a total of 85 different files where I just replace the single line where they occur.
The changes in those 85 files are analogous to my change in line 328 in RideData.h in this commit.
* Part of #12438 changed all RIDE_COMPONENT_TYPE enumerators appearances
(2/3)
Changed every appearance of the old RIDE_COMPONENT_TYPE enumerators to the changed enumerators from last commit.
* Part of #12438
(3/3)
Used EnumValue() wherever a field or variable of the type RideComponentType was used as an index.
Havent checked if anything from these 3 commits on this branch got codestyle issues
* Part of #12438
used clang-format
* Closes#12438 Added Accessor function for RideComponentName
Added Accessor function GetRideComponentName to RideData.
to replace the use RideComponentNames[EnumValue(RideComponentType type)]
* Close#12438 moving GetRideComponentName to RideData Headerfile
Moved GetRideComponentName to RideData Headerfile since thats where it should be.
* Fix missing error message on ride graph
Mistake made during implementation meant that the ride graph would not show the error message when the ride had not left the station. Another mistake meant that the tertiary colour of the ride window was not set to green. The tertiary colour was only used by this error message though so was not noticed.
For menus with static content, provide a mechanism for building the menu items as a constexpr array, allowing developers to specify menus more concisely and to put the data into the .rodata section where it can be quickly copied through.
Keep targeting macOS 10.14 for libopenrct2 target. Replace deployment target with macOS 10.13 for other targets, including the OpenRCT2 bundle.
Explicitly type std::arrays, since Xcode refuses to use C++17 array deduction.
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
* 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
* 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
* Part of #12017 - create gfx_draw_sprite overload
Part 1. Creates the overload and replaces about a half of the calls since there are too many for one PR.
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
* Can now pop balloons and quack ducks in title screen.
* Chengelog entry
* Narrow check for misc sprite down to only duck and balloon sprite.
* Update distribution/changelog.txt
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
* Use the IsBalloon and IsDuck functions instead.
* Update src/openrct2-ui/interface/ViewportInteraction.cpp
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
* Squash: Bring code up to date.
* Add nullptr check.
* Update src/openrct2-ui/interface/ViewportInteraction.cpp
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
* Fix#11570 - create gfx_draw_string_centered() overload
I created the overload, updated all calls from the old function to the new and deleted the old one
* Fix#11572 create gfx_draw_string() overload
created the overload and changed all calls of the old function to the new (using const ScreenCoordsXY&)
...
Since many of the changes were made before the clang-format changes went live, the new source files used a different format still. This PR applies the new style to all the new source files.