Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ties Active Turfs to SSair Windows + Makes Turf Activation Direction …
…Agnostic (tgstation#86602) ## About The Pull Request [Ties new active turfs to SSair's "frame window"](tgstation@cf46d8b) Currently, if you add a new active turf midway through processing, it will be handled as a PART of that fire's processing. This combined with some bullshit with archive means that placing one source of diffs down can lead to a 1 tick spread instantly, ONLY if no turfs are actually active. (The following is one tick of atmos processing)   This runs counter to the existing archiving system, and violates the principles of active/inactive turfs of being an optimization over processing every cell individually. The fix is to uh, not do that. It also solves the highly edge case of a turf that's activated by something reacting to its temp change, alone in a 1x1 with no neighbors possibly causing an infinte stall in ssair. I'm also cleaning up add to active a bit, zypher's idea should have 0 cost. [Makes turf to turf activation fully diamond shaped](tgstation@2528fb2) Turf sharing operates off the archived gas list, but the check to see if we SHOULD share was working off the normal gas/temp values. This meant diff evening out was DIRECTIONAL (due to the directional ordering of atmos adjacent turfs) This is fixable by just using archive for these things. This does require an additional arg to compare() which DOES matter at this scale but I don't want to split compare into two procs I don't think and it should be relatively minimal. This means cleaner debug outputs, hopefully less pointlessly activated turfs, and a more consistent activation/sharing order (we aren't dropping turfs randomly now!) https://github.com/user-attachments/assets/347d3cd6-542f-48e6-aa83-40e7e9b11635 (spreading w/o this change as an example of the former issues) https://github.com/user-attachments/assets/da1ecbce-28b6-4241-8ac6-517b690c9ba6 --------- Co-authored-by: Kylerace <[email protected]>
- Loading branch information