-
Notifications
You must be signed in to change notification settings - Fork 1.7k
NTDF design
Michael Steenbeek edited this page Jun 28, 2024
·
2 revisions
This page is a work in progress by Gymnasiast. Do not make any changes to this page. Doing so may result in a ban.
All strings are UTF-8 and preceded by their length.
Data | TD6 | NTDF | Comments |
---|---|---|---|
Ride/RTD type | uint8 | object identifier string | |
Vehicle type index | uint8_t | N/A | Not actually saved in TD6, but left open for RCT2 to write the index after load. |
Vehicle type | - | uint8 + DAT entry or object identifier string | 0 = DAT, 1 = string |
Flags | uint32_t | TBD | RCT2 reuses this field for the cost |
Ride mode | uint8 | uint8 | |
Version and colour settings | uint8 | TBD | Lower two bits contain colour settings, the rest is used for the version |
Body and trim colour settings | 32 × 2 × uint8 | (moved to a block that also contains the 3rd colour | |
Padding at 0x48 | uint8 | - | |
Entrance style | uint8 | object identifier string | |
Track colour settings | - | 4 × 3 × uint8 | |
Vehicle colour settings | - | ||
Total air time | uint8 | moved to the rest of the statistics block | |
Departure flags | uint8 | uint8 | |
Number of trains | uint8 | uint16? | |
Number of cars per train | uint8 | ||
Minimum waiting time | uint8 | uint8 | |
Maximum waiting time | uint8 | uint8 | |
Additional operating setting | uint8 | uint8 | |
Maximum speed | uint8 | uint8 | |
Average speed | uint8 | uint8 | |
Ride length | uint16 | TBD | |
Max pos. vertical G | uint8 | uint8 | |
Max neg. vertical G | sint8 | sint8 | |
Max lat. G | uint8 | uint8 | |
Num inversions/holes | uint8 | TBD | |
Num drops | uint8 | TBD | |
Highest drop height | uint8 | TBD | |
Excitement | uint8 | uint8 | |
Intensity | uint8 | uint8 | |
Nausea | uint8 | uint8 | |
Upkeep cost | money16 | money64 | |
Track spine colour | 4 × uint8 | moved upwards and merged | |
Track rail colour | 4 × uint8 | moved upwards and merged | |
Track support colour | 4 × uint8 | moved upwards and merged | |
Secondary flags | uint32 | - | |
Vehicle object | DAT entry | moved upwards | |
Space required, x | uint8 | - | |
Space required, y | uint8 | - | |
Space required | - | TileCoordsXY | |
Vehicle colour 3 | 32 × uint8 | Merged with other two | |
Lift hill speed + num circuits | 1 × uint8 | 2 × uint8 | Stored separately in NTDF |
An NTDF file will contain a few blocks/chunks:
- Ride/vehicle settings block
- Operating settings block
- Colour/appearance settings block
- Statistics block
- Station statistics blocks (preceded by number)
Name | Representation |
---|---|
NTDF version | uint64_t |
Minimum backwards compatible NTDF version | uint64_t |
RTD | object identifier string (may be empty in order to represent a general/scenery blueprint |
Vehicle | uint8 + DAT object or object identifier strings |
Num trains | |
Num cars per train |
Name | Representation |
---|---|
Ride mode | uint8 |
Lift hill speed | uint8 |
Num circuits | uint8 |
Additional operating setting | |
Departure flags | uint8 |
Minimum waiting time | uint8 |
Maximum waiting time | uint8 |
Name | Representation |
---|---|
Track colour schemes | 4 × 3 × uint8 |
Entrance style | object identifier string |
Vehicle colour settings | uint8 |
Vehicle colours | n × 3 × uint8 (preceded by length (uint64)) |
Keeps the same order as the Ride window
Name | Representation |
---|---|
Excitement | uint16 |
Intensity | uint16 |
Nausea | uint16 |
Max. speed | |
Average speed | |
Max pos. vertical G | uint8 |
Max neg. vertical G | sint8 |
Max lat. G | uint8 |
Total air time | |
Num drops | |
Highest drop height | |
Num inversions | |
Space required | |
Upkeep cost |
Name | Representation |
---|---|
Ride time | |
Ride length |
- Home
- FAQ & Common Issues
- Roadmap
- Installation
- Building
- Features
- Development
- Benchmarking & stress testing OpenRCT2
- Coding Style
- Commit Messages
- Overall program structure
- Data Structures
- CSS1.DAT
- Custom Music and Ride Music Objects
- Game Actions
- G1 Elements Layout
- game.cfg structure
- Maps
- Music Cleanup
- Objects
- Official extended scenery set
- Peep AI
- Peep Sprite Type
- RCT1 ride and vehicle types and their RCT2 equivalents
- RCT12_MAX_SOMETHING versus MAX_SOMETHING
- Ride rating calculation
- SV6 Ride Structure
- Settings in config.ini
- Sizes and angles in the game world
- Sprite List csg1.dat
- Sprite List g1.dat
- Strings used in RCT1
- Strings used in the game
- TD6 format
- Terminology
- Track Data
- Track Designs
- Track drawers, RTDs and vehicle types
- Track types
- Vehicle Sprite Layout
- Widget colours
- Debugging OpenRCT2 on macOS
- OpenGL renderer
- Rebase and Sync fork with OpenRCT2
- Release Checklist
- Replay System
- Using minidumps from crash reports
- Using Track Block Get Previous
- History
- Testing