Save parsing in `querySaveMetaInfos` had an off-by-one error.
`listSaves` contains the correct parsing.
This caused save descriptions to accumulate a leading junk byte (0x02).
As saves were loaded and re-saved, this added more junk bytes until the
ScummVM list GUI either displayed an empty string or crashed.
This bug affected users differently depending on if they used the list
or grid view for saving and loading.
`querySaveMetaInfos` parsing now matches `listSaves`.
Fixes bug #14561
The autosave refactoring that was done in
7adad5aaf5 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.
Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.
Amends 7adad5aaf5.
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.