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

Add large sloped turns to hybrid and single rail #19547

Merged
merged 8 commits into from
Apr 5, 2023

Conversation

X123M3-256
Copy link
Contributor

This PR adds new track pieces for large sloped turns and diagonal banks to the hybrid and single rail coasters. A corresponding PR has been submitted to the object repo to add the diagonal bank sprites OpenRCT2/objects#236. That one would ideally be merged at the same time or shortly after this one, because those trains will glitch otherwise.

There is a discontinuity caused by the fact that diagonal slopes have significantly shallower gradient than standard slopes. I tried to smooth this out by having the gradient of the turn piece non constant, but it is not possible to remove the discontinuity without making the track piece look distorted. It isn't noticeable with most normal usage but when it is, it's really annoying.

Various diagonal bank transition pieces are also added, these are needed to transition in and out of large banked sloped turns on a diagonal. Previously you could not have sloped banked track on a diagonal.

@X123M3-256 X123M3-256 force-pushed the more_new_track_pieces branch from 7324a78 to f025188 Compare March 3, 2023 18:06
@karst
Copy link
Member

karst commented Mar 3, 2023

Construction menu seems to no longer grey the light curves when building steep image

The pieces look quite incredible! This is very fun to play with. Thanks for all the effort, you're putting into this :)
I'll make sure to play around a bit more and see if I find any other issues.

@X123M3-256
Copy link
Contributor Author

Construction menu seems to no longer grey the light curves when building steep

This should be fixed now

@github-actions
Copy link

This pull request is stale and will be closed in 14 days if no action is taken. To keep it open, leave a comment or remove the stale-pr label. If you're awaiting feedback from a developer, please send us a reminder (either here or on Discord).

@SpartanFrederic104
Copy link
Contributor

Please keep this open along with objects#236.

@github-actions github-actions bot removed the stale-pr label Mar 27, 2023
@duncanspumpkin duncanspumpkin added network version Network version needs updating - double check before merging! plugin api version Plugin API version needs updating - double check before merging! park file version Requires updating the park file version number labels Apr 2, 2023
@duncanspumpkin
Copy link
Contributor

Seems sensible enough. We will need to increment the park, network and plugin versions for this and add a changelog entry. Could a plugin dev have a quick check that this integrates fine I'm sure it does but best check before hand.

@ZehMatt ZehMatt added the testing required PR needs to be tested before it is merged. label Apr 2, 2023
@duncanspumpkin
Copy link
Contributor

Plugin Devs have confirmed it works fine

@X123M3-256
Copy link
Contributor Author

Do I need to increase the network version or is this something you do?

Copy link
Member

@ZehMatt ZehMatt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks ok, I haven't tested this but the code is mostly additions and not actual changes. There is one comment that is off, otherwise no objections. Also having looked at all changes I noticed that we have plenty of duplicate code and unnamed constants and masks, I will create a few issues for that, not to be addressed in this PR.

src/openrct2/ride/VehiclePaint.cpp Outdated Show resolved Hide resolved
@ZehMatt
Copy link
Member

ZehMatt commented Apr 3, 2023

Do I need to increase the network version or is this something you do?

Please do.

@X123M3-256 X123M3-256 force-pushed the more_new_track_pieces branch from 2f69911 to 4ade2be Compare April 4, 2023 17:31
@karst
Copy link
Member

karst commented Apr 4, 2023

Don't forget about the changelog entry :)

@X123M3-256
Copy link
Contributor Author

I have no idea why the Mac build is now failing all I did is update the changelog

@ZehMatt
Copy link
Member

ZehMatt commented Apr 4, 2023

Hopefully a fluke, I've restarted it, lets see if it completes.

@karst
Copy link
Member

karst commented Apr 4, 2023

Seems it was

@X123M3-256 X123M3-256 force-pushed the more_new_track_pieces branch from fc3b25d to 0aa39c8 Compare April 5, 2023 10:49
@duncanspumpkin duncanspumpkin merged commit 3c4e324 into OpenRCT2:develop Apr 5, 2023
@tupaschoal tupaschoal added this to the v0.4.5 milestone Apr 5, 2023
duncanspumpkin added a commit to duncanspumpkin/OpenRCT2 that referenced this pull request Apr 5, 2023
duncanspumpkin added a commit that referenced this pull request Apr 5, 2023
qwzhaox pushed a commit to qwzhaox/OpenRCT2 that referenced this pull request Apr 10, 2023
* Implement large sloped turns

* Fix formatting

* Add sprites

* Fix large turns button being active on steep slopes

* Remove bad comment

* Increment network,plugin,park version numbers

