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

Guests have rendering issues in queue lines #21042

Closed
TheClaudeQC opened this issue Dec 3, 2023 · 9 comments · Fixed by #21125
Closed

Guests have rendering issues in queue lines #21042

TheClaudeQC opened this issue Dec 3, 2023 · 9 comments · Fixed by #21125
Assignees
Labels
bug Something went wrong.

Comments

@TheClaudeQC
Copy link

Operating System

Windows 11, 64-bits

OpenRCT2 build

OpenRCT2, v0.4.6-174-g004592b (004592b on develop) provided by GitHub

Base game

RollerCoaster Tycoon 2

Area(s) with this issue?

This bug is a graphical glitch or error

Describe the issue

It will show any queue lines whit guests glitching

Steps to reproduce

  1. Open any scenario (my example is in Diamond heights whit the Snake River Falls Log Flume's queue line)
  2. Check any non-covered queue line
  3. Guests will partially dissapear

Attachments

OpenRCT2.2023-12-03.10-55-51.mp4
@TheClaudeQC TheClaudeQC added the bug Something went wrong. label Dec 3, 2023
@TheClaudeQC
Copy link
Author

it's actually worst. Any non-OpenGL settings will make the issue

@mrmbernardi mrmbernardi self-assigned this Dec 27, 2023
@mrmbernardi
Copy link
Contributor

I originally though this might be issues with sprite sorting or maybe copying the wrong pixels around, but after turning all the other sprites off it seems the guests are being clipped somehow. It gets worse or better depending on framerate. I had a situation where it chopped almost all the guests in half but I couldn't reproduce it while recording (I'm guessing since it alters the framerate).

vid.webm

@ZehMatt
Copy link
Member

ZehMatt commented Dec 28, 2023

How did you disable the sprites? This might be still a sorting bug, keep in mind that the void is also in the graph so it might be fighting with that.

@mrmbernardi
Copy link
Contributor

Yeah I just used the transparency options. If it was sorting, wouldn't it occur with OpenGL too? And wouldn't it be the entire sprite not just the upper section?The dirty region debug setting is currently broken but it appears to be caused when the peeps are split across two regions. Invalidating the entire screen doesn't fix it, but when I do that they only seem to be broken for one frame.

I think it might be in the paint quadrant handling

@ZehMatt
Copy link
Member

ZehMatt commented Dec 28, 2023

Yeah I just used the transparency options. If it was sorting, wouldn't it occur with OpenGL too? And wouldn't it be the entire sprite not just the upper section?The dirty region debug setting is currently broken but it appears to be caused when the peeps are split across two regions. Invalidating the entire screen doesn't fix it, but when I do that they only seem to be broken for one frame.

I think it might be in the paint quadrant handling

The thing with OpenGL is that it draws everything every frame so its not a reliable testbed for this kind of stuff. Did you use the Software (Hardware) renderer for the dirty region option? I think its the only renderer that implements this. Quite the curious bug, my best guess is that the drawing order is wrong which can be caused by a bunch of things such as their bounding boxes being wrong, keep in mind that the void also uses blank sprites and also has its own bounding box so that could overdraw over some peeps at least that is one of the possible causes.

@mrmbernardi
Copy link
Contributor

mrmbernardi commented Dec 29, 2023

The guests appear to be being redrawn without being in an invalidated block. I think this is just because stuff on the edges is redrawn as you pan but the debug tool doesn't show that

latest.mp4

@mrmbernardi
Copy link
Contributor

The cause appears to be that Peeps have incorrectly positioned rectangles in SpriteData.SpriteRect. Oddly, it is correct for some peeps and incorrect for others as seen in the screenshot.

image

@janisozaur
Copy link
Member

How come the fix only touched s4importer, is it limited to rct1 parks only?

@mrmbernardi
Copy link
Contributor

How come the fix only touched s4importer, is it limited to rct1 parks only?

I checked all the other places that had this code too. This was the only one with the error

