Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

something is double into the track list if you build #20342

Closed
Realsteel89 opened this issue Jun 4, 2023 · 6 comments · Fixed by #20408
Closed

something is double into the track list if you build #20342

Realsteel89 opened this issue Jun 4, 2023 · 6 comments · Fixed by #20408
Labels
bug Something went wrong.

Comments

@Realsteel89
Copy link

Operating System

Windows 10 64 bit

OpenRCT2 build

latest develop build

Base game

RollerCoaster Tycoon 2

Area(s) with this issue?

This is a development issue

Describe the issue

delete one into the code list

Steps to reproduce

the large half loop left is double into the track list

Attachments

image

@Realsteel89 Realsteel89 added the bug Something went wrong. label Jun 4, 2023
@zzril
Copy link
Contributor

zzril commented Jun 16, 2023

Not sure on which commit and coaster the OP got this, but I managed to recreate this on currently latest develop (ed875a1) for the Twister Roller Coaster (standard trains) and Inverted Coaster. No plugins or cheats enabled.

It seems that for the left large half loop, the game distinguishes between those that make up the first half of a left-going loop and those that make up the second half of a right-going loop.
For the right large half loop piece, the game does not make this distinction, as for all the other inversions.


unselected

can-select-as-second-half

@zzril
Copy link
Contributor

zzril commented Jun 16, 2023

Enum definitions:

In src/openrct2/ride/Track.h:

