1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-20 13:33:02 +01:00
Commit Graph

149 Commits

Author SHA1 Message Date
LordOfLunacy
45013a90cc Part of pathfinding rework 2022-05-13 19:18:46 -04:00
Hielke Morsink
ad0a2a8f96 Remove entrance/exit location functions 2022-02-18 23:28:17 +02:00
Hielke Morsink
f06645d2f7 Make stations a private std::array and use getters for access 2022-02-18 23:21:35 +02:00
Hielke Morsink
f47c1b9f96 Close #16468: Use TIdentifier for StationIndex 2022-02-18 23:11:07 +02:00
ζeh Matt
1fe6c0618b Fix clang format 2022-02-12 18:11:18 +02:00
ζeh Matt
06e430157f Use RideId::GetNull and RideId::IsNull over constant 2022-02-12 18:11:18 +02:00
ζeh Matt
a2470c0573 Rename ride_id_t to RideId 2022-02-12 18:11:18 +02:00
Duncan
5157b57a15 OpenRCT2 Limits (#16088)
* Move over max rides to limits file

* Move max stations to limits file

* Move over max inversions, golf holes, helices, custhistsize

* Move over max trains per ride

* Bring over Max cars per train and max circuits per ride

* Port over NumColourSchemes and max vehicle colours

* Fix compilation

* Move over max awards

* Move over max peep spawns and park entrances

* Fix rebase issues

* Remove future work

* Switch style

* Update copyright
2022-02-01 20:59:48 +00:00
ζeh Matt
269673e3aa Profiler update (#16463)
* Add more functions to be profiled

* Add isEnabled method to Profiler scripting interface

* Bump up scripting version

* Apply review suggestions
2022-01-29 15:29:08 +02:00
ζeh Matt
e405658f6a Code style and cleanup 2021-12-13 16:00:51 +02:00
ζeh Matt
16635b9192 Implement custom BitSet and replace std::bitset 2021-12-12 23:47:17 +02:00
Michael Steenbeek
27cbb6c6ae Merge pull request #16190 from Gymnasiast/refactor/normalised-tile-element-type-3
Part of #15485: normalise all OpenRCT2 tile element types
2021-12-12 09:53:09 +01:00
Duncan
56c4240d77 Make Parkfile Pathfinding Deterministic (#16147)
* 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
2021-12-11 16:03:59 +00:00
Gymnasiast
aa34f0f760 Drop the N postfix 2021-12-11 00:39:39 +01:00
Gymnasiast
fc3ce3294c Move over switches to normalised tile element types 2021-12-11 00:30:59 +01:00
Michael Steenbeek
2d1af0ec42 Replace many GetType() calls with GetTypeN() 2021-12-10 22:43:17 +01:00
ζeh Matt
9f23449ffb Move Staff/Guest/Peep to entity 2021-11-26 18:26:19 +02:00
ζeh Matt
4147a57c5b Remove Null constant and use strictly GetNull/IsNull 2021-11-22 18:17:17 +02:00
ζeh Matt
15396fee5d Add static GetNull member 2021-11-22 18:17:17 +02:00
ζeh Matt
4ba2c101c9 Use TIdentifier for ParkEntranceIndex 2021-11-22 18:17:17 +02:00
Duncan
3f19d6f7d7 Split Peep header Guest into separate header (#15810)
* Move guest functions and classes to guest header

* Reduce includes of Peep.h
2021-10-28 21:38:23 +01:00
Hielke Morsink
53c22c9b4b Check for nullptr explicitly (#15458) 2021-09-24 20:05:50 +02:00
ζeh Matt
719a5a9d8e Merge pull request #15369 from ZehMatt/refactor/tile-coords
Refactor overload map_get_first_element_at
2021-09-21 14:36:03 -07:00
Hielke Morsink
4b4b3333d6 Remove unnecessary else blocks 2021-09-16 18:31:12 +02:00
ZehMatt
3ad72baaae Cast fixes 2021-09-10 19:10:12 +03:00
Michael Steenbeek
624a32e93b Make Coords isNull/setNull functions TitleCase (#15382) 2021-09-08 20:48:53 -03:00
ζeh Matt
07a7946caf Remove redundant conversions 2021-09-07 22:36:16 +03:00
ZehMatt
bb6b931a7d Use TileCoordsXYZ in path finding for bigger map support 2021-07-27 20:39:39 +03:00
Hielke Morsink
617bb698ae Use UK spelling of center 2021-06-29 00:03:45 +02:00
Jamie Quigley
4f6d0a00fd Refactor RIDE_STATUS to use strong enum (#14840)
* 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
2021-06-10 07:09:58 +01:00
Duncan
d46e4a9bb1 Network serialiser for entities (#14541)
* 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>
2021-05-09 19:12:44 +01:00
Duncan
8eabdf8c8f Split guest and staff peep variables (#14462)
* Split guest and staff peep variables

* Move variable location

* Increment network version

* Update replays
2021-04-18 17:48:21 +01:00
ceeac
a8702dc2c8 Fix compile error when DEBUG_LEVEL=1 2021-04-18 12:57:46 +02:00
Duncan
b65f12f1cf Use correct null value (#14421)
* Use correct null value

* Increment network version
2021-04-02 13:13:33 +01:00
Duncan
977d05ba29 Entity type5: Remove peep assigned type (#14380)
* 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
2021-03-24 08:54:05 +00:00
Gymnasiast
56399e7188 Use the RTD instead of ride_type_has_flag() 2021-02-24 14:10:30 +01:00
ζeh Matt
c9ca066e94 Merge pull request #14024 from ZehMatt/refactor/coords-peep-destination
Use CoordsXY for for some types
2021-02-21 15:33:52 +02:00
Duncan
2b26e423e4 Remove AsGuest and AsStaff duplicated functions 2021-02-21 13:23:31 +01:00
Matt
571bf0dab1 Apply review suggestions 2021-02-21 09:52:33 +02:00
Matt
62baee3adb Allow passing of destination tolerance via SetDestination 2021-02-21 09:52:33 +02:00
Matt
965041b437 Remove direct access to DirectionX and DirectionY 2021-02-21 09:52:33 +02:00
Mathias Gibbens
b1e5a11bf3 Several more spelling fixes (#13752)
Signed-off-by: Mathias Gibbens <mathias@calenhad.com>

Co-authored-by: Mathias Gibbens <mathias@calenhad.com>
2021-01-10 18:23:35 +00:00
Duncan
c12e1634fc Merge LitterType into the shop item descriptor (#13513)
* 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
2020-12-09 06:55:06 +00:00
Łukasz Pękalski
3de233c796 Close #12395: Refactor PeepItem to use strong enum (#13311)
* 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
2020-12-03 21:15:59 -03:00
Richard Fine
6c4df9c54d Fix #13409: Peeps sometimes stray too far from the path centre (#13415)
* 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>
2020-11-22 21:06:43 +00:00
Gymnasiast
a3aef90637 Replace loose usages of 0xFF 2020-11-07 12:58:32 +01:00
Richard Fine
438b197b80 Debunch peeps (#12917)
* 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.
2020-11-03 22:30:36 -03:00
Łukasz Pękalski
d1cd2e08b5 Close #12388, refactor PeepState to use strong enum (#12927)
* Close #12388, refactor:PeepState to use strong enum

* refactor: refactored file PlayTests.cpp

* refactor: change PEEP_STATE_ to PeepState:: and camel case after merging

chore: code reformatting
2020-09-28 15:51:49 -03:00
Richard Fine
a1222fa4ca Staff code cleanup (#12907)
* Make UpdateFixing*() methods use const where possible

To make it clearer which steps actually modify the ride being fixed and which do not, pass const Ride* instead of Ride* where possible.

* Extract maximum litter search distance to a constant

* Make peep_update_*() methods return bool

* Use Direction type and helpers where applicable

* Const correctness and other cleanup

Make many functions take a const Peep* / const Staff* to clarify that they do not modify the peep being passed in. Also use the Direction type for some return values, and simplify staff_is_location_on_patrol_edge.

* Use clearer expression of constant value

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>

* Convert staff functions to members

* Remove AsStaff const overload

* Use As<Staff>() instead of static_cast

* Simplify direction selection code

* Clean up use of magic constants

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>
2020-09-27 21:07:09 -03:00
Richard Fine
b57ed85098 Fixes from review feedback 2020-09-16 21:24:35 -04:00