-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Increasing of game limits
After being worked on for several years, OpenRCT2 introduced the new save format (NSF) to a develop version in November 2021. By April of the next year, the NSF found its way to a release with version v0.4.0.
Up until that point, OpenRCT2 was still using vanilla RCT2's formats for saving games and scenarios: SV6 and SC6 respectively. The old formats had many limits and technical restrictions, as seen below:
Max | What |
---|---|
128 | Ride types |
252 | Small scenery types |
128 | Large scenery types |
128 | Wall types |
32 | Banner types |
16 | Path types |
15 | Path accessory types |
19 | Scenery groups |
1 | Park entrance type |
255 | Rides |
200 | Staff members |
10000 | Sprites |
196096 | Map elements |
1024 | User strings |
250 | Banners |
254×254 | Map size (not counting the invisible ring of tiles around it) |
4 | Stations per ride |
31 | Cars / trains per ride |
2 | Peep spawns |
4 | Park entrances |
Some of the technical restrictions of the vanilla formats are:
- Some of the game structures only allow one or two bytes for indexing.
- The space allocated for these structures cannot be raised as it is fixed in the original game memory.
- Changing structures makes SV6 saved games and SC6 scenarios incompatible with vanilla RCT2.
As such, to greatly expand the capabilities of OpenRCT2, it was essential to create a wholly new save format.
We created one PARK format to replace both the SV6 and SC6 formats. Due to the aforementioned technical restrictions of the vanilla formats, the NSF is not compatible with vanilla RCT2.
Also note that:
- It is still possible to import SV6 saves and SC6 scenarios, and that will never change. The same applies to SV4 saves from RCT1.
- The latest release using vanilla formats for saves is v0.3.5.1.
- 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