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

Resizing map while game is paused may result in endless bug loop causing game to freeze #9955

Closed
2 tasks
Solioss opened this issue Aug 31, 2019 · 1 comment
Closed
2 tasks
Assignees
Labels
bug Something went wrong.

Comments

@Solioss
Copy link

Solioss commented Aug 31, 2019

OS: Windows 10 (x86-64)
Version: 0.2.2
Commit/Build: 298c9f5

(This was brought from the OpenRCT2 forums : https://forums.openrct2.org/topic/4479-resizing-map-while-game-is-paused-may-result-in-endless-bug-loop-causing-game-to-freeze/ )

BUG : When shrinking the map with sandbox tools while the game is paused, game may start spamming the "Construction not possible while game is paused" error with the corresponding sound effect, resulting in loud constant noise and game freezing completely. This does not happen in the scenario editor (which, unsurprisingly, does not have a pause button).

  • Reproducible in RCT2 (vanilla)? No (requires use of cheats specific to OpenRCT2)
  • Specific to multiplayer? No

Steps to reproduce:

  1. Open the game.
  2. Open any map containing objects (e. g. any scenario or saved game with progress). I've tested on "Build you own Six Flags park", "Six Flags Belguim" and "Crazy Castle" maps. The map's objects (trees, decorations, paths...) should preferably be close to its borders.
  3. Pause the game.
  4. Make sure the "Allow construction while paused" cheat is disabled.
  5. Enable sandbox mode.
  6. Open the map menu to access map editing tools.
    6.1. Recommended before next step : Lower your volume (yeah, I jumped when it happened to me the first time)
  7. Reduce the size of the map several times. It can go normally until the game has to delete a tile which has an object on it, in which case it will attempt to delete the object, causing the "Cannot build while game is paused" error and, apparently, making the game retry to delete the object again and again, resulting in a spam of the error's sound effect and in a complete game freeze. The game may or may not have had the time to display its last words in its ultimate render frame before it freezes : "Can't construct this here... Construction not possible while game is paused!"

Known temporary fixes (use any) :

  • Make sure the "Allow construction while game is paused" cheat is enabled
  • Do not pause the game while shrinking the map
  • Clean the map's edges before shrinking it
crorvig added a commit to crorvig/OpenRCT2 that referenced this issue Sep 6, 2019
Prevents infinite loop by forcing BuildInPauseMode on for the duration
of the map_remove_out_of_range_elements() call.
Gymnasiast added a commit that referenced this issue Oct 3, 2019
…n-pause-mode

Allow sandbox mode map resize in pause mode #9955
@Gymnasiast Gymnasiast reopened this Oct 3, 2019
@ZehMatt ZehMatt self-assigned this Oct 15, 2019
janisozaur added a commit that referenced this issue Oct 28, 2019
- Feature: [#9285] Remember current group in scenario list window.
- Feature: [#9918] Increase image list capacity by about 100k units.
- Change: [#1349] Increase the number of ride music played simultaneously from 2 to 32.
- Fix: [#4927] Giant screenshot cut off at bottom and top.
- Fix: [#7572] Queue paths connect to regular paths through fences.
- Fix: [#7690] Problem with guests freezing on certain tiles of path.
- Fix: [#7883] Headless server log is stored incorrectly if server name contains CJK in Ubuntu
- Fix: [#8136] Excessive lateral G penalty is too excessive.
- Fix: [#8584] Duck spawning function does not check tiles with x or y coordinate of 0..64 (Original bug)
- Fix: [#9179] Crash when modifying a ride occasionally.
- Fix: [#9533] Door sounds not playing.
- Fix: [#9574] Text overflow in scenario objective window when using CJK languages.
- Fix: [#9603] Don't render audio when master volume is turned off.
- Fix: [#9625] Show correct cost in scenery selection.
- Fix: [#9669] The tile inspector shortcut key does not work with debugging tools disabled.
- Fix: [#9675] Guest entry point limit can be bypassed in scenario editor.
- Fix: [#9683] Cannot raise water level if part of the tool's area of effect is off of the map.
- Fix: [#9684] Entering custom size for water/land tool allows confirmation with main enter key, but not numpad enter key.
- Fix: [#9690] The keyboard shortcut for rotating the game view can be set to Enter or KP Enter, but not both.
- Fix: [#9717] Scroll bars do not render correctly when using OpenGL renderer.
- Fix: [#9729] Peeps do not take into account height difference when deciding to pathfind to a ride entrance (original bug).
- Fix: [#9902] Doors/Portcullis do not check to make sure doors are open causing double opens.
- Fix: [#9926] Africa - Oasis park has wrong peep spawn (original bug).
- Fix: [#9953] Crash when hacked rides attempt to find the closest mechanic.
- Fix: [#9955] Resizing map in while pause mode does not work and may result in freezes.
- Fix: [#9957] When using 'no money' cheat, guests complain of running out of cash.
- Fix: [#9970] Wait for quarter load fails.
- Fix: [#9994] Game action tick collision during server connect and map load.
- Fix: [#10017] Ghost elements influencing ride excitement.
- Fix: [#10036] Do not allocate large chunks of memory for save file classification.
- Fix: [#10106] Ride circuits should not be used for modes that do not support it.
- Fix: [#10149] Desync in headless mode with rides that create smoke particles.
- Improved: [#9466] Add the rain weather effect to the OpenGL renderer.
- Improved: [#9987] Minimum load rounding.
- Improved: [#10125] Better support for high DPI screens.
XplosiveLugnut pushed a commit to XplosiveLugnut/OpenRCT2 that referenced this issue Apr 27, 2020
Prevents infinite loop by forcing BuildInPauseMode on for the duration
of the map_remove_out_of_range_elements() call.
XplosiveLugnut pushed a commit to XplosiveLugnut/OpenRCT2 that referenced this issue Apr 27, 2020
- Feature: [OpenRCT2#9285] Remember current group in scenario list window.
- Feature: [OpenRCT2#9918] Increase image list capacity by about 100k units.
- Change: [OpenRCT2#1349] Increase the number of ride music played simultaneously from 2 to 32.
- Fix: [OpenRCT2#4927] Giant screenshot cut off at bottom and top.
- Fix: [OpenRCT2#7572] Queue paths connect to regular paths through fences.
- Fix: [OpenRCT2#7690] Problem with guests freezing on certain tiles of path.
- Fix: [OpenRCT2#7883] Headless server log is stored incorrectly if server name contains CJK in Ubuntu
- Fix: [OpenRCT2#8136] Excessive lateral G penalty is too excessive.
- Fix: [OpenRCT2#8584] Duck spawning function does not check tiles with x or y coordinate of 0..64 (Original bug)
- Fix: [OpenRCT2#9179] Crash when modifying a ride occasionally.
- Fix: [OpenRCT2#9533] Door sounds not playing.
- Fix: [OpenRCT2#9574] Text overflow in scenario objective window when using CJK languages.
- Fix: [OpenRCT2#9603] Don't render audio when master volume is turned off.
- Fix: [OpenRCT2#9625] Show correct cost in scenery selection.
- Fix: [OpenRCT2#9669] The tile inspector shortcut key does not work with debugging tools disabled.
- Fix: [OpenRCT2#9675] Guest entry point limit can be bypassed in scenario editor.
- Fix: [OpenRCT2#9683] Cannot raise water level if part of the tool's area of effect is off of the map.
- Fix: [OpenRCT2#9684] Entering custom size for water/land tool allows confirmation with main enter key, but not numpad enter key.
- Fix: [OpenRCT2#9690] The keyboard shortcut for rotating the game view can be set to Enter or KP Enter, but not both.
- Fix: [OpenRCT2#9717] Scroll bars do not render correctly when using OpenGL renderer.
- Fix: [OpenRCT2#9729] Peeps do not take into account height difference when deciding to pathfind to a ride entrance (original bug).
- Fix: [OpenRCT2#9902] Doors/Portcullis do not check to make sure doors are open causing double opens.
- Fix: [OpenRCT2#9926] Africa - Oasis park has wrong peep spawn (original bug).
- Fix: [OpenRCT2#9953] Crash when hacked rides attempt to find the closest mechanic.
- Fix: [OpenRCT2#9955] Resizing map in while pause mode does not work and may result in freezes.
- Fix: [OpenRCT2#9957] When using 'no money' cheat, guests complain of running out of cash.
- Fix: [OpenRCT2#9970] Wait for quarter load fails.
- Fix: [OpenRCT2#9994] Game action tick collision during server connect and map load.
- Fix: [OpenRCT2#10017] Ghost elements influencing ride excitement.
- Fix: [OpenRCT2#10036] Do not allocate large chunks of memory for save file classification.
- Fix: [OpenRCT2#10106] Ride circuits should not be used for modes that do not support it.
- Fix: [OpenRCT2#10149] Desync in headless mode with rides that create smoke particles.
- Improved: [OpenRCT2#9466] Add the rain weather effect to the OpenGL renderer.
- Improved: [OpenRCT2#9987] Minimum load rounding.
- Improved: [OpenRCT2#10125] Better support for high DPI screens.
@Gymnasiast Gymnasiast added the bug Something went wrong. label May 5, 2020
@ZehMatt
Copy link
Member

ZehMatt commented Apr 20, 2023

I can not reproduce this, should be fixed. I do recall we converted this to a game action to work properly.

@ZehMatt ZehMatt closed this as completed Apr 20, 2023
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

No branches or pull requests

3 participants