File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -327,6 +327,22 @@ public static bool TryDeleteModSaveData(int slot) {
327327 }
328328 }
329329
330+ // clean modsave and modsession files which are not deleted if their module is not loaded
331+ string saveFilePath = patch_UserIO . GetSaveFilePath ( ) ;
332+ if ( Directory . Exists ( saveFilePath ) ) {
333+ foreach ( string modSaveFile in Directory . GetFiles ( saveFilePath , $ "{ slot } -modsave-*.celeste") ) {
334+ string file = Path . GetFileNameWithoutExtension ( modSaveFile ) ;
335+ Logger . Info ( "SaveData" , $ "Save slot { slot } has modsave { file } which was not cleaned, deleting file") ;
336+ UserIO . Delete ( file ) ;
337+ }
338+
339+ foreach ( string modSessionFile in Directory . GetFiles ( saveFilePath , $ "{ slot } -modsession-*.celeste") ) {
340+ string file = Path . GetFileNameWithoutExtension ( modSessionFile ) ;
341+ Logger . Info ( "SaveData" , $ "Save slot { slot } has modsession { file } which was not cleaned, deleting file") ;
342+ UserIO . Delete ( file ) ;
343+ }
344+ }
345+
330346 LoadedModSaveDataIndex = int . MinValue ;
331347
332348 // delete the modsavedata file if it exists.
You can’t perform that action at this time.
0 commit comments