mednafen-conditional compile cd interfaces

This commit is contained in:
zeromus 2012-11-13 19:39:56 +00:00
parent 271acfb56e
commit 023b16ee9c
4 changed files with 33 additions and 39 deletions

View File

@ -1,22 +0,0 @@
//win32 msvc config
#pragma once
#define HAVE__MKDIR 1
#define LSB_FIRST
#define SIZEOF_DOUBLE 8
#define WANT_DEBUGGER 1
#define snprintf _snprintf
#define strcasecmp(x,y) _stricmp(x,y)
#define strncasecmp(x, y, l) strnicmp(x, y, l)
#define _(x) (x)
#define PSS "/"
#define round(x) (floorf((x) + 0.5f))
#define strdup _strdup
#define strtoull _strtoui64
#define strtoll _strtoi64
#define _USE_MATH_DEFINES
#define world_strtod strtod
#define WANT_PSX_EMU
#define MEDNAFEN_VERSION "0.999.999-WIP"
#define MEDNAFEN_VERSION_NUMERIC 0x999999

View File

@ -9,6 +9,11 @@
#define WANT_RESAMPLER #define WANT_RESAMPLER
#define WANT_PSF #define WANT_PSF
#define WANT_DEINTERLACER #define WANT_DEINTERLACER
//in libmednahawk, we compile all cores together
//in libretro, we'd want to compile them individually and choose the appropriate WANT_CD
#define WANT_CDIF
#endif #endif
#ifdef HEADLESS #ifdef HEADLESS

View File

@ -3,7 +3,7 @@
#define HAVE__MKDIR 1 #define HAVE__MKDIR 1
#define LSB_FIRST #define LSB_FIRST
#define SIZEOF_DOUBLE 8 #define SIZEOF_DOUBLE 8
#define WANT_DEBUGGER 1 #define WANT_DEBUGGER 0
#define snprintf _snprintf #define snprintf _snprintf
#define strcasecmp(x,y) _stricmp(x,y) #define strcasecmp(x,y) _stricmp(x,y)
#define strncasecmp(x, y, l) strnicmp(x, y, l) #define strncasecmp(x, y, l) strnicmp(x, y, l)

View File

@ -188,7 +188,9 @@ static Deinterlacer deint;
static std::vector<int16> SoundBufPristine; static std::vector<int16> SoundBufPristine;
#ifdef WANT_CDIF
static std::vector<CDIF *> CDInterfaces; // FIXME: Cleanup on error out. static std::vector<CDIF *> CDInterfaces; // FIXME: Cleanup on error out.
#endif
#ifdef WANT_AVDUMP #ifdef WANT_AVDUMP
bool MDFNI_StartWAVRecord(const char *path, double SoundRate) bool MDFNI_StartWAVRecord(const char *path, double SoundRate)
@ -302,9 +304,12 @@ void MDFNI_CloseGame(void)
MDFN_StateEvilEnd(); MDFN_StateEvilEnd();
#endif #endif
#ifdef WANT_CDIF
for(unsigned i = 0; i < CDInterfaces.size(); i++) for(unsigned i = 0; i < CDInterfaces.size(); i++)
delete CDInterfaces[i]; delete CDInterfaces[i];
CDInterfaces.clear(); CDInterfaces.clear();
#endif
} }
TBlur_Kill(); TBlur_Kill();
@ -711,6 +716,7 @@ MDFNGI *MDFNI_LoadGame(const char *force_module, const char *name)
struct stat stat_buf; struct stat stat_buf;
std::vector<FileExtensionSpecStruct> valid_iae; std::vector<FileExtensionSpecStruct> valid_iae;
#ifdef WANT_CDIF
if(strlen(name) > 4 && (!strcasecmp(name + strlen(name) - 4, ".cue") || !strcasecmp(name + strlen(name) - 4, ".toc") || !strcasecmp(name + strlen(name) - 4, ".m3u"))) if(strlen(name) > 4 && (!strcasecmp(name + strlen(name) - 4, ".cue") || !strcasecmp(name + strlen(name) - 4, ".toc") || !strcasecmp(name + strlen(name) - 4, ".m3u")))
{ {
return(MDFNI_LoadCD(force_module, name)); return(MDFNI_LoadCD(force_module, name));
@ -720,6 +726,7 @@ MDFNGI *MDFNI_LoadGame(const char *force_module, const char *name)
{ {
return(MDFNI_LoadCD(force_module, name)); return(MDFNI_LoadCD(force_module, name));
} }
#endif
MDFNI_CloseGame(); MDFNI_CloseGame();
@ -778,23 +785,25 @@ MDFNGI *MDFNI_LoadGame(const char *force_module, const char *name)
if(force_module) if(force_module)
{ {
if(!strcmp(force_module, (*it)->shortname)) if(!strcmp(force_module, (*it)->shortname))
{ {
if(!(*it)->Load) if(!(*it)->Load)
{ {
GameFile.Close(); GameFile.Close();
if((*it)->LoadCD) #ifdef WANT_CDIF
MDFN_PrintError(_("Specified system only supports CD(physical, or image files, such as *.cue and *.toc) loading.")); if((*it)->LoadCD)
else MDFN_PrintError(_("Specified system only supports CD(physical, or image files, such as *.cue and *.toc) loading."));
MDFN_PrintError(_("Specified system does not support normal file loading.")); else
MDFN_indent(-1); #endif
MDFNGameInfo = NULL; MDFN_PrintError(_("Specified system does not support normal file loading."));
return 0; MDFN_indent(-1);
} MDFNGameInfo = NULL;
MDFNGameInfo = *it; return 0;
break; }
} MDFNGameInfo = *it;
break;
}
} }
else else
{ {
@ -1109,7 +1118,9 @@ bool MDFNI_InitializeModules(const std::vector<MDFNGI *> &ExternalSystems)
MDFNSystemsPrio.sort(MDFNSystemsPrio_CompareFunc); MDFNSystemsPrio.sort(MDFNSystemsPrio_CompareFunc);
#ifdef WANT_CDIF
CDUtility::CDUtility_Init(); CDUtility::CDUtility_Init();
#endif
return(1); return(1);
} }