janisozaur added a commit that referenced this issue Dec 31, 2023
- Feature: [#12078] Add shortcut key for toggling wall slope.
- Feature: [#19919] Add diagonal brakes and diagonal block brakes to most coaster types.
- Feature: [#20141] Add additional track pieces to the Giga Coaster.
- Feature: [#20825] Made setting the game speed a game action.
- Feature: [#20830] Display author field on scenery window.
- Feature: [#20853] [Plugin] Add “BaseTileElement.owner” which is saved in the park file.
- Feature: [objects#257] Re-introduce the RCT1 road, which does not have handrails.
- Feature: [OpenMusic#46] Added Mystic ride music style.
- Feature: [OpenMusic#50] Added Rock style 4 ride music.
- Improved: [objects#261] Add composer credits on all RCT2 music objects.
- Change: [#20790] Default ride price set to free if park charges for entry.
- Change: [#20880] Restore removed default coaster colours.
- Change: [#21102] The money effect will now update even when the game is paused.
- Change: [objects#244] Update sort priorities for expansion scenery groups.
- Change: [objects#256] Use recoloured RCT2 artwork on the Fruity Ices Stall, rather than the (slightly different) RCT1 artwork.
- Fix: [#5677] Balloons pass through the ground and objects.
- Fix: [#12299] Placing ride entrances/exits ignores the Disable Clearance Checks cheat.
- Fix: [#13473] Guests complain that the default Circus price is too high.
- Fix: [#15293] TTF fonts don’t format correctly with OpenGL.
- Fix: [#16453] Tile inspector invisibility shortcut does not use a game action.
- Fix: [#16926] When multiple vehicles are grouped in research, only one of them is unlocked.
- Fix: [#17774] Misplaced/missing land and construction rights tiles in RCT1 & RCT2 scenarios.
- Fix: [#18199] Dots in the game save’s name no longer get truncated.
- Fix: [#19722] “Forbid tree removal” restriction doesn’t forbid removal of large scenery tree items.
- Fix: [#20253] Crash when displaying a Lay-Down RC’s half loop.
- Fix: [#20356] Cannot set tertiary colour on small scenery.
- Fix: [#20624] Scrolling text glitches after language is changed.
- Fix: [#20679] Android: game crashes at launch.
- Fix: [#20737] Spent money in player window underflows when getting refunds.
- Fix: [#20747] Staff speed cheat not applying to newly hired staff, UI not showing the current applied speed.
- Fix: [#20778] [Plugin] Incorrect target api when executing custom actions.
- Fix: [#20807] Tertiary colour not copied with small scenery.
- Fix: [#20964] Crash when player connects to server with a group assigned that no longer exists.
- Fix: [#20995] TTF fonts don’t support hinting, outlines, or insets with OpenGL.
- Fix: [#21042] Peeps don’t render properly in S4 parks.
- Fix: [objects#246, objects#248] Some objects are incorrectly marked as originating from RCT1.
- Fix: [objects#260] Submarine Ride has its capacity listed incorrectly.
KatieZeldaKat pushed a commit to KatieZeldaKat/OpenRCT2 that referenced this issue Jan 2, 2024
KatieZeldaKat pushed a commit to KatieZeldaKat/OpenRCT2 that referenced this issue Jan 2, 2024
- Feature: [OpenRCT2#12078] Add shortcut key for toggling wall slope.
- Feature: [OpenRCT2#19919] Add diagonal brakes and diagonal block brakes to most coaster types.
- Feature: [OpenRCT2#20141] Add additional track pieces to the Giga Coaster.
- Feature: [OpenRCT2#20825] Made setting the game speed a game action.
- Feature: [OpenRCT2#20830] Display author field on scenery window.
- Feature: [OpenRCT2#20853] [Plugin] Add “BaseTileElement.owner” which is saved in the park file.
- Feature: [objects#257] Re-introduce the RCT1 road, which does not have handrails.
- Feature: [OpenMusic#46] Added Mystic ride music style.
- Feature: [OpenMusic#50] Added Rock style 4 ride music.
- Improved: [objects#261] Add composer credits on all RCT2 music objects.
- Change: [OpenRCT2#20790] Default ride price set to free if park charges for entry.
- Change: [OpenRCT2#20880] Restore removed default coaster colours.
- Change: [OpenRCT2#21102] The money effect will now update even when the game is paused.
- Change: [objects#244] Update sort priorities for expansion scenery groups.
- Change: [objects#256] Use recoloured RCT2 artwork on the Fruity Ices Stall, rather than the (slightly different) RCT1 artwork.
- Fix: [OpenRCT2#5677] Balloons pass through the ground and objects.
- Fix: [OpenRCT2#12299] Placing ride entrances/exits ignores the Disable Clearance Checks cheat.
- Fix: [OpenRCT2#13473] Guests complain that the default Circus price is too high.
- Fix: [OpenRCT2#15293] TTF fonts don’t format correctly with OpenGL.
- Fix: [OpenRCT2#16453] Tile inspector invisibility shortcut does not use a game action.
- Fix: [OpenRCT2#16926] When multiple vehicles are grouped in research, only one of them is unlocked.
- Fix: [OpenRCT2#17774] Misplaced/missing land and construction rights tiles in RCT1 & RCT2 scenarios.
- Fix: [OpenRCT2#18199] Dots in the game save’s name no longer get truncated.
- Fix: [OpenRCT2#19722] “Forbid tree removal” restriction doesn’t forbid removal of large scenery tree items.
- Fix: [OpenRCT2#20253] Crash when displaying a Lay-Down RC’s half loop.
- Fix: [OpenRCT2#20356] Cannot set tertiary colour on small scenery.
- Fix: [OpenRCT2#20624] Scrolling text glitches after language is changed.
- Fix: [OpenRCT2#20679] Android: game crashes at launch.
- Fix: [OpenRCT2#20737] Spent money in player window underflows when getting refunds.
- Fix: [OpenRCT2#20747] Staff speed cheat not applying to newly hired staff, UI not showing the current applied speed.
- Fix: [OpenRCT2#20778] [Plugin] Incorrect target api when executing custom actions.
- Fix: [OpenRCT2#20807] Tertiary colour not copied with small scenery.
- Fix: [OpenRCT2#20964] Crash when player connects to server with a group assigned that no longer exists.
- Fix: [OpenRCT2#20995] TTF fonts don’t support hinting, outlines, or insets with OpenGL.
- Fix: [OpenRCT2#21042] Peeps don’t render properly in S4 parks.
- Fix: [objects#246, objects#248] Some objects are incorrectly marked as originating from RCT1.
- Fix: [objects#260] Submarine Ride has its capacity listed incorrectly.
CorySanin added a commit to CorySanin/OpenRCT2 that referenced this issue Feb 4, 2024
Release v0.4.7

- Feature: [OpenRCT2#12078] Add shortcut key for toggling wall slope.
- Feature: [OpenRCT2#19919] Add diagonal brakes and diagonal block brakes to most coaster types.
- Feature: [OpenRCT2#20141] Add additional track pieces to the Giga Coaster.
- Feature: [OpenRCT2#20825] Made setting the game speed a game action.
- Feature: [OpenRCT2#20830] Display author field on scenery window.
- Feature: [OpenRCT2#20853] [Plugin] Add “BaseTileElement.owner” which is saved in the park file.
- Feature: [objects#257] Re-introduce the RCT1 road, which does not have handrails.
- Feature: [OpenMusic#46] Added Mystic ride music style.
- Feature: [OpenMusic#50] Added Rock style 4 ride music.
- Improved: [objects#261] Add composer credits on all RCT2 music objects.
- Change: [OpenRCT2#20790] Default ride price set to free if park charges for entry.
- Change: [OpenRCT2#20880] Restore removed default coaster colours.
- Change: [OpenRCT2#21102] The money effect will now update even when the game is paused.
- Change: [objects#244] Update sort priorities for expansion scenery groups.
- Change: [objects#256] Use recoloured RCT2 artwork on the Fruity Ices Stall, rather than the (slightly different) RCT1 artwork.
- Fix: [OpenRCT2#5677] Balloons pass through the ground and objects.
- Fix: [OpenRCT2#12299] Placing ride entrances/exits ignores the Disable Clearance Checks cheat.
- Fix: [OpenRCT2#13473] Guests complain that the default Circus price is too high.
- Fix: [OpenRCT2#15293] TTF fonts don’t format correctly with OpenGL.
- Fix: [OpenRCT2#16453] Tile inspector invisibility shortcut does not use a game action.
- Fix: [OpenRCT2#16926] When multiple vehicles are grouped in research, only one of them is unlocked.
- Fix: [OpenRCT2#17774] Misplaced/missing land and construction rights tiles in RCT1 & RCT2 scenarios.
- Fix: [OpenRCT2#18199] Dots in the game save’s name no longer get truncated.
- Fix: [OpenRCT2#19722] “Forbid tree removal” restriction doesn’t forbid removal of large scenery tree items.
- Fix: [OpenRCT2#20253] Crash when displaying a Lay-Down RC’s half loop.
- Fix: [OpenRCT2#20356] Cannot set tertiary colour on small scenery.
- Fix: [OpenRCT2#20624] Scrolling text glitches after language is changed.
- Fix: [OpenRCT2#20679] Android: game crashes at launch.
- Fix: [OpenRCT2#20737] Spent money in player window underflows when getting refunds.
- Fix: [OpenRCT2#20747] Staff speed cheat not applying to newly hired staff, UI not showing the current applied speed.
- Fix: [OpenRCT2#20778] [Plugin] Incorrect target api when executing custom actions.
- Fix: [OpenRCT2#20807] Tertiary colour not copied with small scenery.
- Fix: [OpenRCT2#20964] Crash when player connects to server with a group assigned that no longer exists.
- Fix: [OpenRCT2#20995] TTF fonts don’t support hinting, outlines, or insets with OpenGL.
- Fix: [OpenRCT2#21042] Peeps don’t render properly in S4 parks.
- Fix: [objects#246, objects#248] Some objects are incorrectly marked as originating from RCT1.
- Fix: [objects#260] Submarine Ride has its capacity listed incorrectly.
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.

4 participants