OpenRCT2 / OpenRCT2/OpenRCT2

cannot edit or demolish ride with tile-inspector-cloned track pieces - hangs game

Open
#21,819 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C++
Stars
16.2k
Forks
1.9k
Avg merge
1d 20h
Merged PRs (30d)
80

Description

Operating System

Ubuntu Linux 22.04.4

OpenRCT2 build

a6e1124 develop, Linux AppImage

Base game

RollerCoaster Tycoon 2

Area(s) with this issue?

No response

Describe the issue

If a ride's track contains superimposed track pieces where one of the pieces points against the ride direction, this ride becomes uneditable (trying to start construction hangs the game), and impossible to demolish (game hang too).

See attached park: The blinking station piece is a clone from the station exit piece, but turned 180 degrees. Editing or demolishing the ride is impossible: Trying to do so hangs the game.

https://github.com/OpenRCT2/OpenRCT2/assets/29800630/ee90cbd5-8f27-4163-9be3-5b46a41740a5

The use case for this is inspired by https://www.youtube.com/watch?v=oyeJOXkVSpI , to hide a chain of brake track pieces inside a station, while preventing track merging. But even without a use case, the game should not hang anyway ;-)

Steps to reproduce
  • build tracked ride
  • clone a piece of that ride's track over a track piece of the same ride, but rotate it 180°
  • ride becomes uneditable, trying to do so hangs the game
Attachments

hang_on_ride_demolish.park.zip

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the hang with hang_on_ride_demolish.park.zip by following the steps for a cloned track piece rotated 180 degrees. Trace the ride construction and demolition paths for superimposed pieces that point against the ride direction; done means the ride can be edited or demolished without the game hanging.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.