* Update changelog

* Increment park file version again
qwzhaox pushed a commit to qwzhaox/OpenRCT2 that referenced this pull request Apr 10, 2023
janisozaur added a commit that referenced this pull request May 8, 2023
- Feature: [#18713] Block brakes have speed control and brakes slower than adjacent block brakes copy block brake speed when block brake open.
- Feature: [#19276] Add Powered Lifthill to Giga Coaster.
- Feature: [#19305] Add new Reversed Trains ride setting to run trains backwards, granting a bonus to ride ratings.
- Feature: [#19305] [Plugin] Add “Car.isReversed” to allow individual ride vehicles to run backwards.
- Feature: [#19446] Add new color options to color dropdown.
- Feature: [#19547] Add large sloped turns to hybrid coaster and single rail coaster.
- Feature: [#19930] Add plugin APIs for research.
- Feature: [OpenMusic#25] Added Prehistoric ride music style.
- Feature: [OpenMusic#26] Fairground Organ style 2 with new recordings from Herman's 35er Voigt (Previously known as Bressingham Voigt).
- Feature: [OpenMusic#28] Add Ragtime style 2 ride music.
- Improved: [#17739] Raise water and land height limits to 254 units/182m/600ft.
- Improved: [#18490] Reduce guests walking through trains on level crossing next to station.
- Improved: [#18996] When marketing campaigns are disabled, disable the Marketing tab in the Finances window.
- Improved: [#19764] Miscellaneous scenery tab now grouped next to the all-scenery tab.
- Improved: [#19830] “Highlight path issues” will now hide wall elements.
- Improved: [#19905] Add prompt before resetting shortcut keys.
- Improved: [#19952] Add colour preset to Spiral Slide using the new colour options.
- Improved: [#19953] Add keyboard shortcut to Keyboard Shortcuts window.
- Improved: [#20055] Performance improvement for the software renderer.
- Change: [OpenSFX#17] Update Hybrid RC lifthill loop.
- Fix: [#12598] Number of holes is not set correctly when saving track designs.
- Fix: [#13130] Android always defaulting to UK locale for language, currency and temperature.
- Fix: [#13397] Ride simulation causes strange station behaviour and makes the ride unusable in some cases.
- Fix: [#16791] Rotodrop top piece replicates when walls are placed around it and clearance checks are disabled (original bug).
- Fix: [#18583] Land dropdown is incorrect if there are surface entry index holes.
- Fix: [#18895] Responding mechanic blocked at level crossing.
- Fix: [#19231] Crash due to null pointer to previously deleted banner in tile copy/paste functionality.
- Fix: [#19296] Crash due to a race condition for parallel object loading.
- Fix: [#19733] Favorite ride of X guests integer overflow.
- Fix: [#19756] Crash with title sequences containing no commands.
- Fix: [#19767] No message when path is not connected to ride exit and is therefore unreachable for mechanics.
- Fix: [#19800] Crash when displaying station stats with more than 62 stations.
- Fix: [#19801] The in-game load/save window cannot be resized anymore.
- Fix: [#19854] Looping Coaster trains clipping through steep quarter turns down.
- Fix: [#19858] Issue drawing simulate flag icon on alternate colour palettes.
- Fix: [#19901] Random shop colours never assigning last colour.
- Fix: [#19911] Guests stuck at certain railway crossings.
- Fix: [#19924] Destructible cheat does not allow partial ride modification.
- Fix: [#19950] Mine train block brake supports drawn incorrectly.
- Fix: [#19955] Mine Train Roller Coaster has incorrect supports on the sloped left small turn (original bug).
- Fix: [#19987] [Plugin] ‘SetCheatAction’ has wrong ID in plugin API.
- Fix: [#20016] The group box for small scenery details in the Tile Inspector window has unused empty space.
- Fix: [#20018] Shops not calculating up-keep cost.
- Fix: [#20033] Asset packs cannot reference game data.
- Fix: [#20104] [Plugin] Some network APIs use player index and group index.
- Fix: [#20099] Some scrollbar is glitched or have incorrect size when open window for the first time
- Fix: [#20134] Grass length being updated for tiles in the void, causing unneccesary drawing operations.
foodisgoodyesiam added a commit to foodisgoodyesiam/OpenRCT2-sven that referenced this pull request May 9, 2023
Release v0.4.5

- Feature: [OpenRCT2#18713] Block brakes have speed control and brakes slower than adjacent block brakes copy block brake speed when block brake open.
- Feature: [OpenRCT2#19276] Add Powered Lifthill to Giga Coaster.
- Feature: [OpenRCT2#19305] Add new Reversed Trains ride setting to run trains backwards, granting a bonus to ride ratings.
- Feature: [OpenRCT2#19305] [Plugin] Add “Car.isReversed” to allow individual ride vehicles to run backwards.
- Feature: [OpenRCT2#19446] Add new color options to color dropdown.
- Feature: [OpenRCT2#19547] Add large sloped turns to hybrid coaster and single rail coaster.
- Feature: [OpenRCT2#19930] Add plugin APIs for research.
- Feature: [OpenMusic#25] Added Prehistoric ride music style.
- Feature: [OpenMusic#26] Fairground Organ style 2 with new recordings from Herman's 35er Voigt (Previously known as Bressingham Voigt).
- Feature: [OpenMusic#28] Add Ragtime style 2 ride music.
- Improved: [OpenRCT2#17739] Raise water and land height limits to 254 units/182m/600ft.
- Improved: [OpenRCT2#18490] Reduce guests walking through trains on level crossing next to station.
- Improved: [OpenRCT2#18996] When marketing campaigns are disabled, disable the Marketing tab in the Finances window.
- Improved: [OpenRCT2#19764] Miscellaneous scenery tab now grouped next to the all-scenery tab.
- Improved: [OpenRCT2#19830] “Highlight path issues” will now hide wall elements.
- Improved: [OpenRCT2#19905] Add prompt before resetting shortcut keys.
- Improved: [OpenRCT2#19952] Add colour preset to Spiral Slide using the new colour options.
- Improved: [OpenRCT2#19953] Add keyboard shortcut to Keyboard Shortcuts window.
- Improved: [OpenRCT2#20055] Performance improvement for the software renderer.
- Change: [OpenSFX#17] Update Hybrid RC lifthill loop.
- Fix: [OpenRCT2#12598] Number of holes is not set correctly when saving track designs.
- Fix: [OpenRCT2#13130] Android always defaulting to UK locale for language, currency and temperature.
- Fix: [OpenRCT2#13397] Ride simulation causes strange station behaviour and makes the ride unusable in some cases.
- Fix: [OpenRCT2#16791] Rotodrop top piece replicates when walls are placed around it and clearance checks are disabled (original bug).
- Fix: [OpenRCT2#18583] Land dropdown is incorrect if there are surface entry index holes.
- Fix: [OpenRCT2#18895] Responding mechanic blocked at level crossing.
- Fix: [OpenRCT2#19231] Crash due to null pointer to previously deleted banner in tile copy/paste functionality.
- Fix: [OpenRCT2#19296] Crash due to a race condition for parallel object loading.
- Fix: [OpenRCT2#19733] Favorite ride of X guests integer overflow.
- Fix: [OpenRCT2#19756] Crash with title sequences containing no commands.
- Fix: [OpenRCT2#19767] No message when path is not connected to ride exit and is therefore unreachable for mechanics.
- Fix: [OpenRCT2#19800] Crash when displaying station stats with more than 62 stations.
- Fix: [OpenRCT2#19801] The in-game load/save window cannot be resized anymore.
- Fix: [OpenRCT2#19854] Looping Coaster trains clipping through steep quarter turns down.
- Fix: [OpenRCT2#19858] Issue drawing simulate flag icon on alternate colour palettes.
- Fix: [OpenRCT2#19901] Random shop colours never assigning last colour.
- Fix: [OpenRCT2#19911] Guests stuck at certain railway crossings.
- Fix: [OpenRCT2#19924] Destructible cheat does not allow partial ride modification.
- Fix: [OpenRCT2#19950] Mine train block brake supports drawn incorrectly.
- Fix: [OpenRCT2#19955] Mine Train Roller Coaster has incorrect supports on the sloped left small turn (original bug).
- Fix: [OpenRCT2#19987] [Plugin] ‘SetCheatAction’ has wrong ID in plugin API.
- Fix: [OpenRCT2#20016] The group box for small scenery details in the Tile Inspector window has unused empty space.
- Fix: [OpenRCT2#20018] Shops not calculating up-keep cost.
- Fix: [OpenRCT2#20033] Asset packs cannot reference game data.
- Fix: [OpenRCT2#20104] [Plugin] Some network APIs use player index and group index.
- Fix: [OpenRCT2#20099] Some scrollbar is glitched or have incorrect size when open window for the first time
- Fix: [OpenRCT2#20134] Grass length being updated for tiles in the void, causing unneccesary drawing operations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
network version Network version needs updating - double check before merging! park file version Requires updating the park file version number plugin api version Plugin API version needs updating - double check before merging! testing required PR needs to be tested before it is merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants