-
Notifications
You must be signed in to change notification settings - Fork 21
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
Signals table in scheme storage does not persist across saves #154
Comments
There is a work-around for processing the Consider e.g. the update routine in bind_restrictor.script, which currently calls the active scheme's update routine before executing the update routine in xr_sound.script:
If we instead flip the order of these statements, there should be no opportunity to save between the following two event chains:
... provided the order is also flipped in every other relevant object binder. That's because all of the above code would then run within the same, single invocation of the object binder update routine instead of being spread across two invocations thereof, as previously (which allowed the possibility of a save happening between invocations). Update: Implemented in bcc6616. |
How often do object binder update() calls happen? Just interested in how long is the window for the save that breaks the logic. |
The object binder update() frequency for a space restrictor decreases with the restrictor's distance from the player. At the southern entrance to the Cordon where the level changer from the Swamps positions the player, I recorded the following real seconds elapsed since launching the game for the first 20 bind_restrictor update() instances for
As you can see, if we ignore the first update after load (which is an outlier), the difference between the rest hovers at around 0.3 seconds. So there would be about a 0.3 second time window during which the storyline break reported in the Steam thread could happen. However, as there are many instances of |
This can cause e.g. the main storyline to break per this Steam thread:
The
sound_end
andtheme_end
signals may not be the only ones susceptible to being lost in the event of an unfortunately timed save.The text was updated successfully, but these errors were encountered: