This PR updated slightly the handling of CCache. With the current
implementation, when CCache is not being installed, CMake will complain,
that OPENRCT2_USE_CCACHE is not set.
This logic is slightly updated, so the option OPENRCT2_USE_CCACHE is always
being available and when this option is enabled (default ON), it will
search for CCache and warn, if it's not found.
The idea behind is, as in Gentoo, we never let CCache be used by the
package itself, instead, we enabled it globally. But this the old logic,
on systems, which don't have CCache installed, it will complain about
OPENRCT2_USE_CCACHE not being used, but we have to make sure, OpenRCT2
will never use by itself CCache and this message will be gone..
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
* Fix Go Kart Speeds not being random
Go kart speeds now only get 2 different values (around 37kmh or around 25kmh), in vanilla Go karts can also have a value in between. This PR fixes that.
* Update changelog.txt
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
* Increment network version
* Update replays
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
* Rename path find functions and use sub function
* Modify leaving park logic to not use park entrance index
* Remove ChosenParkEntrance from peep struct
* Refactor GetNearestParkEntrance
Removed the index as its pointless. Fixed function to use CoordsXY
* Increment network version
* Update replays
* Port over changes from NSF for staff
* Fix import and export
* Fix crash on export
* Fix import issue
* Fix patrol import issue
* Remove staff id field
* Increment network version
* Actually remove all instances of staff id
* Update replays
* Use std::vector for ride use memory
* Use new system for import/export
* Remove legacy field
* Add replay entity size protection to prevent crash
* Increment network version
* Update replays
* Move function to header
* Move constant to RCT12 header as used for both 1 and 2
* Align naming with nsf
* Improvement: Added lighting effects for shops and stalls.
* Moved offset rotations for lights to declaration.
* - Made function variables Const&, Const
- Fixed casing
- Removed direction variable from kiosk function
- Moved kiosk light offset rotation to declaration
* Ensure defines are only set for given target with cmake
Co-authored-by: Michał Janiszewski <janisozaur@gmail.com>
* Start a network serialiser for entities
will be used only for checksums and replay diffs
* Continue work
* Use the new serailser for checksums
* Use new serialiser for replays
* keep compilers happy
* Try create checksum stream
* Fix compiling
* Split off class into seperate file
* Update Xcode project
* Increment network version
* Fix pragma mistake
* Fix none network builds
* Update replays
* Improve ChecksumStream and use FNV internally
* Small cleanups
* satisfy compilers
* Revert change of checksum size to simplfy rerecording
* Zero initialise data
* Fix serialiser
* Update replays again
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
Co-authored-by: Matt <m.moninger.h@gmail.com>
* 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>
* Remove users of AssignedPeepType
* Remove AssignedPeepType
Field no longer required due to changes to EntityType
* Move enum to the RCT12 header
* Increment network version
* Update replays
* Move jumpingfountain type out of misc entity type
* Remove SubType for MiscEntities as it is no longer required
* Update replays
* Apply review comments
* Increment network version
* 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
* Make train manager view
* Remove linked list index field
* Remove merge mistake
* Fix further rebase errors
* Rename and add comments
* Update replays
* Fix Xcode project
* Increment network version
Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
This is on by default. If disabled, CMake will look for dependencies
in the standard system paths as usual. If enabled, the dependency zip
file will be downloaded (if out of date) and the vcpkg packaged
dependencies from https://github.com/OpenRCT2/Dependencies will be used.
* Use std::vector of quadrants
* Prevent ptr invalidation issues
* Remove next_in_quadrant
* Make review changes
* Rebuild next_in_quadrant for S6Export
* Fix formatting
* Constexpr where possible
* Increment network version and update replays
* Implement EntityLists
* Remove dead code
* Use alternative name for iterator
* Add comments
* Increment network version
* Update replays
* Remove further dead code
* Update replays again
* 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
* 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>
* 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.
* Make all game actions take an ObjectEntryIndex where applicable
* Update replays for parameter size change
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
This speeds up CMake recompilation significantly.
The default behaviour is to search for CCache and use it if
available; this can be disabled explicitly by setting
OPENRCT2_USE_CCACHE=OFF in CMake.
* Increase randomness when handyman is on queue path
* Add myself to contributors
* Refactor hex variable probabilities
* Add check if queue is connected to a ride
* Update changelog
* Bump network version
* Update replays
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
Error messages produced by MinGW look like:
```
In file included from ../src/openrct2/world/Banner.cpp:10:0:
../src/openrct2/world/Banner.h:29:8: error: potential null pointer dereference [-Werror=null-dereference]
struct Banner
^~~~~~
```