@@ -182,7 +182,7 @@ private List<GameFile> ParseBackup(string path, ELoadingMode mode, CancellationT
182182 {
183183 case ELoadingMode . AllButNew :
184184 {
185- var paths = new HashSet < string > ( ) ;
185+ var paths = new HashSet < string > ( StringComparer . OrdinalIgnoreCase ) ;
186186 var magic = archive . Read < uint > ( ) ;
187187 if ( magic != BackupManagerViewModel . FBKP_MAGIC )
188188 {
@@ -192,7 +192,7 @@ private List<GameFile> ParseBackup(string path, ELoadingMode mode, CancellationT
192192 cancellationToken . ThrowIfCancellationRequested ( ) ;
193193
194194 archive . Position += 29 ;
195- paths . Add ( archive . ReadString ( ) . ToLower ( ) [ 1 ..] ) ;
195+ paths . Add ( archive . ReadString ( ) [ 1 ..] ) ;
196196 archive . Position += 4 ;
197197 }
198198 }
@@ -205,7 +205,10 @@ private List<GameFile> ParseBackup(string path, ELoadingMode mode, CancellationT
205205 cancellationToken . ThrowIfCancellationRequested ( ) ;
206206
207207 archive . Position += sizeof ( long ) + sizeof ( byte ) ;
208- paths . Add ( archive . ReadString ( ) . ToLower ( ) [ 1 ..] ) ;
208+ var fullPath = archive . ReadString ( ) ;
209+ if ( version < EBackupVersion . PerfectPath ) fullPath = fullPath [ 1 ..] ;
210+
211+ paths . Add ( fullPath ) ;
209212 }
210213 }
211214
@@ -233,7 +236,7 @@ private List<GameFile> ParseBackup(string path, ELoadingMode mode, CancellationT
233236 var uncompressedSize = archive . Read < long > ( ) ;
234237 var isEncrypted = archive . ReadFlag ( ) ;
235238 archive . Position += 4 ;
236- var fullPath = archive . ReadString ( ) . ToLower ( ) [ 1 ..] ;
239+ var fullPath = archive . ReadString ( ) [ 1 ..] ;
237240 archive . Position += 4 ;
238241
239242 AddEntry ( fullPath , uncompressedSize , isEncrypted , entries ) ;
@@ -249,7 +252,8 @@ private List<GameFile> ParseBackup(string path, ELoadingMode mode, CancellationT
249252
250253 var uncompressedSize = archive . Read < long > ( ) ;
251254 var isEncrypted = archive . ReadFlag ( ) ;
252- var fullPath = archive . ReadString ( ) . ToLower ( ) [ 1 ..] ;
255+ var fullPath = archive . ReadString ( ) ;
256+ if ( version < EBackupVersion . PerfectPath ) fullPath = fullPath [ 1 ..] ;
253257
254258 AddEntry ( fullPath , uncompressedSize , isEncrypted , entries ) ;
255259 }
0 commit comments