-
Notifications
You must be signed in to change notification settings - Fork 15
Ride
Contents
Since stalls are considered rides as well, this page is split up into three parts. First are properties for All Ride Objects. After that are the properties specific to shops/stalls vs those for actual rides.
If "type"
is "food_stall"
, "drink_stall"
, "shop"
, "information_kiosk"
, "toilets"
, "cash_machine"
, "first_aid"
(i.e., a shop or stall), use properties for Stalls and Shops Only. Otherwise, use properties for Actual Rides Only.
All ride objects start with 3 preview images. In theory, these are for the 3 types
it has, but since almost all of them only support one type, the second 2 images are almost always blank. The rest of the images are described in the other image sections below.
- type :
array of enum (of string)
: required -
Array of ride types of this object. For tracked rides, this is the type of track. For flat rides and stalls, this is the type of it. Currently only up to 3 are used, and most ride objects only have one.
-
*items* :
enum (of string)
- Must be one of:
"spiral_rc"
,"stand_up_rc"
,"suspended_swinging_rc"
,"inverted_rc"
,"junior_rc"
,"miniature_railway"
,"monorail"
,"mini_suspended_rc"
,"boat_hire"
,"wooden_wild_mouse"
,"steeplechase"
,"car_ride"
,"launched_freefall"
,"bobsleigh_rc"
,"observation_tower"
,"looping_rc"
,"dinghy_slide"
,"mine_train_rc"
,"chairlift"
,"corkscrew_rc"
,"maze"
,"spiral_slide"
,"go_karts"
,"log_flume"
,"river_rapids"
,"dodgems"
,"swinging_ship"
,"swinging_inverter_ship"
,"food_stall"
,"drink_stall"
,"shop"
,"merry_go_round"
,"information_kiosk"
,"toilets"
,"ferris_wheel"
,"motion_simulator"
,"3d_cinema"
,"top_spin"
,"space_rings"
,"reverse_freefall_rc"
,"lift"
,"vertical_drop_rc"
,"cash_machine"
,"twist"
,"haunted_house"
,"first_aid"
,"circus"
,"ghost_train"
,"twister_rc"
,"wooden_rc"
,"side_friction_rc"
,"steel_wild_mouse"
,"multi_dimension_rc"
,"flying_rc"
,"virginia_reel"
,"splash_boats"
,"mini_helicopters"
,"lay_down_rc"
,"suspended_monorail"
,"reverser_rc"
,"heartline_twister_rc"
,"mini_golf"
,"giga_rc"
,"roto_drop"
,"flying_saucers"
,"crooked_house"
,"monorail_cycles"
,"compact_inverted_rc"
,"water_coaster"
,"air_powered_vertical_rc"
,"inverted_hairpin_rc"
,"magic_carpet"
,"submarine_ride"
,"river_rafts"
,"enterprise"
,"inverted_impulse_rc"
,"mini_rc"
,"mine_ride"
,"lim_launched_rc"
,"hypercoaster"
,"hyper_twister"
,"monster_trucks"
,"spinning_wild_mouse"
,"classic_mini_rc"
,"hybrid_rc"
,"single_rail_rc"
,
-
*items* :
- category :
string
-
[Deprecated] Ride category is now determined from the type
Example:
"category": "rollercoaster"
- carColours :
array of array
: required -
An array of preset color schemes for the ride. Currently, a ride can either have multiple presets (up to 254) with a single color scheme each (which are randomly chosen from when a ride is built), or it can have a single preset that has different color schemes for each train (car?). Note: If there is more than one preset, only the first color scheme in each preset is used.
-
*items* :
array of array
-
-
*items* :
array
-
-
*item* :
enum (of string)
-
Object color
Must be one of:
"black"
,"grey"
,"white"
,"dark_purple"
,"light_purple"
,"bright_purple"
,"dark_blue"
,"light_blue"
,"icy_blue"
,"teal"
,"aquamarine"
,"saturated_green"
,"dark_green"
,"moss_green"
,"bright_green"
,"olive_green"
,"dark_olive_green"
,"bright_yellow"
,"yellow"
,"dark_yellow"
,"light_orange"
,"dark_orange"
,"light_brown"
,"saturated_brown"
,"dark_brown"
,"salmon_pink"
,"bordeaux_red"
,"saturated_red"
,"bright_red"
,"dark_pink"
,"bright_pink"
,"light_pink"
, -
*item* :
enum (of string)
-
Object color
Must be one of:
"black"
,"grey"
,"white"
,"dark_purple"
,"light_purple"
,"bright_purple"
,"dark_blue"
,"light_blue"
,"icy_blue"
,"teal"
,"aquamarine"
,"saturated_green"
,"dark_green"
,"moss_green"
,"bright_green"
,"olive_green"
,"dark_olive_green"
,"bright_yellow"
,"yellow"
,"dark_yellow"
,"light_orange"
,"dark_orange"
,"light_brown"
,"saturated_brown"
,"dark_brown"
,"salmon_pink"
,"bordeaux_red"
,"saturated_red"
,"bright_red"
,"dark_pink"
,"bright_pink"
,"light_pink"
, -
*item* :
enum (of string)
-
Object color
Must be one of:
"black"
,"grey"
,"white"
,"dark_purple"
,"light_purple"
,"bright_purple"
,"dark_blue"
,"light_blue"
,"icy_blue"
,"teal"
,"aquamarine"
,"saturated_green"
,"dark_green"
,"moss_green"
,"bright_green"
,"olive_green"
,"dark_olive_green"
,"bright_yellow"
,"yellow"
,"dark_yellow"
,"light_orange"
,"dark_orange"
,"light_brown"
,"saturated_brown"
,"dark_brown"
,"salmon_pink"
,"bordeaux_red"
,"saturated_red"
,"bright_red"
,"dark_pink"
,"bright_pink"
,"light_pink"
,
-
*item* :
-
*items* :
Examples:
rct2.ride.scht1
(Looping Roller Coaster Trains)"carColours": [ [ ["bright_red", "bright_red", "yellow"] ], [ ["dark_green", "bright_red", "dark_green"] ], [ ["light_blue", "white", "light_blue"] ] ]
rct2.ride.kart1
(Go-Karts)"carColours": [ [ ["light_blue", "black", "black"], ["bright_red", "black", "black"], ["yellow", "black", "black"], ["bright_green", "black", "black"], ["black", "black", "black"], ["light_purple", "black", "black"], ["light_orange", "black", "black"], ["aquamarine", "black", "black"], ["dark_brown", "black", "black"], ["white", "black", "black"], ["bright_pink", "black", "black"], ["dark_olive_green", "black", "black"], ["bordeaux_red", "black", "black"], ["dark_purple", "black", "black"], ["bright_purple", "black", "black"], ["light_pink", "black", "black"], ["dark_blue", "black", "black"], ["icy_blue", "black", "black"], ["teal", "black", "black"], ["saturated_green", "black", "black"], ["dark_green", "black", "black"], ["moss_green", "black", "black"], ["olive_green", "black", "black"], ["bright_yellow", "black", "black"], ["dark_yellow", "black", "black"], ["dark_orange", "black", "black"], ["saturated_brown", "black", "black"], ["salmon_pink", "black", "black"], ["saturated_red", "black", "black"], ["dark_pink", "black", "black"], ["light_blue", "black", "black"], ["bright_red", "black", "black"] ] ]
-
*items* :
After the 3 preview images, for most stalls, there are just the 4 angles. Unusually, they start facing back-right and then go clockwise. For stalls that peeps can enter ("toilets"
and "first_aid"
), the part that is drawn in front of peeps that enter it is split off for the front facing angles, but unlike other objects with split images, it's all the "behind" angles first and then the "in front" angles:
- Front-left (behind)
- Back-left (can't see the entrance, so there's no split)
- Back-right (again, no split)
- Front-right (behind)
- Front-left (front)
- Front-right (front)
- sells :
array
: required -
The item(s) sold by the shop, currently up to two are used
- items
- Must be one of:
"burger"
,"chips"
,"ice_cream"
,"candyfloss"
,"pizza"
,"popcorn"
,"hot_dog"
,"tentacle"
,"toffee_apple"
,"doughnut"
,"chicken"
,"pretzel"
,"funnel_cake"
,"beef_noodles"
,"fried_rice_noodles"
,"wonton_soup"
,"meatball_soup"
,"sub_sandwich"
,"cookie"
,"roast_sausage"
,"drink"
,"coffee"
,"lemonade"
,"chocolate"
,"iced_tea"
,"fruit_juice"
,"soybean_milk"
,"sujeonggwa"
,"balloon"
,"toy"
,"map"
,"photo"
,"umbrella"
,"voucher"
,"hat"
,"tshirt"
, or"sunglasses"
.
- disablePainting :
boolean
-
For
food_stall
,drink_stall
,shop
, andinformation_kiosk
, true if the stall does not support recoloring.The other stall stall types (
toilets
,cash_machine
, andfirst_aid
) never support recoloring.
rct2.ride.bnoodles
(Beef Noodles Stall)
"properties": {
"type": "food_stall",
"category": "stall",
"sells": "beef_noodles",
"disablePainting": true,
"carColours": [
[
["black", "black", "black"]
]
]
}
More will be written here at some point, maybe, but Amazing Earl's ride tutorial has some very good detailed information already:
http://ae.rctspace.com/tutorial/ch03.htm
http://ae.rctspace.com/tutorial/ch06.htm
- buildMenuPriority :
integer
- Except for rides that list their "subtypes" separately, this number describes the priority order for which subtype should show for the generic ride type in the build menu. Of all the subtypes that are available and researched, whichever has the highest buildMenuPriority will show as representative of the generic ride type.
- maxHeight :
integer
- Maximum height of the ride (if not set, or set to 0, uses the hardcoded value for the ridetype)
- swingMode :
enum (of integer)
-
If set to 1 or 2, indicates alternate swing modes that are used for some rides
Must be one of:
0
,1
,2
, - rotationMode :
enum (of integer)
-
If set to 1, indicates alternate rotation modes used for twist, if set to 2, indicates alternate rotation mode used for enterprise
Must be one of:
0
,1
,2
, - ratingMultipler :
object
-
Additional rating multiplier(s) for this specific ride subtype (this is on top of the rating multipliers that are hardcoded for each ride type)
excitement :
integer
intensity :
integer
nausea :
integer
- minCarsPerTrain :
integer
- Minimum number of cars that can be in a train
- maxCarsPerTrain :
integer
- Maximum number of cars that can be in a train
- carsPerFlatRide :
integer
- The number of cars, for a flat ride
- numEmptyCars :
integer
- The number of "zero" cars in the train. That is, cars that do not hold any guests
- defaultCar :
integer
-
Index of the car that should be used as the default car for this ride. In other words, this is the normal car that appears throughout the train wherever there isn't a special (i.e. front or rear) car
Defaults to 0 if not specified
- tabCar :
number
- The index of the car that should show in the gui tab for this ride (0 if not specified)
- tabScale :
number
- If <= 0.5, this will scale the size of the tab preview in half
- headCars :
array of integer or number
- The index(es) of up to three cars that should be used to fill the front of a train
- tailCars :
integer
- Index of the car that should be used as the tail car, if any (the code supports listing an array instead of just a single index here, but currently only the first index listed is used)
- cars :
array or object
: required -
The cars in this ride
This can be either a single Car Object or an array of them
- noInversions :
boolean
- Flagged if the ride does not support inversions
- noBanking :
boolean
- Flagged if the ride does not support banking
- playDepartSound :
boolean
- Flagged if the ride plays a departure sound when departing the station. depending on
soundRange
, plays Tram or Train departing sound. - playSplashSound :
boolean
- Flagged if the ride should play a splashing sound on down to flat elements
- playSplashSoundSlide :
boolean
- Flagged if the ride should play a splashing sound when entering a water channel, for water coasters. Has no effect if playSplashSound is enabled. Note: Internally, water channel track is coded as "covered" track, so if this flag is set for a ride running on a track that supports covered pieces, it will play a splash sound when entering a covered section of track.
- hasShelter :
boolean
-
Flagged if the ride is covered (for example, monorail cars are covered)
Note that there are some ride types in vanilla RCT2 that seem to have this bit set illogically. Pickup-trucks did not have this set, and the uncovered ski lift cars did have these set. These have been changed in OpenRCT2 to make more sense.
- limitAirTimeBonus :
boolean
- Flagged if the ride should have a hard cap on how much bonus it gets from airtime. This is only set for heartline-twister coasters, and makes it so that a max of ~2 seconds of airtime can give an excitement bonus.
- disableBreakdown :
boolean
- Flagged if the ride does not break down
- noCollisionCrashes :
boolean
- Flagged if the ride does not crash when vehicles collide
- disablePainting :
boolean
- Flagged if the ride does not support recolouring
rct2.ride.bboat
(Bumper Boats)
"properties": {
"type": "boat_hire",
"category": [
"water",
"thrill"
],
"ratingMultipler": {
"excitement": 30,
"intensity": 15,
"nausea": 15
},
"carColours": [
[
["yellow", "light_blue", "black"]
],
[
["bright_red", "light_blue", "black"]
],
[
["dark_green", "yellow", "black"]
]
],
"cars": {[...]},
"buildMenuPriority": 5
}
rct2.ride.twist1
(Twist)
"properties": {
"type": "twist",
"category": "thrill",
"tabScale": 0.5,
"rotationMode": 1,
"carsPerFlatRide": 1,
"carColours": [
[
["moss_green", "yellow", "black"]
],
[
["bright_red", "white", "black"]
]
],
"cars": {[..]}
}
- rotationFrameMask :
integer
- A bitmask indicating which "rotation" frames to use for rendering spinning car in the UI. For tracked rides, this should be equal to the number of rotation frames minus 1 (so usually 31). If 0, there's no animation.
- spacing :
integer
-
The space taken up by this car.
For reference, one tile is 262144 (2^18)
Example:
"spacing": 146000
- mass :
integer
-
Mass of this car
Example:
"mass": 650
- tabOffset :
integer
- If used, adds a vertical offset to this car when rendered in the UI
- numSeats :
integer
- Number of seats that this car hold
- seatsInPairs :
boolean
- If set, indicates that guests sit in this car in pairs. Any car that seats more than one rider (and has riders visible) has to have this set if it uses the default visual mode (i.e. most of them).
- spriteWidth :
integer
- For manually entering the sprite width for this car. This is only used if
recalculateSpriteBounds
is set, which seems to only be for non-tracked-rides (?), otherwise this value is calculated. - spriteHeightNegative :
integer
- For manually entering the sprite height below the origin for this car. This is only used if
recalculateSpriteBounds
is set, which seems to only be for non-tracked-rides (?), otherwise this value is calculated. - spriteHeightPositive :
integer
- For manually entering the sprite height above the origin for this car. This is only used if
recalculateSpriteBounds
is set, which seems to only be for non-tracked-rides (?), otherwise this value is calculated. - animation :
integer
-
Indicates a special animation mode to use for this car.
- 0: None
- 1: Miniature Railway
- 2: Swan boats
- 3: Canoes
- 4: Row boats
- 5: Water tricycles
- 6: Observation tower
- 7: Helicars
- 8: Monorail cycles
- 9: Multidimensional Coaster
- baseNumFrames :
integer
- The number of frames (angles) of rotation when this car is flat. This number is always calculated by OpenRCT2 so this field is deprecated.
- numImages :
integer
- The total number of sprites for this car. This number is always calculated by OpenRCT2 so this field is deprecated.
- numSeatRows :
integer
- The number of separate rider images for this car. For the default visual mode, this is equal to half the number of seats (or 1, if this car only holds one rider, or the default of 0, if riders are not visible).
- spinningInertia :
integer
- For spinning vehicles, this is their inertia for spinning (higher numbers mean the spin is more stable, and changes speed less).
- spinningFriction :
integer
-
For spinning vehicles, this is friction that should slow down their spin over time.
Technically, because of simplistic code, this is only true for leftward spinning, and rightward spins will actually speed up over time.
- frictionSoundId :
integer
-
One of the following (defaults to 255):
- 0: Lift
- 1: Wood Classic Friction
- 2: Classic Friction
- 21: Go Kart Engine
- 31: Train Friction
- 32: Water
- 54: Wood Friction
- 57: BM Friction
- 255: None
- logFlumeReverserVehicleType :
integer
- For rides with reverser elements, this is the index of the car to turn into after going through a reverser element. Defaults to 0.
- soundRange :
integer
-
Selects the type of sound that's regularly played for this car. One of the following (defaults to 255):
- 0: Screams 0
- 1: Screams 1
- 2: Screams 2
- 3: Whistle
- 4: Bell
- 255: None
- doubleSoundFrequency :
integer
- If set to 1, sound frequency is doubled (relative to velocity). Used for go-karts.
- poweredAcceleration :
integer
- For powered rides, the amount of powered acceleration
- poweredMaxSpeed :
integer
- For powered rides, the maximum powered speed
- carVisual :
integer
-
Specifies the visual drawing mode of the car. Must be one of:
-
0: Default: Draws this car by choosing a sprite based on the car angle.
-
1: Flat or Car Ride: Don't draw this car.
For flat rides, this means they won't be drawn as a "vehicle" on a track, and drawing will depend on the ride type, as part of the structure of the ride.
For car rides and similar rides, they may have an extra car at the front and back that shouldn't be drawn, so those cars have this visual mode.
-
2: Launched Freefall: First sprite is the full car, then sprites are split into front and back, for a 4-frame animation of restraints opening. Followed are the rider pairs, nominally from right to left, for a three frame restraint opening animation.
-
3: Observation Tower: An eight frame animation rotating clockwise 45 degrees. Then the same, with each frame split into back and then front. Then three frames of the doors opening, each split the same way, and then repeated with the doors facing right. No peep images.
-
4: River Rapids: 8-frames of the boat spinning 90 degrees. The same for a half-gentle slope, tilted SW, NW, NE, SE, and then those 4 again at a full gentle slope. The rider images are the same sequence, repeated separately for each seat pair in the boat (nominally in the order NW, NE, SE, SW)
-
5: Mini Golf (Player): Each frame is four angles, facing NE and then clockwise. 0-5 are a walk cycle. 6-8 are a right-handed swing animation. 9-11 are a right-handed "backswing". 12-15 are an animation of bending down (to pick up, put down, etc. This will be played in both directions). 16-30 are a "jumping for joy" animation. 31-36 are mirrored versions of 6-11 (literally mirrored, meaning left-handed and facing SW too).
-
6: Mini Golf (Ball), "Just a single sprite of the ball.
-
7: Reverser: Same as default, but internally its position is calculated as the midpoint of the front and rear cars (these are the separate wheel bogies for the reverser coaster car).
-
8: Splash Boats/Water Coaster: The actual splash for the Splash Boats/Water Coaster is a separate car? The splash graphics are hardcoded in G1.dat so this car has no separate images in the object. Not sure I fully understand this one.
-
9: Roto-Drop: 4 frames of rotation (clockwise by one seat, or 22.5deg). Then repeated for the back and then for the front. Then "4" frames of restraints opening (it's really only 3 frames, and then a blank image), for the back, and then for the front. Peep images are a 64-frame rotation (clockwise) of a single peep, then restraint opening animation for every seat (it's a blank image and then 3 animation frames this time. (Peep images start from the NE-most seat and continue clockwise. The game doesn't actually render the last/rear 16 positions (or 4 seats), so maybe images can actually be blank?
-
15: Virginia Reel, "Same as River Rapids, except each seat image has only one rider.
-
16: Submarine: Each frame is split into "above the water" and "below the water ". A 32-frame rotation starting NE and going 360deg clockwise, then 3 frames of it coming out of the water (split into 4 angles--NE,SE,SW,NW--and then split into above and below). No rider images.
-
- effectVisual :
integer
-
Selects the type of splash effect to use for this car (splash images are in G1.DAT). carVisual must be default/reverser or river rapids. Must be one of the following:
- 1: No effect
- 10: Splash 1
- 11: Splash 2
- 12: Splash 3
- 13: Splash 4
- 14: Splash 5
- drawOrder :
integer
-
Chooses the bounding box set to use for this car. Only used for default/reverser and submarine visual modes.
- 0: Chairlift.
- 1: Inverted, compact inverted, inverted impulse
- 2: Mini suspended, suspended swinging floorless, inverted hairpin, inverted cars for flying/laydown/multi
- 3: Suspended monorail
- 4: Suspended swinging
- 5: Boat hire, giovanola hyper, bobsleigh, giga, railway, monorail, mini, 6-seat wood, reverse freefall, steeplechase, spiral, submarine. Lead car of corkscrew/hyper, giga, looping.
- 6: Mine train, helicopters, monorail cycles, wood, rowboats, side-friction, wood/steel/spinning wild mouse, car ride, mini. Head car of articulated wood. Main cars of corkscrew/hyper. Upright cars for flying/laydown.
- 7: Railway coal car. Upright car for multi, bumper boats, vertical drop, bobsleigh trains, dinghy slide, dodgems/flying saucers, ghost train, jet skis, go karts, small monorail cars, mine ride, racing cars, stand up. Main cars for giga, looping.
- 8: Twister floorless, B&M hypertwister, twister, B&M stand-up, water coaster, articulated wood, air-powered vertical, junior. Zero car for corkscrew, giovanola hyper, car ride, ghost train, helicars, wild mouse, water coaster, splash boats, stand-up, railway, monster trucks.
- 9: Monster trucks, car ride, log flume, LIM, river rafts, steeplechase.
- 10: Water coaster, splash boats, trams.
- 11: Heartline twister.
- 12: Reverser passenger car.
- 13: Reverser bogie
- 14: No objects used this
- 15: Elevator/Lift
- numVerticalFramesOverride :
integer
- When VEHICLE_ENTRY_FLAG_OVERRIDE_NUM_VERTICAL_FRAMES is set, this value overrides the calculated number of "base" vertical frames. This is used for some cars that use multiple base frames, but don't have a special spinning or animation flag that sets the correct number.
- loadingPositions :
array of integer or integer
-
A list of the different loading positions for this car
*items* :
integer
- loadingWaypoints :
array of array
-
A list of the different loading waypoints guests should use for this car
-
*items* :
array of array
-
-
*items* :
array of integer
-
*items* :
integer
-
*items* :
-
*items* :
- numSegments :
integer
- If loadingWaypoints is used, the number of segments
- frames :
object
-
A set of flags for the different sets of sprites that this car has
- flat :
boolean
- If set, this car has sprites for flat track
- gentleSlopes :
boolean
- If set, this car has sprites for gentle slopes
- steepSlopes :
boolean
- If set, this car has sprites for steep slopes
- verticalSlopes :
boolean
- If set, this car has sprites for vertical slopes
- diagonalSlopes :
boolean
- If set, this car has sprites for diagonal slopes
- flatBanked :
boolean
- If set, this car has sprites for banked, flat track
- inlineTwists :
boolean
- If set, this car has sprites for inline twists
- flatToGentleSlopeBankedTransitions :
boolean
- If set, this car has sprites for flat track to banked gentle sloped track
- diagonalGentleSlopeBankedTransitions :
boolean
- If set, this car has sprites for diagonal banked to unbanked, gentle sloped track transitions
- gentleSlopeBankedTransitions :
boolean
- If set, this car has sprites for banked to unbanked, gentle sloped track transitions
- gentleSlopeBankedTurns :
boolean
- If set, this car has sprites for banked gentle sloping turns
- flatToGentleSlopeWhileBankedTransitions :
boolean
- If set, this car has sprites for banked flat track to banked gentle slope
- corkscrews :
boolean
- If set, this car has sprites for corkscrews
- restraintAnimation :
boolean
- If set, this car has sprites for restraints opening and closing
- curvedLiftHill :
boolean
- If set, this car has sprites for a curved lift-hill
- flat :
- isPoweredRideWithUnrestrictedGravity :
boolean
- Set on powered vehicles that still accelerate due to gravity when going down a hill.
- hasNoUpstopWheels :
boolean
- Set on rides that do no have up-stop wheels, and will derail if their negative vertical Gs are too high (on an uncovered track piece).
- hasNoUpstopWheelsBobsleigh :
boolean
- Set on rides that do no have up-stop wheels, and will derail if their negative vertical Gs are too high (on an uncovered track piece). Uses a slightly different calculation than the normal setting.
- isMiniGolf :
boolean
- Set if this car is a minigolf ball/player (
carVisual
should then be set as well) - isReverserBogie :
boolean
- Set if this car is a wheel bogie at the front and rear of a reverser vehicle
- isReverserPassengerCar :
boolean
- Set if this car is the passenger car of a reverser vehicle
- hasInvertedSpriteSet :
boolean
- Set on vehicles that support running inverted for extended periods of time, i.e. the Flying, Lay-down and Multi-dimension RCs.
- hasDodgemInUseLights :
boolean
- When set the vehicle has an additional frame for when in use. Used only by dodgems.
hasAdditionalColour2 : boolean
- recalculateSpriteBounds :
boolean
- Only used during loading of the object
- VEHICLE_ENTRY_FLAG_11 :
boolean
- Sets VEHICLE_ENTRY_FLAG_USE_16_ROTATION_FRAMES. Instead of the default 32 rotation frames. Only used for boat hire and works only for non sloped sprites.
- overrideNumberOfVerticalFrames :
boolean
- Setting this will cause the game to use numVerticalFramesOverride instead of calculating it
- spriteBoundsIncludeInvertedSet :
boolean
- Used together for recalculateSpriteBounds if hasInvertedSpriteSet is also set so that the inverted sprites are included in the function that recalculates the sprite bounds.
- hasAdditionalSpinningFrames :
boolean
- 16x additional frames for vehicle. A spinning item with additional frames must always face forward to load/unload. Spinning without can load/unload at 4 rotations.
isLift : boolean
hasAdditionalColour1 : boolean
hasSwinging : boolean
hasSpinning : boolean
isPowered : boolean
hasScreamingRiders : boolean
- useSuspendedSwing :
boolean
- Suspended swinging coaster, or bobsleigh if SLIDE_SWING is also enabled.
useBoatHireCollisionDetection : boolean
- hasVehicleAnimation :
boolean
- Set on animated vehicles like the Multi-dimension coaster trains, Miniature Railway locomotives and Helicycles.
- hasRiderAnimation :
boolean
- Set when the animation updates rider sprite positions.
useWoodenWildMouseSwing : boolean
- useSlideSwing :
boolean
- Set on dingy slides. They have there own swing value calculations and have a different amount of images. Also set on bobsleighs together with the SUSPENDED_SWING flag.
isChairlift : boolean
- isWaterRide :
boolean
- Set on rides where water would provide continuous propulsion
isGoKart : boolean
useDodgemCarPlacement : boolean
rct2.ride.twist1
(Twist)
"cars": {
"spacing": 139456,
"mass": 200,
"tabOffset": -12,
"numSeats": 18,
"spriteWidth": 65,
"spriteHeightNegative": 58,
"spriteHeightPositive": 36,
"carVisual": 1,
"drawOrder": 6,
"frames": {
"flat": true
},
"recalculateSpriteBounds": true,
"hasAdditionalColour1": true,
"numSegments": 4,
"loadingWaypoints": [
[
[43, 43],
[43, 43],
[33, 33]
],
[...],
[
[-43, 43],
[-42, -3],
[-42, 0]
]
]
}
rct2.ride.bboat
(Bumper Boats)
"cars": {
"rotationFrameMask": 31,
"spacing": 183036,
"mass": 140,
"numSeats": 2,
"numSeatRows": 1,
"poweredAcceleration": 220,
"poweredMaxSpeed": 9,
"drawOrder": 7,
"frames": {
"flat": true
},
"hasAdditionalColour1": true,
"isPowered": true,
"useBoatHireCollisionDetection": true,
"loadingPositions": [3, -3]
}
rct2.ride.arrt1
(Corkscrew Roller Coaster Trains)
"cars": [
{
"rotationFrameMask": 31,
"spacing": 261480,
"mass": 600,
"numSeats": 4,
"numSeatRows": 2,
"frictionSoundId": 2,
"soundRange": 2,
"drawOrder": 5,
"frames": {
"flat": true,
"gentleSlopes": true,
"steepSlopes": true,
"verticalSlopes": true,
"diagonalSlopes": true,
"flatBanked": true,
"flatToGentleSlopeBankedTransitions": true,
"diagonalGentleSlopeBankedTransitions": true,
"corkscrews": true,
"restraintAnimation": true
},
"hasAdditionalColour2": true,
"hasAdditionalColour1": true,
"hasScreamingRiders": true,
"loadingPositions": [5, 3, -7, -9]
},
{
"rotationFrameMask": 31,
"spacing": 226616,
"mass": 500,
"numSeats": 4,
"numSeatRows": 2,
"frictionSoundId": 2,
"soundRange": 2,
"drawOrder": 6,
"frames": {
"flat": true,
"gentleSlopes": true,
"steepSlopes": true,
"verticalSlopes": true,
"diagonalSlopes": true,
"flatBanked": true,
"flatToGentleSlopeBankedTransitions": true,
"diagonalGentleSlopeBankedTransitions": true,
"corkscrews": true,
"restraintAnimation": true
},
"hasAdditionalColour2": true,
"hasAdditionalColour1": true,
"hasScreamingRiders": true,
"loadingPositions": [7, 9, -3, -1]
},
{
"rotationFrameMask": 31,
"spacing": 52296,
"mass": 50,
"frictionSoundId": 2,
"soundRange": 0,
"drawOrder": 8,
"frames": {
"flat": true,
"gentleSlopes": true,
"steepSlopes": true,
"verticalSlopes": true,
"diagonalSlopes": true,
"flatBanked": true,
"flatToGentleSlopeBankedTransitions": true,
"diagonalGentleSlopeBankedTransitions": true,
"corkscrews": true
}
}
]