Created a new WaterWindow class that inherits from Window class and overrides On methods. Added a new generic method for WindowFocusOnCreate that takes position as an argument.
* Add isVisible property to widgets so that you can easily show / hide widgets.
* Add new text box widget for text input
* Allow plugin windows to be transparent
* Add `textAlign` property to label widget
* add data to Track.cpp
add data to TrackData.cpp
add import helper functions
fix Booster value
import booster as 256
export booster as 100
add vehicle subposition data
add SV4 import
add TD4 import
add TD6 import
use track_type_t when importing TD6
add TD6 export
change peep tracktype type to auto
fix SV4 track element import
fix import of booster speed
add None enum to TrackElemType
move _legacy RideConstruction functions to Ride.cpp
change _currentPossibleRideConfigurations to use track_type_t
fix booster track category
add booster string tto
expand _currentTrackCurve to 32 bits
expand track_curve_chain to 32 bits
update get_track_element et al. to handle 16 bit track types
run clang-format
remove unused #includes from _legacy.cpp
Revert "remove unused #includes from _legacy.cpp"
This reverts commit 4c4d4b06edb0c130314789d8fe371246be246c9f.
Revert "update get_track_element et al. to handle 16 bit track types"
This reverts commit 73920dafd4a6c9e7c9f0c7ee1098d493f8f5d262.
Revert "move _legacy RideConstruction functions to Ride.cpp"
This reverts commit 2d83a75c1477d387ad77a7a5085f37a28f72a589.
update _legacy functions for 16-bit track types
update ride_construction_reset_current_piece behavior with new enum
fix declaration of _currentTrackCurve to match other track tcurve vars
remove unused include from T4Importer.cpp
move SCT to 256 part 1: RideConstruction.cpp
move SCT to 256 part 2: TrackData.cpp
move SCT to 256 part 3: Ride.h/Ride.cpp
move SCT to 256 Part 4: revert changes to S4Importer.cpp, T4Importer.cpp
fix stations appearing as curves
fix too many initializers in TrackData.cpp
move SCT to 256 part 5: S6/T6 importing and exporting
move SCT to 256 part 6: simplify RCT12.cpp functions
fix comments in S6Exporter.cpp, S6Importer.cpp
fix clang-format on S6Importer.cpp
add missing data to TrackData.cpp
revert new functions for checking if track type is a booster
revert unused include
change trackType to auto and add comment to S6Exporter.cpp
move track type aliasing from TrackDesign.cpp to T6Import.cpp, T6Export.cpp
add comment about sv6 vehicle.track_type
static cast to uint8_t in T6Exporter.cpp`
set type to auto when setting value to _currentTrackCurve
revert moving function in S6Importer.cpp
fix value names in RideData.cpp
revert cahnge to uint16_t return for GetTrackType() in RCT12.cpp
fix GetTrackType return type for real
add changelog entry
bump network version
cast alternate track type to track_type_t
static_cast tuple input value in _legacy.cpp
change _currentTrackCurve to uint32
use TrackElemType::Count to determine length of subposition array
perform some changes
remove padding from rct_trackdefinition
fix alternative type check
remove _boosterTrackSelected
add missing condition for booster speed
add comments for TrackElemType::MultiDimInvertedUp90ToFlatQuarterLoop
add missing comments to RideData.cpp
remove extra entry
simplify some things
fix formatting
remove redundant checks todo: fix building the track piece
use TrackElemType::None more
remove git.txt
* bump network version
* make conditional more explicit w/ parentheses
* move booster check to RCT12.cpp
* implement getters and setters for vehicle track type and direction
* fix formatting
* rename RCT12TrackTypeIsBooster to RCT2TrackTypeIsBooster
* add whitespace in RCT2.h
* change the thing I thought I changed
* move booster check function to RCT2.cpp
* move function into if condition
* fix scope issues with setters
* 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
This brings feature parity with Rollercoaster Tycoon Classic (RCTC)
Includes:
* Re-enabled buttons: Ride List, Map, Scenery, Path, Clear Scenery
* Add all standard footpaths and core scenery objects to the object selection
The max limit of 4 rides has not changed; other object types can have more than 4
Only a minimum set of scenery is enabled, as the full set cannot be included
* 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>
* Merge LitterType into the shop item descriptor
* Merge ConsumptionTime into ShopItem descriptor
* Merge in DiscardContainer into ShopItemDiscriptor
* Simplify itemOrderPreference
* Simplify guest code by using 64bit flags
* Remove operators for ShopItem
* Move PeepThoughtType TooMuch GoodValue into ShopItemDescriptor
* Reorg Get Flags and Has functions to make intention clear
* Constexpr shop item descriptors
* Constexpr shop item descriptors to compile time gen constants
* Fix formatting and spelling
* Revert operator++ removal
* 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
Eradicate all coded format tokens. All internal strings now contain raw tokens such as `{STRINGID}` and `{RED}`. New iterators have been created to iterate the tokens and the UTF-8 codepoints.
Formatting strings has been re-written and a new template version is available.
* 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.
* Split FileStream declarations and definitions
* Split JobPool declarations and definitions
* Split StringBuilder declarations and definitions
* Split StringReader declarations and definitions
* Split ZoomLevel declarations and definitions
* Fix missing include in FileClassifier.cpp
* Remove pragma once from source files
* Fix missing include in StringBuilder.h
* Update Xcode project
* Fix compilation of tests
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
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.
* Refactor variable names in window_guest_stats_bars_paint
Change the variables eax/ebp to timeInPark and barColor, respectively.
* Refactor guest stat UI calculations
Simplify guest stat calculations and move them to a new function NormalizeGuestStatValue.
* 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>
* Remove 'Park parameters…' button
The scenario options are already accessible through the cheats menu
* Split off Objective group from General group
* Split off new Maintenance group from Staff group
* Shrink 'Force park rating' spinner to make room for label
* Change label 'Force weather' to 'Change weather to'
* Change label "Plants don't age" to 'Disable plants withering'
* Change some strings for consistent capitalisation
* Fix#1324: track selection visible when placing entrance or exit
* Improve maze construction window UX in entrance/exit mode
- Arrows are disabled when entrance and exit are being placed
- Clicking a construction mode will disable the entrance and exit mode
- Previous state restored when leaving entrance/exit construction mode
- Fix entrance/exit buttons not changing when the mode switches after placing the first entrance/exit
Co-authored-by: Simon Jarrett <simonjjarrett@gmail.com>
* Add "Hybrid coaster" ride type
* Add turns
* Add diagonal slopes
* Add bank transitions
* Add diagonal bank transitions
* Add banked turns
* Add sloped turns
* Add sloped bank transitions
* Add sloped banked turns
* Add s bends
* Add helices
* Add barrel rolls
* Add half loops
* Start changing supports to wooden
* Switch diagonals and banked turns to wooden supports
* Finish switching supports to wooden
* Alter default supports for small turns and steep turns
* Split track sprites that were glitching
* Fix incorrect sprite indices on small helices
* Add supports for large flat to steep pieces
* Fix bug with b supports
* Add supports for quarter loops
* Finalize set of track elements
* Fix strange colors when track piece is highlighted
* Update sprites.json
* Add support for corkscrews
* Fix incorrect remap colors and default supports
* Add slope to banked turn transitions
* Add support for preview image in color selection window
* Fix static glitches
* Correct Z offset
* Set segment heights (and fix more static glitches)
* Improve sloped curve supports
* Fix slope to banked turn transitions
* Fix dynamic glitches
* Fix boosters
* Remove corkscrews
* Set ride data and implement ride rating function
* Fix glitches on steep turns and gentle to steep
* Format code
* Add sprites
* Add track color preview image
* Fix formatting
* Add files to MSVC project
* Fix Testpaint
* Revert removal of RIDE_TYPE_50 from GetClassification
* Introduce constant instead of hard coded number
* Fix stray change
* Improve legibility of ride_ratings_calculate_hybrid_coaster()
* Fix comments on byte_97B23C
* Fix two other stray changes
* Fix Xcode project
* Adjust bounding boxes to make clipping behaviour more consistent
* Fix two glitches on medium and large turns
* Address comments from DuncansPumpkin
* Fix incorrect ride ID
* Fix steep turn sprites
* Run PNG images through OptiPNG
* Update changelog
* Fix namespace error
* Use arrays for supports to handle additional elements
* Rename functions to TitleCase and add namespace
* Increment network version
Co-authored-by: Edward Calver <hx010973@reading.ac.uk>
Co-authored-by: tylerleamon <59478575+tylerleamon@users.noreply.github.com>
Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
Co-authored-by: Aaron van Geffen <aaron@aaronweb.net>
* 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.
It's intended to retrieve a rct_peep_animation_entry from the global
array g_peep_animation_entries, given PeepSpriteType and
PeepActionSpriteType as parameters.
* Remove common format formatter where possible
Eventually should have it limited to tooltips, window titles and widget args
* Remove remaining paint functions using common
* Remove misuse of gCommonFormatArgs