New NSS loading code.
This commit is contained in:
@@ -454,7 +454,7 @@ void loadZipFile()
|
|||||||
{
|
{
|
||||||
int err, fileSize;
|
int err, fileSize;
|
||||||
unsigned char *ROM = (unsigned char *)romdata;
|
unsigned char *ROM = (unsigned char *)romdata;
|
||||||
bool multifile = false;
|
bool multifile = false, NSS = false;
|
||||||
char *incrementer = 0;
|
char *incrementer = 0;
|
||||||
|
|
||||||
unzFile zipfile = unzOpen(ZOpenFileName); //Open zip file
|
unzFile zipfile = unzOpen(ZOpenFileName); //Open zip file
|
||||||
@@ -495,11 +495,12 @@ void loadZipFile()
|
|||||||
if (strlen(cFileName) >= 5) //Char + ".IC2"
|
if (strlen(cFileName) >= 5) //Char + ".IC2"
|
||||||
{
|
{
|
||||||
char *ext = cFileName+strlen(cFileName)-4;
|
char *ext = cFileName+strlen(cFileName)-4;
|
||||||
if (!strcasecmp(ext, ".IC3"))
|
if (!strncasecmp(ext, ".IC", 3))
|
||||||
{
|
{
|
||||||
strcpy(ourFile, cFileName);
|
strcpy(ourFile, cFileName);
|
||||||
incrementer = ourFile+strlen(ourFile)-1;
|
incrementer = ourFile+strlen(ourFile)-1;
|
||||||
multifile = true;
|
*incrementer = '7';
|
||||||
|
NSS = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -527,6 +528,11 @@ void loadZipFile()
|
|||||||
//Sets current file to the file we liked before
|
//Sets current file to the file we liked before
|
||||||
if (unzLocateFile(zipfile, ourFile, 1) != UNZ_OK)
|
if (unzLocateFile(zipfile, ourFile, 1) != UNZ_OK)
|
||||||
{
|
{
|
||||||
|
if (NSS)
|
||||||
|
{
|
||||||
|
(*incrementer)--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
unzClose(zipfile);
|
unzClose(zipfile);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -568,19 +574,19 @@ void loadZipFile()
|
|||||||
|
|
||||||
curromspace += fileSize;
|
curromspace += fileSize;
|
||||||
|
|
||||||
|
if (NSS)
|
||||||
|
{
|
||||||
|
if (!*incrementer) { return; }
|
||||||
|
(*incrementer)--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (!multifile)
|
if (!multifile)
|
||||||
{
|
{
|
||||||
unzClose(zipfile);
|
unzClose(zipfile);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
(*incrementer)++;
|
(*incrementer)++;
|
||||||
//Code to find next ROM for NSS games
|
|
||||||
if ((incrementer[-1] == 'C' || incrementer[-1] == 'c'))
|
|
||||||
{
|
|
||||||
if (*incrementer == '4') { *incrementer = '2'; }
|
|
||||||
if (*incrementer == '3') { *incrementer = '8'; }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user