The ride viewport does not work the same as other viewports due to the selection of views that it has. After refactoring the focus system to use a more streamlined approach the ride viewport lost its invalidation on resizing. If the ride window was to use the same viewport update code as say the guest window then the viewport focus still ends up incorrect due to it no longer centring the focus. Therefore the best approach was to lose the focus on resize and force a recalculation of it.
Also renamed Focus2 to Focus as Focus2 was meant to just be fill in whilst removing the original focus structs.
* Use CoordsXYZ for ride view
Part of the NSF but also took the time to refactor slightly to use the more appropriate types. Annoyingly there isn't a operator/ for CoordsXYZ otherwise this could have been further simplified.
* Fix missed minx/maxx occurrence
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
* Remove focus union and replace with typed focus
This if for the NSF to allow for CoordsXYZ
* Remove legacy structures
* Rework viewport_create to deduplicate logic
* Simplify yet further
* Apply review comments
* Remove intermediate
* Fix#15271. Use formatter to pass description args to text input
Originally passed the variables via global vars which were not updated to 32bit during recent refactors. This removes the global and makes the interface cleaner and corrects the type
* Fix size of arguments
* Refactor RIDE_STATUS to use strong enum
* Change platform-specific code to match RIDE_STATUS refactor
* Re-added check for valid RideStatus value
* Fixed errors in "g2" build target
* Use EnumValue instead of static_cast<uint8_t>
* Revert rct{1,2}.h to use uint8_t.
* Fix formatting
* Reverted from constexpr variable to additional enum variant
* Fix formatting
* 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>
* refactor: integrated PEEP_ITEM into SHOP_ITEM
* refactor: converted merged enum to flag
Only former occurrences of PEEP_ITEM
* cleanUp: code cleaned after merging
* refactor: converted ShopItem to strong enum
code reformatting
* refactor: ShopItem enum items renamed
code formatted
* refactor: new getter and setter functions for Item...Flags
* refactor: replaced all occurrences of ItemStandardFlags
with appropriate getter and setter functions.
COMPARE_FIELD macro needs to be commented out or the flag has to stay public.
* refactor: all occurrences of ItemExtraFlags replaced
with proper function calls. COMPARE_FIELD macro issue not resolved.
* refactor: introduced new variable for unified item flags
* refactor: adapted accessor functions
accessor functions were modified to accommodate both standard and extra ShopItem flags
* refactor: ItemExtraFlags accessor functions are replaced
with general functions
* refactor: reverted to original uint32_t flag variables
* refactor: implemented suggested changes
* refactor: integrate additional comments
* refactor: incorporated requested changes
* refactor: incorporated requested changes
added static_cast<PeepThoughtType> in lines 1572 and 1590
* 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.
This only happens when a new ride type is added and the park is opened in the older version of the game where the ride type does not exist.
Reworked so that invalid rides are not loadable. Force reload of title if current scenario is corrupted.
* Use ScreenCoords for tooltip
* Remove temporary variables
* Small refactor
* Fix#13151. Not passing tooltip arguments correctly for ride window
* Fix Server List window version tooltip
* Fix cheats tooltip event
* Add static to function decl
* Remove unreachable break statements in Ride.cpp
* Apply review suggestions
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
It's intended to retrieve a rct_peep_animation_entry from the global
array g_peep_animation_entries, given PeepSpriteType and
PeepActionSpriteType as parameters.