- sprite building would save a file with just the sprite file header
and then immediately open it again at the beginning of compilation
- sprite file generation is now entirely in memory until the final
output file is saved on success
- added validation of no file activity in the failed build test case;
failed builds will not generate a file or edit an existing one
* fix for bug #13611; handled too few sig figs fixed point case
* added unit test cases to cover modified fixed point code
* removed blank line to satistfy clang-format
* sorted includes in formatting tests for clang-format
* removed redundant static_cast
- already a char literal and assigning to char[] so code
is functionally equivalent
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
Includes:
* Corkscrew Roller Coaster
* Hypercoaster
* Steel Wild Mouse
* Spinning Wild Mouse
* Water Coaster
* Car Ride
* Monster Trucks
Some pieces are incorrectly labelled (log bumps and rotation control toggle),
and need to be investigated further
* Fix#13567: Cure guests of severe gluttony
Incorrect assumption that bitscanforward itertated over 64 bits meant that food that was previously within the ExtraItemFlags would never get removed from the peeps inventory. bitscanforward function has been replaced with a 64bit version
* Bump network version
* Merge all cmdsprite global state into single struct
* Move MakeEntries into a member function
* Use std::optional for sprite file open
* Move sprite_file_save to a member function
* Make sprite_file_close a member function and rename open
* Remove global variable
* Make Entries a vector
* Make Data a vector
* Use FileStream for Open
* Use FileStream for Save
* Renmae Image Import/Export functions and cleanup
* Extract out common item AddImage
* Simplify SpriteFile::AddImage
* Header and struct cleanup
* Make suggested changes
* Moving all definitions from B...Actions to source
* Moving all definitions from C...Actions to source
* Moving all definitions from F...Actions to source
* Moving all definitions from G...Actions to source
* Moving all definitions from L...Actions to source
* Moving all definitions from M...Actions to source
* Moving all definitions from N...Actions to source
* Moving all definitions from P...Actions to source
As not all objects load images in the same order the previous code could end up with sprite index's that were incorrect. There also was no reason to make the code object specific as we can just access the image table directly.
* Moving all definitions from R...Actions to source
* Moving all definitions from S...Actions to source
* Moving all definitions from T...Actions to source
* Moving all definitions from W...Actions to source
* 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
* Added some scripting glue to StaffHireNewAction
* Update src/openrct2/scripting/ScriptEngine.cpp
Co-authored-by: Ted John <ted@brambles.org>
* Update plugin api version
Co-authored-by: Ted John <ted@brambles.org>
Co-authored-by: Tulio Leao <tupaschoal@gmail.com>
* 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#13409: Clamp peep distances from path centers
The debunch-peeps improvement did not account for the fact that peeps may change direction when they are only at the very edge of a tile - it's not entirely clear to me why this happens, but it does. The previous code would push these peeps back towards the center line over time, but the new behaviour allows them to keep walking along these very edge-y lines, which means they sometimes appear to be walking on the wrong sides of benches, railings, etc.
To fix the problem, do not simply keep the target coordinate constant for the direction the peep is moving in, but clamp it, so that peeps in these outlier positions will get pulled back to a more acceptable position within one tile. Peeps who are already debunched within the reasonable center area of the path are unaffected.
* Update replays for change
* Add changelog entry
* Fix broken hashes
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
* Fix#12895: only update ride mechanic status when advancing state
* add changelog message
* Change changelog wording
* Bump network version
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
* 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>
* Stop guests from being forced to the center line of a path over time
Change the way we apply randomness to peep destinations when moving from one tile to the next, to allow peeps that are moving along a straight path to maintain their perpendicular offset relative to the path direction, instead of being (eventually) forced back to the center line.
* Update test expectations
The changes to guest movement mean that the number of steps taken for these expected paths are now slightly different to before.