OpenRCT2 / OpenRCT2

An open source re-implementation of RollerCoaster Tycoon 2 🎢
https://openrct2.io
GNU General Public License v3.0
13.31k stars 1.52k forks source link

Saved Mini Golf Track Designs in RCT1 do not import into OpenRCT2 #21477

Open HtotheTML opened 6 months ago

HtotheTML commented 6 months ago

Operating System

Windows 10, 64 bit

OpenRCT2 build

OpenRCT2, v0.4.8-158-g626e922 (626e922 on develop) provided by GitHub

Base game

RollerCoaster Tycoon 2

Area(s) with this issue?

This is a development issue

Describe the issue

While combing through the u(####) file renames, I noticed there was a mini golf track design that wouldn't pop-up in game, u(4725). I opened RCT1 and found it was accessible there, so I tried saving a new mini golf track design in RCT1 to see if it's just the one file that won't import, or mini-golf track designs in general. It was the latter.

Steps to reproduce

  1. Save a mini golf track design in RCT1 (this can be done quickly via iceberg islands in LL)
  2. Open ORCT2's track designs manager, or any scenario with mini golf in it (such as Crazy Castle)
  3. Observe the available mini golf ride designs

Attachments

minigolf minigolf2

Gymnasiast commented 6 months ago

Also affects mazes.

The issue is that TD4 files are imported with a JSON identifier as their vehicle (e.g. rct2.ride.hmaze) while TD6 files are imported with a DAT identifier (e.g. 123|HMAZE|456) and the game does not see these as the same.

This also only affects situations where every vehicle is presented as if it’s its own ride type, which is set for the mini golf and the maze (which behave a little bit strange and have a lot of hardcoded behaviour).

Right now, the bug is easy to hide by removing this property (which they probably shouldn’t have in the first place), but the issue is still going to manifest itself once NTDF is a thing.

Gymnasiast commented 6 months ago

This bug has now been hidden (though not really solved!) by merging the object-1.4.0 branch. Keeping this open to properly fix it, though.