* 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
^~~~~~
```
- Ensure static CRT is used when compiling.
- Allow Ninja generator to work (remove use of CMAKE_VS_PLATFORM_NAME).
- Move CMakeSettings.json to new standard location for VS.
If OpenRCT2 is compiled without GUI (for example as a dedicated server),
it does not make sense to install the desktop and icon files.
Signed-off-by: Conrad Kostecki <conrad@kostecki.com>
For a package maintainer, it should be possible to disable the support
for discord-rpc and google benchmark, as it currently always includes them,
when the library if found.
This will enable compilation of testpaint on targets different than x86.
It won't function the way it does on x86, but it should provide a way of
tackling various compilation errors that can only be seen in the very
specific environment required by testpaint proper.
This moves setting of compilation flags to common file to be used by all
subprojects and explicitly enables only C++ support, skipping whole C
support in CMake.
This allows using CMake-standard `BUILD_SHARED_LIBS` flag to dynamically
set how libopenrct2 should be built.
`cmake -DBUILD_SHARED_LIBS=OFF` will result in `openrct2` statically
linked with `libopenrct2`
Fixes#5918.
at least on Linux this makes the build system easily adaptable to the
different distributions. GNUInstallDirs was added in cmake 2.8 so the
version is increades as well.
Testing on all other platforms is necessary, I have only a Linux system
at hand right now.