07th-mod / higurashi-assembly

9 stars 8 forks source link

Prevent/warn about loading old saves #58

Open drojf opened 3 years ago

drojf commented 3 years ago

One issue we get is that users load saves from the unmodded game, which don't work on the modded game.

If there is some way to differentiate between modded and unmodded saves, we could show a warning before the user loads the save that the save won't work properly.

Even if the save has no identifying information, if the save's date modified is older than the mod's install version tracking file's creation date (installedVersionData.json), then it's probably an old save.

We don't need to worry about the save file repeatedly having the warning pop-up, as users will either create a new save, or overwrite their old one, which should cause the date modified to become newer and no longer cause the warning (assuming their save loads correctly).

I realize that we have a warning in the installer about old saves, this issue still happens from time to time. Would be better to prevent it from happening altogether.

drojf commented 1 year ago

Was thinking that just prefixing "[MOD]" to the start of the save file name would make it obvious if the save file came from the mod.

Then you would know immediately which saves are compatible with which version of the game.

drojf commented 1 year ago

Another way to fix this issue would be to save to a different path for modded saves (so the unmodded game can't find it).

The advantage of this method is that the unmodded game wouldn't see the modded saves, so you couldn't load them by accident.

The main issue with this is if someone upgrades their game, their saves would be 'missing'.

However, as an interim, if the game detects you're using the old save system, we use the old save locations, but if you're starting fresh, you use the new save system. Doing this safely seems kinda difficult, though.

Something like this might work:

  1. Check if you have any existing saves
  2. If you don't, use the new save location
  3. If you do,

Not sure if the global save data should be treated the same way either...

Also would need to check whether cloud saving still works if you make save files in a different location.