Changes between Initial Version and Version 1 of Ticket #13842
- Timestamp:
- Sep 21, 2022, 3:20:34 AM (2 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #13842 – Description
initial v1 13 13 This arrangement is wrong for these reasons: 14 14 - While each test is capable of identifying an autosave file, and conversely, guaranteed to identify a regular save, each can also produce a false positive under circumstances unique to that test (i.e. an autosave identified as a regular save), unnecessarily triggering the in-game warning dialog. 15 - The saveType test, which predates the availability of the warning dialog, was implemented at a time when a failed test would cause an autosave to fail silently. It's introduction was intended to complement, rather than replace, the name test, by specifically handling those situations where the name test was expected to fail .15 - The saveType test, which predates the availability of the warning dialog, was implemented at a time when a failed test would cause an autosave to fail silently. It's introduction was intended to complement, rather than replace, the name test, by specifically handling those situations where the name test was expected to fail (unless a regular save is encountered, of course). 16 16 - The in-game warning dialog is designed to resolve issues created by the user, including clearing any regular save that may be stored in the autosave slot. Any false positives should be handled internally. 17 17 18 18 In practice, because each test is based on a different aspect of the save process, each false positive is offset by the other test correctly identifying the autosave file. Examples of these false positives, which were resolved by switching tests, can be found in #12363, #13432 & #13703. 19 19 20 Since switching the autosave test back to isAutosave(), after using hasAutosaveName() exclusively ([https://github.com/scummvm/scummvm/commit/9b05c206993d3107f98ac5b437801e33ba3c79b7 9b05c206]), the bug in #12363 has been reinstated (applies to Myst III, and any game which offers write access in the autosave slot ).20 Since switching the autosave test back to isAutosave(), after using hasAutosaveName() exclusively ([https://github.com/scummvm/scummvm/commit/9b05c206993d3107f98ac5b437801e33ba3c79b7 9b05c206]), the bug in #12363 has been reinstated (applies to Myst III, and any game which offers write access in the autosave slot, and which also sets the _saveType value based on the autosave flag). 21 21 22 22 The name and saveType tests are already quite comprehensive, and don’t need any further adjustment. What’s needed to properly detect the autosave file is a restructure of the isAutosave() function’s definition, to prioritise the name test (the primary test), and follow up with the saveType test (the supplementary test) only if that test fails.. a genuine autosave file need only pass one of the tests, whereas a regular save will fail both. … … 52 52 }}} 53 53 54 If approved, I would appreciate if someone could implement these changes on my behalf. 54 55 Thanks for your time.