-
Notifications
You must be signed in to change notification settings - Fork 15
Large Scenery
Contents
- price :
integer
- The cost of building this object.
- cursor :
enum (of string)
-
Cursor icon to use when placing this object
Must be one of:
"CURSOR_BLANK"
,"CURSOR_UP_ARROW"
,"CURSOR_UP_DOWN_ARROW"
,"CURSOR_HAND_POINT"
,"CURSOR_ZZZ"
,"CURSOR_DIAGONAL_ARROWS"
,"CURSOR_PICKER"
,"CURSOR_TREE_DOWN"
,"CURSOR_FOUNTAIN_DOWN"
,"CURSOR_STATUE_DOWN"
,"CURSOR_BENCH_DOWN"
,"CURSOR_CROSS_HAIR"
,"CURSOR_BIN_DOWN"
,"CURSOR_LAMPPOST_DOWN"
,"CURSOR_FENCE_DOWN"
,"CURSOR_FLOWER_DOWN"
,"CURSOR_PATH_DOWN"
,"CURSOR_DIG_DOWN"
,"CURSOR_WATER_DOWN"
,"CURSOR_HOUSE_DOWN"
,"CURSOR_VOLCANO_DOWN"
,"CURSOR_WALK_DOWN"
,"CURSOR_PAINT_DOWN"
,"CURSOR_ENTRANCE_DOWN"
,"CURSOR_HAND_OPEN"
,"CURSOR_HAND_CLOSED"
,"CURSOR_ARROW"
, - removalPrice :
integer
- The cost of removing this object. This value is negative if the object gives a refund.
- hasPrimaryColour :
boolean
- True for objects that have at least one remappable colors.
- hasSecondaryColour :
boolean
- True for objects that have two remappable colors;
hasPrimaryColour
must also be set. - isAnimated :
boolean
- No, you still can't have animated large scenery. This is a special flag just for the large Scrolling Sign.
- scrollingMode :
integer
: required - Scrolling mode of the sign
- isPhotogenic :
boolean
- If true, guests will watch/photograph this object.
- tiles :
array of object
: required -
A list of tile descriptions for all the tiles making up this large scenery object. These can technically be listed in any order. The images for a normal large scenery object are the 4 preview images, and then each set of 4 images for all the tiles, in the order listed here.
-
*items* :
object
-
A description of one of the tiles making up this large scenery object
- x :
integer
- The x offset for this tile. X and Y offsets are (always?) in multiples of 32, since that's one full surface tile. When looking southeast (the direction that comes first in the images),
(0,0)
is in the very back. Positive-x goes to the left (and down/towards the camera), and positive-y goes to the right (and down/towards the camera). - y :
integer
- The y offset for this tile. X and Y offsets are (always?) in multiples of 32, since that's one full surface tile. When looking southeast (the direction that comes first in the images),
(0,0)
is in the very back. Positive-x goes to the left (and down/towards the camera), and positive-y goes to the right (and down/towards the camera). - z :
integer
- The vertical offset for this tile. 0 is in line with the bottom of this object, but higher values can accomplish things like the hollow pyramid, or other cases where different tiles take up different vertical spaces. Each height step in the game is 8 units high (I think this is equal to 4 pixels).
- clearance :
integer
- The vertical height of this tile. This is added to the
z
offset to get the total height of the top of this tile, relative to the full object. Each height step in the game is 8 units high (I think this is equal to 4 pixels). - hasSupports :
boolean
- True for tiles that have supports when they are located in the air.
- allowSupportsAbove :
boolean
- If true, supports from other objects will be built on top of this one.
- corners :
integer
- This is a bitmask of the corners occupied by this tile. Defaults to 15 (all corners).
- walls :
integer
- This is a bitmask of the walls occupied by this tile. Defaults to 0.
- x :
-
*items* :
- 3dFont :
object
-
For large scenery objects that are 3D fonts, a description of the font.
- offsets :
array of object
: required -
A list of the relative x and y offset for this font when facing left and then right.
-
*items* :
object
-
- x :
integer
- Relative x-offset
- y :
integer
- Relative y-offset
- x :
-
*items* :
- maxWidth :
integer
-
In pixels, the maximum length of a line of text that will fit onto a large sign using this font. I'm not sure why these are stored in the 3D font object, since the signs themselves aren't specified here, and changing the font wouldn't have any affect on the size of the sign.
Regardless, this value is 62 for horizontal signs, and 142 (which is the maxHeight, really) for vertical signs.
- numImages :
integer
- The number of unique image (sets) actually stored in this object. If
isVertical
is true, there are two images for each set (facing left and then facing right). Otherwise (for horizontal signs) there are 4. (left and right, and then again, offset 1/2 pixel down to deal with aliasing or something). - isVertical :
boolean
- If true, this font is rendered on a large vertical sign. Otherwise, it's used on a horizontal signs.
- isTwoLine :
boolean
- Assuming
isVertical
is false, this flag controls whether this font is rendered on a one-line or two-line horizontal sign. - glyphs :
array of object
: required -
A list of the 256 glyphs making up this 3D font, mapping to the first 256 UTF-8 codepoints. For reference, that's the 128 the ASCII codepoints, followed by the 128 Latin-1 Supplement codepoints.
-
*items* :
object
-
A description of one of the tiles making up this large scenery object
- image :
integer
- The index of the image (set) to use for this glyph. For vertical signs, there are two images for each set (facing left and then facing right). For horizontal signs there are 4. (left and right, and then again, offset 1/2 pixel down to deal with aliasing or something).
- width :
integer
- Width of the glyph, when displayed
- height :
integer
- Height of the glyph, when displayed
- image :
-
*items* :
- offsets :
- sceneryGroup :
string
- OpenRCT2
id
of the primary scenery group this object should be included in.
rct2.scenery_large.spyr
(Pyramid)
"properties": {
"price": 350,
"removalPrice": -300,
"cursor": "CURSOR_STATUE_DOWN",
"isPhotogenic": true,
"tiles": [
{
"x": 0,
"y": 0,
"clearance": 96,
"hasSupports": true
},
{
"x": 0,
"y": 32,
"clearance": 96,
"hasSupports": true
},
[...]
{
"x": 96,
"y": 96,
"z": 144,
"clearance": 80,
"hasSupports": true
},
{
"x": 96,
"y": 64,
"z": 144,
"clearance": 80,
"hasSupports": true
}
]
}
rct2.scenery_large.ssig2
(3D Sign)
"properties": {
"price": 20,
"removalPrice": -10,
"cursor": "CURSOR_ENTRANCE_DOWN",
"hasPrimaryColour": true,
"hasSecondaryColour": true,
"scrollingMode": 0,
"tiles": [
{
"x": 0,
"y": 0,
"clearance": 16,
"walls": 4,
"corners": 12
},
{
"x": 0,
"y": 32,
"clearance": 16,
"walls": 4,
"corners": 12
}
],
"3dFont": {
"offsets": [
{
"x": -1,
"y": 0
},
{
"x": 3,
"y": -1
}
],
"maxWidth": 62,
"numImages": 89,
"glyphs": [
{
"image": 0,
"width": 8,
"height": 10
},
{
"image": 0,
"width": 8,
"height": 10
},
[...]
]
}
}