mirror of
https://github.com/OpenRCT2/OpenRCT2.git
synced 2025-01-22 10:21:57 -05:00
34128dc262
Co-authored-by: Gymnasiast <Gymnasiast@users.noreply.github.com> Co-authored-by: duncanspumpkin <duncanspumpkin@users.noreply.github.com> Co-authored-by: ZehMatt <Zehmatt@users.noreply.github.com> Co-authored-by: Broxzier <Broxzier@users.noreply.github.com>
255 lines
6.5 KiB
Markdown
255 lines
6.5 KiB
Markdown
# File
|
|
|
|
All strings are null terminated UTF-8.
|
|
|
|
Array32:
|
|
length: uint32
|
|
element-size: uint32
|
|
data: blob
|
|
|
|
An element-size of 0 indicates varying. E.g. for strings.
|
|
|
|
string-table: []
|
|
lcode: string (E.g. "en-GB")
|
|
value: string
|
|
|
|
## File
|
|
|
|
Header:
|
|
magic: uint32
|
|
target-version: uint32
|
|
min-version: uint32
|
|
num-chunks: uint32
|
|
uncompressed-size: uint64
|
|
compression: uint32
|
|
sha1: byte[20]
|
|
|
|
Chunks:
|
|
id: uint32
|
|
offset: uint64
|
|
length: uint64
|
|
|
|
## Chunks
|
|
|
|
Authoring:
|
|
engine: string E.g. "openrct2 v0.1.2 (Linux)"
|
|
authors: string[]
|
|
notes: string
|
|
date-started: timestamp
|
|
date-modified: timestamp
|
|
|
|
Objects: object[]
|
|
type: uint16
|
|
id: string
|
|
version: string
|
|
|
|
Scenario:
|
|
category: uint32
|
|
name: string-table
|
|
park-name: string-table
|
|
details: string-table
|
|
objective-type: uint32
|
|
objective-year: uint16
|
|
objective-guests: uint32
|
|
objective-rating: uint16
|
|
objective-ride-excitement: uint16
|
|
objective-ride-length: uint16
|
|
objective-park-value: money32
|
|
objective-ride-profit: money32
|
|
objective-shop-profit: money32
|
|
completed-company-value: money32
|
|
completed-name: string
|
|
|
|
General:
|
|
ticks: uint32
|
|
elapsed-months: uint32
|
|
current-day: uint16
|
|
rand: uint32[2]
|
|
initial-cash: money32
|
|
guest-initial-cash: money16
|
|
guest-initial-hunger: uint8
|
|
guest-initial-thirst: uint8
|
|
guest-spawns: xyzd32
|
|
land-price: money32
|
|
construction-rights-price: money32
|
|
|
|
Interface:
|
|
main-viewport:
|
|
x: uint16
|
|
y: uint16
|
|
zoom: uint8
|
|
rotation: uint8
|
|
last-entrance-style: uint32
|
|
|
|
Climate:
|
|
climate: uint8
|
|
climate-update-timer: uint16
|
|
current:
|
|
weather: uint8
|
|
temperature: uint8
|
|
effect: uint8
|
|
gloom: uint8
|
|
rain-level: uint8
|
|
next:
|
|
(same as above)
|
|
|
|
Park:
|
|
name: string-id
|
|
cash: money32
|
|
loan: money32
|
|
loan-max: money32
|
|
interest: uint16
|
|
flags: uint64
|
|
entrance-fee: money32
|
|
rating: uint16
|
|
rating-casualty-penalty: uint16
|
|
current-expenditure: money32
|
|
current-profit: money32
|
|
total-admissions: uint32
|
|
income-from-admissions: money32
|
|
handyman-colour: uint8
|
|
mechanic-colour: uint8
|
|
security-colour: uint8
|
|
campaigns:
|
|
weeks-left: uint16
|
|
ride-index: uint32
|
|
research-funding: uint8
|
|
research-enabled: uint32
|
|
research-progress-stage: uint8
|
|
research-progress: uint16
|
|
research-last-item: uint32
|
|
research-next-item: uint32
|
|
|
|
rating-warning-days: uint16
|
|
peep-warning-throttle: uint8[16]
|
|
awards:
|
|
|
|
|
|
History:
|
|
rating-history: uint16[]
|
|
guests-history: uint32[]
|
|
cash-history: money32[]
|
|
weekly-profit-history: money32[]
|
|
park-value-history: money32[]
|
|
expenditure-history: money32[][]
|
|
|
|
Inventions:
|
|
|
|
|
|
Tiles:
|
|
map-size: xy32
|
|
tile-elements: tile-element[]
|
|
|
|
Things:
|
|
|
|
Rides:
|
|
|
|
Banners:
|
|
|
|
Animations:
|
|
|
|
Staff:
|
|
|
|
Strings: string[]
|
|
|
|
Editor:
|
|
step: uint8
|
|
|
|
Derived:
|
|
park-size: uint32
|
|
guests-in-park: uint32
|
|
guests-heading-for-park: uint32
|
|
company-value: money32
|
|
park-value: money32
|
|
|
|
|
|
## Tile Element
|
|
|
|
tile-element-base:
|
|
type: uint8
|
|
flags: uint8
|
|
base-z: uint8
|
|
clear-z: uint8
|
|
|
|
surface-element:
|
|
slope: uint8
|
|
water-height: uint8
|
|
ownership: uint8
|
|
grass-length: uint8
|
|
surface-object-id: uint8
|
|
edge-object-id: uint8
|
|
(spare: 6)
|
|
|
|
footpath-element:
|
|
object-id: uint16
|
|
edges: uint8
|
|
flags2: uint8
|
|
addition: uint16
|
|
addition-status: uint8
|
|
station-index: uint8
|
|
ride-index: uint32
|
|
(spare: -2)
|
|
|
|
track-element:
|
|
type: uint16 (straight, 25 deg up, brakes etc.)
|
|
sequence: uint8
|
|
style: uint8 (wooden, intamin, b&m etc.)
|
|
station-index: uint8
|
|
colour: uint8
|
|
flags: uint8 (station / on-ride)
|
|
(spare: 5)
|
|
|
|
track-element (maze):
|
|
type: uint16
|
|
maze-entry: uint16
|
|
(spare: 8)
|
|
|
|
entrance-element:
|
|
object-id: uint16
|
|
footpath-object-id: uint16
|
|
ride-index: uint32
|
|
station-index: uint8
|
|
type: uint8
|
|
(spare: 2)
|
|
|
|
scenery-element:
|
|
object-id: uint32
|
|
age: uint8
|
|
colours: uint8[2]
|
|
(spare: 5)
|
|
|
|
scenery-large-element:
|
|
object-id: uint32
|
|
colour: uint8[3]
|
|
|
|
wall-element:
|
|
object-id: uint32
|
|
colours: uint8[3]
|
|
animation: uint8
|
|
banner-index: uint32
|
|
(spare: 0)
|
|
|
|
banner-element:
|
|
object-id: uint16
|
|
index: uint32
|
|
flags: uint8
|
|
position: uint8
|
|
(spare: 4)
|
|
|
|
|
|
## Limits
|
|
|
|
Ride index: uint32
|
|
Banner index: uint32
|
|
Station index: uint8
|
|
|
|
Ride object index: uint16
|
|
Terrain (surface) object index: uint8
|
|
Terrain (edge) object index: uint8
|
|
Entrance object index: uint16 (can be for each type if necessary)
|
|
Footpath object index: uint16
|
|
Footpath addition object index: uint16
|
|
Scenery object index: uint32
|
|
Scenery (large) object index: uint32
|
|
Wall object index: uint32
|
|
Banner object index: uint16
|