Changes between Initial Version and Version 1 of Ticket #13842


Ignore:
Timestamp:
09/21/22 03:20:34 (19 months ago)
Author:
macca8
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #13842 – Description

    initial v1  
    1313This arrangement is wrong for these reasons:
    1414- 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).
    1616- 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.
    1717
    1818In 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.
    1919
    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).
     20Since 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).
    2121
    2222The 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.
     
    5252}}}
    5353
     54If approved, I would appreciate if someone could implement these changes on my behalf.
    5455Thanks for your time.