Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About the PR
Adds atmospherics substepping, a debugging tool that allows you to easily pause grids and progress the atmospherics simulation on them by one atmostick.
Why / Balance
More Atmos debugging tools yay, but more importantly it'll be very useful for tests. We can simply pause processing on a grid and then execute a system run on that grid, instead of having to guess as to if we've ran a processing tick or not.
Technical details
Most of the code that runs the switch that progresses a
GridAtmosphereComponent
through the various processing stages of Atmospherics has been extracted to a methodProcessAtmosphere
.The contents of this method had multiple exits. Sometimes a grid finished processing and we'd like to move onto the next one, sometimes we need to delegate to the next tick to keep on our time budget, etc. An enum
AtmosphereProcessingCompletionState
was made to convey this information.Media
Screencast_20250919_145521.mp4
Requirements
Breaking changes
The code that handles processing Atmospherics states has been extracted into a new
ProcessAtmosphere
method. If you've implemented custom processing states, you might need to migrate them over.Changelog
n/a