I forgot to add PCE support to dat.cpp!
This commit is contained in:
parent
d9c9b01360
commit
1e4ae98083
|
@ -133,8 +133,13 @@ TCHAR* DecorateGenreInfo();
|
|||
void ComputeGammaLUT();
|
||||
|
||||
// dat.cpp
|
||||
INT32 write_datfile(INT32 bIncMegadrive, FILE* fDat);
|
||||
INT32 create_datfile(TCHAR* szFilename, INT32 bIncMegadrive);
|
||||
#define DAT_ARCADE_ONLY 0
|
||||
#define DAT_MEGADRIVE_ONLY 1
|
||||
#define DAT_PCENGINE_ONLY 2
|
||||
#define DAT_TG16_ONLY 3
|
||||
#define DAT_SGX_ONLY 4
|
||||
INT32 write_datfile(INT32 bType, FILE* fDat);
|
||||
INT32 create_datfile(TCHAR* szFilename, INT32 bType);
|
||||
|
||||
// sshot.cpp
|
||||
INT32 MakeScreenShot();
|
||||
|
|
|
@ -59,7 +59,7 @@ static void ReplaceGreaterThan(char *szBuffer, char *szGameName)
|
|||
}
|
||||
}
|
||||
|
||||
INT32 write_datfile(INT32 bIncMegadrive, FILE* fDat)
|
||||
INT32 write_datfile(INT32 bType, FILE* fDat)
|
||||
{
|
||||
INT32 nRet=0;
|
||||
UINT32 nOldSelect=0;
|
||||
|
@ -84,11 +84,27 @@ INT32 write_datfile(INT32 bIncMegadrive, FILE* fDat)
|
|||
continue;
|
||||
}
|
||||
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SEGA_MEGADRIVE) && (bIncMegadrive == 0)) {
|
||||
if ((((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SEGA_MEGADRIVE)
|
||||
|| ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_PCENGINE_PCENGINE)
|
||||
|| ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_PCENGINE_TG16)
|
||||
|| ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_PCENGINE_SGX)
|
||||
) && (bType == DAT_ARCADE_ONLY)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_SEGA_MEGADRIVE) && (bIncMegadrive == 2)) {
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_SEGA_MEGADRIVE) && (bType == DAT_MEGADRIVE_ONLY)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_PCENGINE_PCENGINE) && (bType == DAT_PCENGINE_ONLY)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_PCENGINE_TG16) && (bType == DAT_TG16_ONLY)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_PCENGINE_SGX) && (bType == DAT_SGX_ONLY)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -144,8 +160,10 @@ INT32 write_datfile(INT32 bIncMegadrive, FILE* fDat)
|
|||
strcpy(ssName, BurnDrvGetTextA(DRV_SAMPLENAME));
|
||||
}
|
||||
|
||||
if ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SEGA_MEGADRIVE) {
|
||||
// remove the md_
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SEGA_MEGADRIVE)
|
||||
|| ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_PCENGINE_TG16)
|
||||
) {
|
||||
// remove the md_ or tg_
|
||||
char Temp[35];
|
||||
INT32 Length;
|
||||
if (sgName[0]) {
|
||||
|
@ -167,6 +185,32 @@ INT32 write_datfile(INT32 bIncMegadrive, FILE* fDat)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_PCENGINE_PCENGINE)
|
||||
|| ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_PCENGINE_SGX)
|
||||
) {
|
||||
// remove the pce__ or sgx__
|
||||
char Temp[36];
|
||||
INT32 Length;
|
||||
if (sgName[0]) {
|
||||
Length = strlen(sgName);
|
||||
memset(Temp, 0, 36);
|
||||
strcpy(Temp, sgName);
|
||||
memset(sgName, 0, 32);
|
||||
for (INT32 pos = 0; pos < Length; pos++) {
|
||||
sgName[pos] = Temp[pos + 4];
|
||||
}
|
||||
}
|
||||
if (spName[0]) {
|
||||
Length = strlen(spName);
|
||||
memset(Temp, 0, 36);
|
||||
strcpy(Temp, spName);
|
||||
memset(spName, 0, 32);
|
||||
for (INT32 pos = 0; pos < Length; pos++) {
|
||||
spName[pos] = Temp[pos + 4];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Report problems
|
||||
if (nParentSelect==-1U)
|
||||
|
@ -403,7 +447,19 @@ INT32 write_datfile(INT32 bIncMegadrive, FILE* fDat)
|
|||
continue;
|
||||
}
|
||||
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_SEGA_MEGADRIVE) && (bIncMegadrive == 2)) {
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_SEGA_MEGADRIVE) && (bType == DAT_MEGADRIVE_ONLY)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_PCENGINE_PCENGINE) && (bType == DAT_PCENGINE_ONLY)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_PCENGINE_TG16) && (bType == DAT_TG16_ONLY)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_PCENGINE_SGX) && (bType == DAT_SGX_ONLY)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -462,7 +518,7 @@ INT32 write_datfile(INT32 bIncMegadrive, FILE* fDat)
|
|||
return 0;
|
||||
}
|
||||
|
||||
INT32 create_datfile(TCHAR* szFilename, INT32 bIncMegadrive)
|
||||
INT32 create_datfile(TCHAR* szFilename, INT32 bType)
|
||||
{
|
||||
FILE *fDat=0;
|
||||
INT32 nRet=0;
|
||||
|
@ -475,11 +531,11 @@ INT32 create_datfile(TCHAR* szFilename, INT32 bIncMegadrive)
|
|||
fprintf(fDat, "<datafile>\n");
|
||||
fprintf(fDat, "\t<header>\n");
|
||||
fprintf(fDat, "\t\t<name>" APP_TITLE "</name>\n");
|
||||
if (bIncMegadrive) {
|
||||
_ftprintf(fDat, _T("\t\t<description>") _T(APP_TITLE) _T(" v%s") _T(" Megadrive Games</description>\n"), szAppBurnVer);
|
||||
} else {
|
||||
_ftprintf(fDat, _T("\t\t<description>") _T(APP_TITLE) _T(" v%s") _T(" Arcade Games</description>\n"), szAppBurnVer);
|
||||
}
|
||||
if (bType == DAT_ARCADE_ONLY) _ftprintf(fDat, _T("\t\t<description>") _T(APP_TITLE) _T(" v%s") _T(" Arcade Games</description>\n"), szAppBurnVer);
|
||||
if (bType == DAT_MEGADRIVE_ONLY) _ftprintf(fDat, _T("\t\t<description>") _T(APP_TITLE) _T(" v%s") _T(" Megadrive Games</description>\n"), szAppBurnVer);
|
||||
if (bType == DAT_PCENGINE_ONLY) _ftprintf(fDat, _T("\t\t<description>") _T(APP_TITLE) _T(" v%s") _T(" PC-Engine Games</description>\n"), szAppBurnVer);
|
||||
if (bType == DAT_TG16_ONLY) _ftprintf(fDat, _T("\t\t<description>") _T(APP_TITLE) _T(" v%s") _T(" TurboGrafx 16 Games</description>\n"), szAppBurnVer);
|
||||
if (bType == DAT_SGX_ONLY) _ftprintf(fDat, _T("\t\t<description>") _T(APP_TITLE) _T(" v%s") _T(" SuprGrafx Games</description>\n"), szAppBurnVer);
|
||||
fprintf(fDat, "\t\t<category>Standard DatFile</category>\n");
|
||||
_ftprintf(fDat, _T("\t\t<version>%s</version>\n"), szAppBurnVer);
|
||||
fprintf(fDat, "\t\t<author>" APP_TITLE "</author>\n");
|
||||
|
@ -488,7 +544,7 @@ INT32 create_datfile(TCHAR* szFilename, INT32 bIncMegadrive)
|
|||
fprintf(fDat, "\t\t<clrmamepro forcenodump=\"ignore\"/>\n");
|
||||
fprintf(fDat, "\t</header>\n");
|
||||
|
||||
nRet = write_datfile(bIncMegadrive, fDat);
|
||||
nRet = write_datfile(bType, fDat);
|
||||
|
||||
fclose(fDat);
|
||||
|
||||
|
|
|
@ -915,8 +915,11 @@ BEGIN
|
|||
MENUITEM SEPARATOR
|
||||
POPUP "Generate dat file"
|
||||
BEGIN
|
||||
MENUITEM "Generate dat (Arcade only)...", MENU_CLRMAME_PRO_XML
|
||||
MENUITEM "Generate dat (Arcade only)...", MENU_CLRMAME_PRO_XML
|
||||
MENUITEM "Generate dat (Megadrive only)...", MENU_CLRMAME_PRO_XML_MD_ONLY
|
||||
MENUITEM "Generate dat (PC-Engine only)...", MENU_CLRMAME_PRO_XML_PCE_ONLY
|
||||
MENUITEM "Generate dat (TurboGrafx16 only)...", MENU_CLRMAME_PRO_XML_TG16_ONLY
|
||||
MENUITEM "Generate dat (SuprGrafx only)...", MENU_CLRMAME_PRO_XML_SGX_ONLY
|
||||
END
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Configure ROM paths...", MENU_ROMDIRS
|
||||
|
|
|
@ -568,6 +568,9 @@
|
|||
#define MENU_START_NEOGEO_MVS 10711
|
||||
#define MENU_START_NEOGEO_CD 10712
|
||||
#define MENU_LOAD_NEOCD 10713
|
||||
#define MENU_CLRMAME_PRO_XML_PCE_ONLY 10714
|
||||
#define MENU_CLRMAME_PRO_XML_TG16_ONLY 10715
|
||||
#define MENU_CLRMAME_PRO_XML_SGX_ONLY 10716
|
||||
|
||||
#define MENU_BASIC_NORMAL 11001
|
||||
#define MENU_BASIC_SCAN 11002
|
||||
|
|
|
@ -282,20 +282,22 @@ static void DoNetGame()
|
|||
POST_INITIALISE_MESSAGE;
|
||||
}
|
||||
|
||||
int CreateDatfileWindows(int bIncMegadrive)
|
||||
int CreateDatfileWindows(int bType)
|
||||
{
|
||||
TCHAR szTitle[1024];
|
||||
TCHAR szFilter[1024];
|
||||
|
||||
TCHAR szMegadriveString[25];
|
||||
_sntprintf(szMegadriveString, 25, _T(""));
|
||||
if (bIncMegadrive == 1) _sntprintf(szMegadriveString, 25, _T(", including Megadrive"));
|
||||
if (bIncMegadrive == 2) _sntprintf(szMegadriveString, 25, _T(", Megadrive only"));
|
||||
TCHAR szConsoleString[64];
|
||||
_sntprintf(szConsoleString, 64, _T(""));
|
||||
if (bType == DAT_MEGADRIVE_ONLY) _sntprintf(szConsoleString, 64, _T(", Megadrive only"));
|
||||
if (bType == DAT_PCENGINE_ONLY) _sntprintf(szConsoleString, 64, _T(", PC-Engine only"));
|
||||
if (bType == DAT_TG16_ONLY) _sntprintf(szConsoleString, 64, _T(", TurboGrafx16 only"));
|
||||
if (bType == DAT_SGX_ONLY) _sntprintf(szConsoleString, 64, _T(", SuprGfrax only"));
|
||||
|
||||
TCHAR szProgramString[25];
|
||||
_sntprintf(szProgramString, 25, _T("ClrMame Pro XML"));
|
||||
|
||||
_sntprintf(szChoice, MAX_PATH, _T(APP_TITLE) _T(" v%.20s (%s%s).dat"), szAppBurnVer, szProgramString, szMegadriveString);
|
||||
_sntprintf(szChoice, MAX_PATH, _T(APP_TITLE) _T(" v%.20s (%s%s).dat"), szAppBurnVer, szProgramString, szConsoleString);
|
||||
_sntprintf(szTitle, 256, FBALoadStringEx(hAppInst, IDS_DAT_GENERATE, true), szProgramString);
|
||||
|
||||
_stprintf(szFilter, FBALoadStringEx(hAppInst, IDS_DISK_ALL_DAT, true), _T(APP_TITLE));
|
||||
|
@ -316,7 +318,7 @@ int CreateDatfileWindows(int bIncMegadrive)
|
|||
if (GetSaveFileName(&ofn) == 0)
|
||||
return -1;
|
||||
|
||||
return create_datfile(szChoice, bIncMegadrive);
|
||||
return create_datfile(szChoice, bType);
|
||||
}
|
||||
|
||||
// Returns true if a VidInit is needed when the window is resized
|
||||
|
@ -1878,13 +1880,31 @@ static void OnCommand(HWND /*hDlg*/, int id, HWND /*hwndCtl*/, UINT codeNotify)
|
|||
|
||||
case MENU_CLRMAME_PRO_XML:
|
||||
if (UseDialogs()) {
|
||||
CreateDatfileWindows(0);
|
||||
CreateDatfileWindows(DAT_ARCADE_ONLY);
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_CLRMAME_PRO_XML_MD_ONLY:
|
||||
if (UseDialogs()) {
|
||||
CreateDatfileWindows(2);
|
||||
CreateDatfileWindows(DAT_MEGADRIVE_ONLY);
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_CLRMAME_PRO_XML_PCE_ONLY:
|
||||
if (UseDialogs()) {
|
||||
CreateDatfileWindows(DAT_PCENGINE_ONLY);
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_CLRMAME_PRO_XML_TG16_ONLY:
|
||||
if (UseDialogs()) {
|
||||
CreateDatfileWindows(DAT_TG16_ONLY);
|
||||
}
|
||||
break;
|
||||
|
||||
case MENU_CLRMAME_PRO_XML_SGX_ONLY:
|
||||
if (UseDialogs()) {
|
||||
CreateDatfileWindows(DAT_SGX_ONLY);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in New Issue