@@ -643,73 +643,55 @@ void sbRebuildULCfg(base_game_info_t **list, const char *prefix, int gamecount,
643
643
}
644
644
}
645
645
646
+ static void sbCreatePath_name (const base_game_info_t * game , char * path , const char * prefix , const char * sep , int part , const char * game_name )
647
+ {
648
+ switch (game -> format ) {
649
+ case GAME_FORMAT_USBLD :
650
+ snprintf (path , 256 , "%sul.%08X.%s.%02x" , prefix , USBA_crc32 (game_name ), game -> startup , part );
651
+ break ;
652
+ case GAME_FORMAT_ISO :
653
+ snprintf (path , 256 , "%s%s%s%s%s" , prefix , (game -> media == SCECdPS2CD ) ? "CD" : "DVD" , sep , game_name , game -> extension );
654
+ break ;
655
+ case GAME_FORMAT_OLD_ISO :
656
+ snprintf (path , 256 , "%s%s%s%s.%s%s" , prefix , (game -> media == SCECdPS2CD ) ? "CD" : "DVD" , sep , game -> startup , game_name , game -> extension );
657
+ break ;
658
+ }
659
+ }
660
+
661
+ void sbCreatePath (const base_game_info_t * game , char * path , const char * prefix , const char * sep , int part )
662
+ {
663
+ sbCreatePath_name (game , path , prefix , sep , part , game -> name );
664
+ }
665
+
646
666
void sbDelete (base_game_info_t * * list , const char * prefix , const char * sep , int gamecount , int id )
647
667
{
668
+ int part ;
648
669
char path [256 ];
649
670
base_game_info_t * game = & (* list )[id ];
650
671
651
- if (game -> format != GAME_FORMAT_USBLD ) {
652
- if (game -> format != GAME_FORMAT_OLD_ISO ) {
653
- if (game -> media == SCECdPS2CD )
654
- snprintf (path , sizeof (path ), "%sCD%s%s.%s%s" , prefix , sep , game -> startup , game -> name , game -> extension );
655
- else
656
- snprintf (path , sizeof (path ), "%sDVD%s%s.%s%s" , prefix , sep , game -> startup , game -> name , game -> extension );
657
- } else {
658
- if (game -> media == SCECdPS2CD )
659
- snprintf (path , sizeof (path ), "%sCD%s%s%s" , prefix , sep , game -> name , game -> extension );
660
- else
661
- snprintf (path , sizeof (path ), "%sDVD%s%s%s" , prefix , sep , game -> name , game -> extension );
662
- }
672
+ for (part = 0 ; part < game -> parts ; part ++ ) {
673
+ sbCreatePath (game , path , prefix , sep , part );
663
674
unlink (path );
664
- } else {
665
- char * pathStr = "%sul.%08X.%s.%02x" ;
666
- unsigned int crc = USBA_crc32 (game -> name );
667
- int i = 0 ;
668
- do {
669
- snprintf (path , sizeof (path ), pathStr , prefix , crc , game -> startup , i ++ );
670
- unlink (path );
671
- } while (i < game -> parts );
675
+ }
672
676
677
+ if (game -> format == GAME_FORMAT_USBLD ) {
673
678
sbRebuildULCfg (list , prefix , gamecount , id );
674
679
}
675
680
}
676
681
677
682
void sbRename (base_game_info_t * * list , const char * prefix , const char * sep , int gamecount , int id , char * newname )
678
683
{
684
+ int part ;
679
685
char oldpath [256 ], newpath [256 ];
680
686
base_game_info_t * game = & (* list )[id ];
681
687
682
- if (game -> format != GAME_FORMAT_USBLD ) {
683
- if (game -> format == GAME_FORMAT_OLD_ISO ) {
684
- if (game -> media == SCECdPS2CD ) {
685
- snprintf (oldpath , sizeof (oldpath ), "%sCD%s%s.%s%s" , prefix , sep , game -> startup , game -> name , game -> extension );
686
- snprintf (newpath , sizeof (newpath ), "%sCD%s%s.%s%s" , prefix , sep , game -> startup , newname , game -> extension );
687
- } else {
688
- snprintf (oldpath , sizeof (oldpath ), "%sDVD%s%s.%s%s" , prefix , sep , game -> startup , game -> name , game -> extension );
689
- snprintf (newpath , sizeof (newpath ), "%sDVD%s%s.%s%s" , prefix , sep , game -> startup , newname , game -> extension );
690
- }
691
- } else {
692
- if (game -> media == SCECdPS2CD ) {
693
- snprintf (oldpath , sizeof (oldpath ), "%sCD%s%s%s" , prefix , sep , game -> name , game -> extension );
694
- snprintf (newpath , sizeof (newpath ), "%sCD%s%s%s" , prefix , sep , newname , game -> extension );
695
- } else {
696
- snprintf (oldpath , sizeof (oldpath ), "%sDVD%s%s%s" , prefix , sep , game -> name , game -> extension );
697
- snprintf (newpath , sizeof (newpath ), "%sDVD%s%s%s" , prefix , sep , newname , game -> extension );
698
- }
699
- }
688
+ for (part = 0 ; part < game -> parts ; part ++ ) {
689
+ sbCreatePath_name (game , oldpath , prefix , sep , part , game -> name );
690
+ sbCreatePath_name (game , newpath , prefix , sep , part , newname );
700
691
rename (oldpath , newpath );
701
- } else {
702
- const char * pathStr = "%sul.%08X.%s.%02x" ;
703
- unsigned int oldcrc = USBA_crc32 (game -> name );
704
- unsigned int newcrc = USBA_crc32 (newname );
705
- int i ;
706
-
707
- for (i = 0 ; i < game -> parts ; i ++ ) {
708
- snprintf (oldpath , sizeof (oldpath ), pathStr , prefix , oldcrc , game -> startup , i );
709
- snprintf (newpath , sizeof (newpath ), pathStr , prefix , newcrc , game -> startup , i );
710
- rename (oldpath , newpath );
711
- }
692
+ }
712
693
694
+ if (game -> format == GAME_FORMAT_USBLD ) {
713
695
memset (game -> name , 0 , UL_GAME_NAME_MAX + 1 );
714
696
memcpy (game -> name , newname , UL_GAME_NAME_MAX );
715
697
sbRebuildULCfg (list , prefix , gamecount , -1 );
0 commit comments