namespace TrackElemType
{
// [...]
    constexpr track_type_t LeftCorkscrewUp = 58;
    constexpr track_type_t RightCorkscrewUp = 59;
    constexpr track_type_t LeftCorkscrewDown = 60;
    constexpr track_type_t RightCorkscrewDown = 61;
// [...]
    constexpr track_type_t LeftLargeHalfLoopUp = 183;
    constexpr track_type_t RightLargeHalfLoopUp = 184;
    constexpr track_type_t RightLargeHalfLoopDown = 185;
    constexpr track_type_t LeftLargeHalfLoopDown = 186;
// [...]
    constexpr track_type_t LeftMediumHalfLoopUp = 271;
    constexpr track_type_t RightMediumHalfLoopUp = 272;
    constexpr track_type_t LeftMediumHalfLoopDown = 273;
    constexpr track_type_t RightMediumHalfLoopDown = 274;

The large half loops are off.


Definition of coordinates:

In src/openrct2/ride/TrackData.cpp:

static constexpr TrackCoordinates _trackCoordinates[] = {
// [...]
        { 0, 3, 0, 80, -32, -32 },  // ELEM_LEFT_CORKSCREW_UP
        { 0, 1, 0, 80, -32, 32 },   // ELEM_RIGHT_CORKSCREW_UP
        { 0, 3, 0, -80, -32, -32 }, // ELEM_LEFT_CORKSCREW_DOWN
        { 0, 1, 0, -80, -32, 32 },  // ELEM_RIGHT_CORKSCREW_DOWN
// [...]
        { 0, 2, 0, 280, -64, -32 }, // ELEM_LEFT_LARGE_HALF_LOOP_UP
        { 0, 2, 0, 280, -64, 32 },  // ELEM_RIGHT_LARGE_HALF_LOOP_UP
        { 0, 2, 0, -280, 64, -32 }, // ELEM_RIGHT_LARGE_HALF_LOOP_DOWN
        { 0, 2, 0, -280, 64, 32 },  // ELEM_LEFT_LARGE_HALF_LOOP_DOWN
// [...]
        { 0, 2, 0, 216, -32, -32 },  // TrackElemType::LeftMediumHalfLoopUp
        { 0, 2, 0, 216, -32, 32 },   // TrackElemType::RightMediumHalfLoopUp
        { 0, 2, 0, -216, 32, -32 },  // TrackElemType::RightMediumHalfLoopDown
        { 0, 2, 0, -216, 32, 32 },   // TrackElemType::LeftMediumHalfLoopDown

Corkscrews and large half loops match their order from the enum definition. Medium loops don't.


Strings:

In src/openrct2/ride/TrackData.cpp:

static constexpr const StringId RideConfigurationStringIds[] = {
// [...]
    STR_HALF_CORKSCREW_LEFT,           // 58
    STR_HALF_CORKSCREW_RIGHT,          // 59
    STR_HALF_CORKSCREW_LEFT,           // 60
    STR_HALF_CORKSCREW_RIGHT,          // 61
// [...]
    STR_LARGE_HALF_LOOP_LEFT,          // 183
    STR_LARGE_HALF_LOOP_RIGHT,         // 184
    STR_LARGE_HALF_LOOP_LEFT,          // 185
    STR_LARGE_HALF_LOOP_RIGHT,         // 186
// [...]
    STR_MEDIUM_HALF_LOOP_LEFT,         // TrackElemType::LeftMediumHalfLoopUp
    STR_MEDIUM_HALF_LOOP_RIGHT,        // TrackElemType::RightMediumHalfLoopUp
    STR_MEDIUM_HALF_LOOP_LEFT,         // TrackElemType::RightMediumHalfLoopDown
    STR_MEDIUM_HALF_LOOP_RIGHT,        // TrackElemType::LeftMediumHalfLoopDown

For both loops, the comments don't match the string names...


Order in the UI / dropdown menu:

In src/openrct2-ui/ride/Construction.h:

/**
 * Order of special track elements dropdown. Elements with the same name string must be sequential or they show up twice.
 */
constexpr std::array DropdownOrder = {
// [...]
    TrackElemType::LeftCorkscrewUp,
    TrackElemType::LeftCorkscrewDown,
    TrackElemType::RightCorkscrewUp,
    TrackElemType::RightCorkscrewDown,
// [...]
    TrackElemType::LeftLargeHalfLoopUp,
    TrackElemType::LeftLargeHalfLoopDown,
    TrackElemType::RightLargeHalfLoopUp,
    TrackElemType::RightLargeHalfLoopDown,
// [...]
// Medium-size loops, for reference:
    TrackElemType::LeftMediumHalfLoopUp,
    TrackElemType::LeftMediumHalfLoopDown,
    TrackElemType::RightMediumHalfLoopUp,
    TrackElemType::RightMediumHalfLoopDown,

The comment refers to this code in src/openrct2-ui/ride/Construction.cpp:

SpecialElementsDropdownState BuildSpecialElementsList(
    const Ride& currentRide, uint8_t buildDirection, uint8_t buildSlope, uint8_t buildBank, RideConstructionState state)
{
// [...]
    for (track_type_t trackType : DropdownOrder)
    {
// [...]
        // Check if a previous element exists, to collate entries if possible
        if (!list.Elements.empty() && GetTrackElementDescriptor(list.Elements.back().TrackType).Description == ted.Description)
        {
// [...]
            // If the previous element is disabled and current element is enabled, replace the previous element
            if (lastElement.Disabled && !entryIsDisabled)
            {
                lastElement.TrackType = trackType;
                lastElement.Disabled = false;
                list.HasActiveElements = true;
                continue;
            }

@zzril
Copy link
Contributor

zzril commented Jun 17, 2023

Changing the order in src/openrct2-ui/ride/Construction.h to this seems to work, although I don't understand why:

TrackElemType::LeftLargeHalfLoopUp,
TrackElemType::RightLargeHalfLoopDown,
TrackElemType::RightLargeHalfLoopUp,
TrackElemType::LeftLargeHalfLoopDown,

@zzril
Copy link
Contributor

zzril commented Jun 17, 2023

The DropdownOrder array was introduced with 61d820e on develop (between release v0.4.4 and v0.4.5) and with it the bug.

@spacek531 If you're still around, can you explain what went wrong here?

@zzril
Copy link
Contributor

zzril commented Jun 21, 2023

Alright, I think I got it.

The naming of the TrackElemType constants in src/openrct2/ride/Track.h is wrong:

namespace TrackElemType
{
// [...]
    constexpr track_type_t LeftCorkscrewUp = 58;
    constexpr track_type_t RightCorkscrewUp = 59;
    constexpr track_type_t LeftCorkscrewDown = 60;
    constexpr track_type_t RightCorkscrewDown = 61;
// [...]
    constexpr track_type_t LeftLargeHalfLoopUp = 183;
    constexpr track_type_t RightLargeHalfLoopUp = 184;
    constexpr track_type_t RightLargeHalfLoopDown = 185;
    constexpr track_type_t LeftLargeHalfLoopDown = 186;
// [...]
    constexpr track_type_t LeftMediumHalfLoopUp = 271;
    constexpr track_type_t RightMediumHalfLoopUp = 272;
    constexpr track_type_t LeftMediumHalfLoopDown = 273;
    constexpr track_type_t RightMediumHalfLoopDown = 274;

What is defined above as the RightLargeHalfLoopDown is in fact a left large half loop down. (Which is, confusingly, the piece that completes a loop that was started with a RightLargeHalfLoopUp. But that's a naming convention that has been consistent throughout the game for inverting pieces that also come with a direction change (i.e. loops and corkscrews, but not inline twists).)

Code that does not refer to these elements by name, but just to the constant directly (either explicitely or implicitely, by using the enum values as array indices) - such as the _trackCoordinates array cited above - works as expected. The end user doesn't see the incorrect variable name that was used in the source code (unless checking in a debugger).

Code that refers to the elements by name must stick to the incorrect naming.

The above cited solution

TrackElemType::LeftLargeHalfLoopUp,
TrackElemType::RightLargeHalfLoopDown,
TrackElemType::RightLargeHalfLoopUp,
TrackElemType::LeftLargeHalfLoopDown,

in fact boils down to:

183,
185,
184,
186

which is the same numeric order as for the Medium loops:

    TrackElemType::LeftMediumHalfLoopUp,
    TrackElemType::LeftMediumHalfLoopDown,
    TrackElemType::RightMediumHalfLoopUp,
    TrackElemType::RightMediumHalfLoopDown,

or - in numbers:

271,
273,
272,
274

So, it makes sense that that solution produces the correct behaviour.

(And the reason why the incorrect order in the dropdown array makes the left large half loop show up twice is exactly what is explained in the comment there - two elements sharing the same name string must occur right after another in this array in order for the logic to detect and collapse them to one.)

@spacek531
Copy link
Contributor

Nice sleuthing. I had forgotten about that quirk of naming.

janisozaur added a commit that referenced this issue Sep 3, 2023
- Feature: [#15660] Ability to show window buttons on the left.
- Feature: [#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6).
- Feature: [OpenMusic#41] Official Title Theme by Allister Brimble.
- Improved: [#20119, #20243] Add new colour presets to several roller coasters (using the new colours).
- Improved: [#20393, #20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font.
- Change: [#19785] OpenMusic is now selected by default when opening SC4/SC6 - or creating new - scenarios.
- Change: [#20110] Fix a few RCT1 build height parity discrepancies.
- Change: [#20550] Change SEK conversion rate from 1 GBP to 0.1 GBP.
- Fix: [#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience.
- Fix: [#9534] Screams no longer cut-off on steep diagonal drops.
- Fix: [#17666] Using the mountain tool near the edge of the map with clearance checks disabled causes visual glitches.
- Fix: [#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards.
- Fix: [#19735] Server unable to advertise to master server after a connection loss.
- Fix: [#19822] Tile inspector does not deep copy banners.
- Fix: [#19823] Parkobj: disallow overriding objects of different object types.
- Fix: [#19878] Unresearched scenery can be placed via prebuilt rides.
- Fix: [#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16.
- Fix: [#20089] Potential crash when a window is closed from another window.
- Fix: [#20103] [Plugin] Crash when custom plugin actions fail due to immutable state.
- Fix: [#20111] All coaster types can access the new diagonal slope pieces.
- Fix: [#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round.
- Fix: [#20260] Ride locks up when inspecting/fixing staff member is fired.
- Fix: [#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked.
- Fix: [#20310] Map animations are not created on the title screen.
- Fix: [#20342] Large Half Loop (left) now only appears once in the special elements dropdown.
- Fix: [#20361] Crash when using random map generation.
- Fix: [#20364] Adding too much money with cheats causes an overflow.
- Fix: [#20365] Money cheat input does not support negative values.
- Fix: [#20389] Reversed vehicles are now correctly banked on diagonal slopes.
- Fix: [#20413] Crash when attempting to navigate an empty console history.
- Fix: [#20417] Plugin/custom windows are missing the left border in the title bar.
- Fix: [#20429] Error window tooltip not closing after 8 seconds.
- Fix: [#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named.
- Fix: [#20484] Console caret not properly updated when using command history.
- Fix: [#20496] Ride rating requirements for compact inverted coasters is no longer relaxed.
- Fix: [#20543] Crash using show segments height from debug paint options.
- Fix: [#20607] Infinite loop when renaming rides with default names longer than 32 bytes.
- Fix: [#20642] Track list is sometimes empty due to uninitialized data for the filter string.
- Fix: [#20659] Phantom rides remain when closing construction window while paused.
- Fix: [#20672] Maze ghost elements incorrectly displayed.
- Fix: [#20684] Footpath additions getting removed by Miniature railway ghost elements.
- Fix: [#20693] Incorrect information shown when hovering over station when another station before it was removed.
- Fix: [#20739] Build version info on title screen leaving stray pixels when the camera is moved.
krrg pushed a commit to krrg/OpenRCT2 that referenced this issue Sep 14, 2023
- Feature: [OpenRCT2#15660] Ability to show window buttons on the left.
- Feature: [OpenRCT2#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6).
- Feature: [OpenMusic#41] Official Title Theme by Allister Brimble.
- Improved: [OpenRCT2#20119, OpenRCT2#20243] Add new colour presets to several roller coasters (using the new colours).
- Improved: [OpenRCT2#20393, OpenRCT2#20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font.
- Change: [OpenRCT2#19785] OpenMusic is now selected by default when opening SC4/SC6 - or creating new - scenarios.
- Change: [OpenRCT2#20110] Fix a few RCT1 build height parity discrepancies.
- Change: [OpenRCT2#20550] Change SEK conversion rate from 1 GBP to 0.1 GBP.
- Fix: [OpenRCT2#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience.
- Fix: [OpenRCT2#9534] Screams no longer cut-off on steep diagonal drops.
- Fix: [OpenRCT2#17666] Using the mountain tool near the edge of the map with clearance checks disabled causes visual glitches.
- Fix: [OpenRCT2#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards.
- Fix: [OpenRCT2#19735] Server unable to advertise to master server after a connection loss.
- Fix: [OpenRCT2#19822] Tile inspector does not deep copy banners.
- Fix: [OpenRCT2#19823] Parkobj: disallow overriding objects of different object types.
- Fix: [OpenRCT2#19878] Unresearched scenery can be placed via prebuilt rides.
- Fix: [OpenRCT2#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16.
- Fix: [OpenRCT2#20089] Potential crash when a window is closed from another window.
- Fix: [OpenRCT2#20103] [Plugin] Crash when custom plugin actions fail due to immutable state.
- Fix: [OpenRCT2#20111] All coaster types can access the new diagonal slope pieces.
- Fix: [OpenRCT2#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round.
- Fix: [OpenRCT2#20260] Ride locks up when inspecting/fixing staff member is fired.
- Fix: [OpenRCT2#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked.
- Fix: [OpenRCT2#20310] Map animations are not created on the title screen.
- Fix: [OpenRCT2#20342] Large Half Loop (left) now only appears once in the special elements dropdown.
- Fix: [OpenRCT2#20361] Crash when using random map generation.
- Fix: [OpenRCT2#20364] Adding too much money with cheats causes an overflow.
- Fix: [OpenRCT2#20365] Money cheat input does not support negative values.
- Fix: [OpenRCT2#20389] Reversed vehicles are now correctly banked on diagonal slopes.
- Fix: [OpenRCT2#20413] Crash when attempting to navigate an empty console history.
- Fix: [OpenRCT2#20417] Plugin/custom windows are missing the left border in the title bar.
- Fix: [OpenRCT2#20429] Error window tooltip not closing after 8 seconds.
- Fix: [OpenRCT2#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named.
- Fix: [OpenRCT2#20484] Console caret not properly updated when using command history.
- Fix: [OpenRCT2#20496] Ride rating requirements for compact inverted coasters is no longer relaxed.
- Fix: [OpenRCT2#20543] Crash using show segments height from debug paint options.
- Fix: [OpenRCT2#20607] Infinite loop when renaming rides with default names longer than 32 bytes.
- Fix: [OpenRCT2#20642] Track list is sometimes empty due to uninitialized data for the filter string.
- Fix: [OpenRCT2#20659] Phantom rides remain when closing construction window while paused.
- Fix: [OpenRCT2#20672] Maze ghost elements incorrectly displayed.
- Fix: [OpenRCT2#20684] Footpath additions getting removed by Miniature railway ghost elements.
- Fix: [OpenRCT2#20693] Incorrect information shown when hovering over station when another station before it was removed.
- Fix: [OpenRCT2#20739] Build version info on title screen leaving stray pixels when the camera is moved.
Realsteel89 pushed a commit to Realsteel89/OpenRCT2 that referenced this issue Oct 10, 2023
- Feature: [OpenRCT2#15660] Ability to show window buttons on the left.
- Feature: [OpenRCT2#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6).
- Feature: [OpenMusic#41] Official Title Theme by Allister Brimble.
- Improved: [OpenRCT2#20119, OpenRCT2#20243] Add new colour presets to several roller coasters (using the new colours).
- Improved: [OpenRCT2#20393, OpenRCT2#20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font.
- Change: [OpenRCT2#19785] OpenMusic is now selected by default when opening SC4/SC6 - or creating new - scenarios.
- Change: [OpenRCT2#20110] Fix a few RCT1 build height parity discrepancies.
- Change: [OpenRCT2#20550] Change SEK conversion rate from 1 GBP to 0.1 GBP.
- Fix: [OpenRCT2#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience.
- Fix: [OpenRCT2#9534] Screams no longer cut-off on steep diagonal drops.
- Fix: [OpenRCT2#17666] Using the mountain tool near the edge of the map with clearance checks disabled causes visual glitches.
- Fix: [OpenRCT2#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards.
- Fix: [OpenRCT2#19735] Server unable to advertise to master server after a connection loss.
- Fix: [OpenRCT2#19822] Tile inspector does not deep copy banners.
- Fix: [OpenRCT2#19823] Parkobj: disallow overriding objects of different object types.
- Fix: [OpenRCT2#19878] Unresearched scenery can be placed via prebuilt rides.
- Fix: [OpenRCT2#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16.
- Fix: [OpenRCT2#20089] Potential crash when a window is closed from another window.
- Fix: [OpenRCT2#20103] [Plugin] Crash when custom plugin actions fail due to immutable state.
- Fix: [OpenRCT2#20111] All coaster types can access the new diagonal slope pieces.
- Fix: [OpenRCT2#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round.
- Fix: [OpenRCT2#20260] Ride locks up when inspecting/fixing staff member is fired.
- Fix: [OpenRCT2#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked.
- Fix: [OpenRCT2#20310] Map animations are not created on the title screen.
- Fix: [OpenRCT2#20342] Large Half Loop (left) now only appears once in the special elements dropdown.
- Fix: [OpenRCT2#20361] Crash when using random map generation.
- Fix: [OpenRCT2#20364] Adding too much money with cheats causes an overflow.
- Fix: [OpenRCT2#20365] Money cheat input does not support negative values.
- Fix: [OpenRCT2#20389] Reversed vehicles are now correctly banked on diagonal slopes.
- Fix: [OpenRCT2#20413] Crash when attempting to navigate an empty console history.
- Fix: [OpenRCT2#20417] Plugin/custom windows are missing the left border in the title bar.
- Fix: [OpenRCT2#20429] Error window tooltip not closing after 8 seconds.
- Fix: [OpenRCT2#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named.
- Fix: [OpenRCT2#20484] Console caret not properly updated when using command history.
- Fix: [OpenRCT2#20496] Ride rating requirements for compact inverted coasters is no longer relaxed.
- Fix: [OpenRCT2#20543] Crash using show segments height from debug paint options.
- Fix: [OpenRCT2#20607] Infinite loop when renaming rides with default names longer than 32 bytes.
- Fix: [OpenRCT2#20642] Track list is sometimes empty due to uninitialized data for the filter string.
- Fix: [OpenRCT2#20659] Phantom rides remain when closing construction window while paused.
- Fix: [OpenRCT2#20672] Maze ghost elements incorrectly displayed.
- Fix: [OpenRCT2#20684] Footpath additions getting removed by Miniature railway ghost elements.
- Fix: [OpenRCT2#20693] Incorrect information shown when hovering over station when another station before it was removed.
- Fix: [OpenRCT2#20739] Build version info on title screen leaving stray pixels when the camera is moved.
Realsteel89 pushed a commit to Realsteel89/OpenRCT2 that referenced this issue Oct 15, 2023
- Feature: [OpenRCT2#15660] Ability to show window buttons on the left.
- Feature: [OpenRCT2#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6).
- Feature: [OpenMusic#41] Official Title Theme by Allister Brimble.
- Improved: [OpenRCT2#20119, OpenRCT2#20243] Add new colour presets to several roller coasters (using the new colours).
- Improved: [OpenRCT2#20393, OpenRCT2#20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font.
- Change: [OpenRCT2#19785] OpenMusic is now selected by default when opening SC4/SC6 - or creating new - scenarios.
- Change: [OpenRCT2#20110] Fix a few RCT1 build height parity discrepancies.
- Change: [OpenRCT2#20550] Change SEK conversion rate from 1 GBP to 0.1 GBP.
- Fix: [OpenRCT2#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience.
- Fix: [OpenRCT2#9534] Screams no longer cut-off on steep diagonal drops.
- Fix: [OpenRCT2#17666] Using the mountain tool near the edge of the map with clearance checks disabled causes visual glitches.
- Fix: [OpenRCT2#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards.
- Fix: [OpenRCT2#19735] Server unable to advertise to master server after a connection loss.
- Fix: [OpenRCT2#19822] Tile inspector does not deep copy banners.
- Fix: [OpenRCT2#19823] Parkobj: disallow overriding objects of different object types.
- Fix: [OpenRCT2#19878] Unresearched scenery can be placed via prebuilt rides.
- Fix: [OpenRCT2#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16.
- Fix: [OpenRCT2#20089] Potential crash when a window is closed from another window.
- Fix: [OpenRCT2#20103] [Plugin] Crash when custom plugin actions fail due to immutable state.
- Fix: [OpenRCT2#20111] All coaster types can access the new diagonal slope pieces.
- Fix: [OpenRCT2#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round.
- Fix: [OpenRCT2#20260] Ride locks up when inspecting/fixing staff member is fired.
- Fix: [OpenRCT2#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked.
- Fix: [OpenRCT2#20310] Map animations are not created on the title screen.
- Fix: [OpenRCT2#20342] Large Half Loop (left) now only appears once in the special elements dropdown.
- Fix: [OpenRCT2#20361] Crash when using random map generation.
- Fix: [OpenRCT2#20364] Adding too much money with cheats causes an overflow.
- Fix: [OpenRCT2#20365] Money cheat input does not support negative values.
- Fix: [OpenRCT2#20389] Reversed vehicles are now correctly banked on diagonal slopes.
- Fix: [OpenRCT2#20413] Crash when attempting to navigate an empty console history.
- Fix: [OpenRCT2#20417] Plugin/custom windows are missing the left border in the title bar.
- Fix: [OpenRCT2#20429] Error window tooltip not closing after 8 seconds.
- Fix: [OpenRCT2#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named.
- Fix: [OpenRCT2#20484] Console caret not properly updated when using command history.
- Fix: [OpenRCT2#20496] Ride rating requirements for compact inverted coasters is no longer relaxed.
- Fix: [OpenRCT2#20543] Crash using show segments height from debug paint options.
- Fix: [OpenRCT2#20607] Infinite loop when renaming rides with default names longer than 32 bytes.
- Fix: [OpenRCT2#20642] Track list is sometimes empty due to uninitialized data for the filter string.
- Fix: [OpenRCT2#20659] Phantom rides remain when closing construction window while paused.
- Fix: [OpenRCT2#20672] Maze ghost elements incorrectly displayed.
- Fix: [OpenRCT2#20684] Footpath additions getting removed by Miniature railway ghost elements.
- Fix: [OpenRCT2#20693] Incorrect information shown when hovering over station when another station before it was removed.
- Fix: [OpenRCT2#20739] Build version info on title screen leaving stray pixels when the camera is moved.
AT41 pushed a commit to AT41/OpenRCT2 that referenced this issue Dec 24, 2023
- Feature: [OpenRCT2#15660] Ability to show window buttons on the left.
- Feature: [OpenRCT2#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6).
- Feature: [OpenMusic#41] Official Title Theme by Allister Brimble.
- Improved: [OpenRCT2#20119, OpenRCT2#20243] Add new colour presets to several roller coasters (using the new colours).
- Improved: [OpenRCT2#20393, OpenRCT2#20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font.
- Change: [OpenRCT2#19785] OpenMusic is now selected by default when opening SC4/SC6 - or creating new - scenarios.
- Change: [OpenRCT2#20110] Fix a few RCT1 build height parity discrepancies.
- Change: [OpenRCT2#20550] Change SEK conversion rate from 1 GBP to 0.1 GBP.
- Fix: [OpenRCT2#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience.
- Fix: [OpenRCT2#9534] Screams no longer cut-off on steep diagonal drops.
- Fix: [OpenRCT2#17666] Using the mountain tool near the edge of the map with clearance checks disabled causes visual glitches.
- Fix: [OpenRCT2#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards.
- Fix: [OpenRCT2#19735] Server unable to advertise to master server after a connection loss.
- Fix: [OpenRCT2#19822] Tile inspector does not deep copy banners.
- Fix: [OpenRCT2#19823] Parkobj: disallow overriding objects of different object types.
- Fix: [OpenRCT2#19878] Unresearched scenery can be placed via prebuilt rides.
- Fix: [OpenRCT2#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16.
- Fix: [OpenRCT2#20089] Potential crash when a window is closed from another window.
- Fix: [OpenRCT2#20103] [Plugin] Crash when custom plugin actions fail due to immutable state.
- Fix: [OpenRCT2#20111] All coaster types can access the new diagonal slope pieces.
- Fix: [OpenRCT2#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round.
- Fix: [OpenRCT2#20260] Ride locks up when inspecting/fixing staff member is fired.
- Fix: [OpenRCT2#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked.
- Fix: [OpenRCT2#20310] Map animations are not created on the title screen.
- Fix: [OpenRCT2#20342] Large Half Loop (left) now only appears once in the special elements dropdown.
- Fix: [OpenRCT2#20361] Crash when using random map generation.
- Fix: [OpenRCT2#20364] Adding too much money with cheats causes an overflow.
- Fix: [OpenRCT2#20365] Money cheat input does not support negative values.
- Fix: [OpenRCT2#20389] Reversed vehicles are now correctly banked on diagonal slopes.
- Fix: [OpenRCT2#20413] Crash when attempting to navigate an empty console history.
- Fix: [OpenRCT2#20417] Plugin/custom windows are missing the left border in the title bar.
- Fix: [OpenRCT2#20429] Error window tooltip not closing after 8 seconds.
- Fix: [OpenRCT2#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named.
- Fix: [OpenRCT2#20484] Console caret not properly updated when using command history.
- Fix: [OpenRCT2#20496] Ride rating requirements for compact inverted coasters is no longer relaxed.
- Fix: [OpenRCT2#20543] Crash using show segments height from debug paint options.
- Fix: [OpenRCT2#20607] Infinite loop when renaming rides with default names longer than 32 bytes.
- Fix: [OpenRCT2#20642] Track list is sometimes empty due to uninitialized data for the filter string.
- Fix: [OpenRCT2#20659] Phantom rides remain when closing construction window while paused.
- Fix: [OpenRCT2#20672] Maze ghost elements incorrectly displayed.
- Fix: [OpenRCT2#20684] Footpath additions getting removed by Miniature railway ghost elements.
- Fix: [OpenRCT2#20693] Incorrect information shown when hovering over station when another station before it was removed.
- Fix: [OpenRCT2#20739] Build version info on title screen leaving stray pixels when the camera is moved.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something went wrong.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants