Skip to content

Fix #19906: Destructible cheat does not allow ride modification#19924

Merged
tupaschoal merged 8 commits into
OpenRCT2:developfrom
Chase-Percy:ride/track/fix-#19906
Apr 15, 2023
Merged

Fix #19906: Destructible cheat does not allow ride modification#19924
tupaschoal merged 8 commits into
OpenRCT2:developfrom
Chase-Percy:ride/track/fix-#19906

Conversation

@Chase-Percy

Copy link
Copy Markdown
Contributor
  • Fixes the all-destructible cheat issue Unable to edit a pre-existing rollercoaster #19906.
  • Adds a variable to represent if the indestructible flags should be ignored.
  • Remove the old function that altered the flags on all the rides.
  • Makes the cheat toggleable, but I'm not sure if this is desired.
  • Added serialization and deserialization for the new cheat variable.

@tupaschoal tupaschoal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Makes the cheat toggleable, but I'm not sure if this is desired.

I'd say yes, but then maybe it also needs to be come a checkbox on the cheats window, instead of a button, since no button is togglable there.

}

if (tileElement->AsTrack()->IsIndestructible())
if (tileElement->AsTrack()->IsIndestructible() && !gCheatsMakeAllDestructible)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Maybe the isIndestructible function itself should check the cheat?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yup makes sense, 80eb038

@tupaschoal tupaschoal changed the title Fix make destructible cheat Fix #19906: Destructible cheat does not allow partial ride modification Apr 14, 2023
@Chase-Percy

Copy link
Copy Markdown
Contributor Author

Makes the cheat toggleable, but I'm not sure if this is desired.

I'd say yes, but then maybe it also needs to be come a checkbox on the cheats window, instead of a button, since no button is togglable there.

Nice, yea makes it a lot cleaner: 8d83676

@tupaschoal tupaschoal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I've tested it and it works great, with the added benefit of being able to restore no "non-destructible" and a bonus of having the ride tab of cheats with symmetrical buttons at the top now :D

image

Can you please add a changelog entry under https://github.com/OpenRCT2/OpenRCT2/blob/60ac375e31d86dbd5b5ca7d10803dfd84cfb3fd5/distribution/changelog.txt ?

@OpenRCT2/developers do you think we should bump the network version on? I mean, people can have different cheat behavior on multiplayer, but it's not like it's game breaking, so I'm inclined not to.

PS: If we decide to bump the network verison it will be her:

#define NETWORK_STREAM_VERSION "10"

@ZehMatt

ZehMatt commented Apr 14, 2023

Copy link
Copy Markdown
Contributor

The PR looks fine but it does need to bump up the park version and network version, the cheat is saved inside the park file so that needs a save version bump, and the logic was changed for game actions so we need a network bump. Thanks for the PR also.

@ZehMatt ZehMatt added this to the v0.4.5 milestone Apr 14, 2023
@ZehMatt ZehMatt added network version Network version needs updating - double check before merging! park file version Requires updating the park file version number labels Apr 14, 2023
@Chase-Percy

Copy link
Copy Markdown
Contributor Author
  • Added the changelog info: 426b499
  • Added my name to contributors under fixes: dc9aa67
  • Increased the network version (10 -> 11): 8502d32
  • Increased the park save versions (27 -> 28): f5c0db5. I also increased the min compatible version since old saves that used the cheat altered the rides flags which had no option to undo it.

Let me know if there is anything else I need to tidy up, thanks!

@tupaschoal tupaschoal changed the title Fix #19906: Destructible cheat does not allow partial ride modification Fix #19906: Destructible cheat does not allow ride modification Apr 15, 2023
@tupaschoal tupaschoal merged commit 7e313d4 into OpenRCT2:develop Apr 15, 2023
@tupaschoal

Copy link
Copy Markdown
Member

Thank you!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants