-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Diagonal brakes and block brakes #19919
Conversation
8de9125
to
e65dc2f
Compare
The build should be in a playable state now. There are a few outstanding things to do like fixing looping and LIM sprites. Waiting on #19922 and potentially another PR I have yet to make before this can be merged. |
e65dc2f
to
e092646
Compare
This pull request has been marked as stale and will be closed in 14 days if no action is taken. To keep it open, leave a comment or remove the |
Keep this open please. |
This pull request has been marked as stale and will be closed in 14 days if no action is taken. To keep it open, leave a comment or remove the |
Keep this open please |
I have given X123M3-256 write access, he has the motivation to finish the PR in a timely manner. |
e092646
to
dc53095
Compare
Does anyone know why the CI is failing? |
its a replay test failure so something has diverged from how it was before. Are we expecting existing logic to have changed at all? |
I don't think so but I didn't create the PR so I'm not sure exactly what was changed (@spacek531?) |
I see this error message a lot in the build output: |
I did rebase it, but I rebased it on top of my local develop which is a little out of date, so I can try rebasing again. The network version hasn't increased since I last pulled develop, though, it's still 0.4.5-12, so I think 0.4.5-13 is the correct network version because this PR requires it to be increased? |
a252b8c
to
973b6ce
Compare
I rebased it again on top of the latest develop, seems it's still failing. |
This is just the network version the replays were recorded with, this has nothing to do with the actual replay failing. The current one fails because something has changed that influences the outcome of the simulation. |
What is a replay? What do you mean recorded? It builds and works on my machine, I find it odd that some of the Linux builds succeed and others are failing? |
Off the top of my head, all tiles of multi-tile block brake tracks (diagonal chain up-25/60-to-flat, cable lift hill) will have their brake flag set instead of only tile 0. I don't remember if there are other changes. |
We record a 1000 ticks of a bpb save file and record the exact properties of every single entity in a replay. If you make a change to the logic that changes how an entity performs anything (assuming that action happens in bpb during the 1000ticks) then it will show up has a replay failure. It takes a little bit of time to run these replays so we don't run it on every ci just Windows 32/64, Mac, Linux gcc/clang. The idea is that it will catch accidental changes to logic that we weren't expecting. If we have on purpose made a change then i just rerecord the replay. I can also get the replay to generate a difference report that will say exactly which entity fields have changed but its not very reliable doing that and it often goes wrong (and it can only tell you the difference after 1000 ticks but the divergence might have happened much earlier and the butterfly effect might mess up lots). |
How do I do this? I'd quite like to get this PR finished off because it's been almost 2 years since it was first implemented, but I've not encountered this issue before. |
You are referring to the desync report, correct? When I used it previously it would identify the first frame(s) of the desync instead of the last. My expectations for a good outcome on the desync report are that the desync consists of only TrackElement brake flags being set, and peep rand is the same on left and right. |
I just ran bpb1000 ticks against the branch and against OpenRCT2, v0.4.5-222-gccba517 (ccba517 on develop) provided by GitHub. The desync report is as follows:
Ignore the money desync, that occurs even on the prebuilt version. The desync is telling me that block brake speed is getting loaded by the vehicle incorrectly. The affected field was added in speedy block brakes. If I knew which vehicles the entity indices referred to, I could better troubleshoot. |
it seems the include |
0605ab9
to
752003f
Compare
@duncanspumpkin Can you take a look at thisone one more time after all these small fixes? |
yes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have done one more playtest checking the functionality and it seems identical to its normal counter part. Very happy with this implementation, thx for the hard work :)
A krimi this branch but clean work @spacek I will test it again tomorrow. |
I don't have any more planned changes for this branch. The ride types that do not have brakes will be covered in a folllow-up PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor issue with park version but other than that good to go.
SPR_G2_BM_RC_END = SPR_G2_BM_DIAG_BRAKES + 6, | ||
|
||
SPR_G2_MINI_RC_BEGIN = SPR_G2_BM_RC_END, | ||
SPR_G2_MINI_RC_BOOSTER_NE_SW = SPR_G2_MINI_RC_BEGIN, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thisone doesn't line up with the json file. Switching them around here.
- 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.
- 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.
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.
Speedy block brakes is merged 🎉 and this is the follow-up PR - implementing diagonal brakes and block brakes.
For paint code reasons, track elements with multiple sequence blocks now have all their sequence blocks updated when modifying brakes or brake speed.