Skip to content

Fix space maps being incorrectly considered paused/unpaused in certain circumstances#650

Merged
notfood merged 1 commit intorwmt:devfrom
SokyranTheDragon:fix-space-maps-incorerectly-considered-paused-or-unpaused
Aug 24, 2025
Merged

Fix space maps being incorrectly considered paused/unpaused in certain circumstances#650
notfood merged 1 commit intorwmt:devfrom
SokyranTheDragon:fix-space-maps-incorerectly-considered-paused-or-unpaused

Conversation

@SokyranTheDragon
Copy link
Copy Markdown
Member

TickManagerPausedPatch was not running in MP if WorldRendererUtility.WorldRendered is true. However, we wanted to use WorldRendererUtility.WorldSelected, as the former checks if the world is rendered at all (including as a background for space maps), while the latter checks if the world is rendered due to the player opening the world map.

There's several bugs that could happen due to this:

  • Camera shaker running while paused
    • Normally CameraShaker:ShakeOffset returns Vector3.zero while paused
  • Audio samples being paused while the game is running, not pausing while the game is paused, or having incorrect pitch/volume
  • FleckMaker:ThrowMetaPuffs creating flecks while paused
    • This method normally only does it while unpaused
  • Possibly more in vanilla, and likely a lot more with mods

As for reproduction steps of the bug:

  • Start async time MP game with 2 maps, one of which is in space
  • Pause both maps
  • Switch to the planet map, unpause
  • Switch to space map, use dev mode to create explosions
  • Notice that the explosions make the camera shake immediately
    • If you compare to the planet maps, the shaking never happens while paused

…n circumstances

`TickManagerPausedPatch` was not running in MP if `WorldRendererUtility.WorldRendered`. However, we wanted to use `WorldRendererUtility.WorldSelected`, as the former checks if the world is rendered at all, while the latter checks if the world is rendered due to the player opening the world map.

There's several bugs that could happen due to this:
- Camera shaker running while paused
  - Normally `CameraShaker:ShakeOffset` returns `Vector3.zero` while paused
- Audio samples being paused while the game is running, not pausing while the game is paused, or having incorrect pitch/volume
- `FleckMaker:ThrowMetaPuffs` creating flecks while paused
  - This method normally only does it while unpaused
- Possibly more in vanilla, and likely a lot more with mods

As for reproduction steps of the bug:
- Start async time MP game with 2 maps, one of which is in space
- Pause both maps
- Switch to the planet map, unpause
- Switch to space map, use dev mode to create explosions
- Notice that the explosions make the camera shake immediately
  - If you compare to the planet maps, the shaking never happens while paused
@SokyranTheDragon SokyranTheDragon added fix Fixes for a bug or desync. 1.6 Fixes or bugs relating to 1.6 (Not Odyssey). odyssey Fix or bugs relating to Odyssey (Not 1.6) and removed 1.6 Fixes or bugs relating to 1.6 (Not Odyssey). labels Aug 23, 2025
@notfood notfood moved this to In review in 1.6 and Odyssey Aug 24, 2025
@notfood notfood merged commit e461bba into rwmt:dev Aug 24, 2025
1 check passed
@github-project-automation github-project-automation bot moved this from In review to Done in 1.6 and Odyssey Aug 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix Fixes for a bug or desync. odyssey Fix or bugs relating to Odyssey (Not 1.6)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants