diff options
Diffstat (limited to 'common/system.cpp')
| -rw-r--r-- | common/system.cpp | 60 | 
1 files changed, 57 insertions, 3 deletions
| diff --git a/common/system.cpp b/common/system.cpp index 8d528258f4..d0548cdd2d 100644 --- a/common/system.cpp +++ b/common/system.cpp @@ -28,12 +28,9 @@  #include "common/config-manager.h"  #include "common/system.h" -#include "common/timer.h" -#include "common/util.h"  #include "graphics/colormasks.h"  #include "gui/message.h" -#include "sound/mixer.h"  OSystem *g_system = 0; @@ -121,3 +118,60 @@ void OSystem::clearScreen() {  	memset(screen->pixels, 0, screen->h * screen->pitch);  	unlockScreen();  } + + +/* +FIXME: The config file loading code below needs to be cleaned up. + Port specific variants should be pushed into the respective ports. + + Ideally, the default OSystem::openConfigFileForReading/Writing methods + should be removed completely.  +*/ + +#include "common/file.h" + +#ifdef __PLAYSTATION2__ +#include "backends/platform/ps2/systemps2.h" +#endif + +#ifdef IPHONE +#include "backends/platform/iphone/osys_iphone.h" +#endif + + +#if defined(UNIX) +#define DEFAULT_CONFIG_FILE ".scummvmrc" +#else +#define DEFAULT_CONFIG_FILE "scummvm.ini" +#endif + +static Common::String getDefaultConfigFileName() { +	char configFile[MAXPATHLEN]; +#if defined(PALMOS_MODE) +	strcpy(configFile,"/PALM/Programs/ScummVM/" DEFAULT_CONFIG_FILE); +#elif defined(IPHONE) +	strcpy(configFile, OSystem_IPHONE::getConfigPath()); +#elif defined(__PLAYSTATION2__) +	((OSystem_PS2*)g_system)->makeConfigPath(configFile); +#elif defined(__PSP__) +	strcpy(configFile, "ms0:/" DEFAULT_CONFIG_FILE); +#else +	strcpy(configFile, DEFAULT_CONFIG_FILE); +#endif + +	return configFile; +} + +Common::SeekableReadStream *OSystem::openConfigFileForReading() { +	FilesystemNode file(getDefaultConfigFileName()); +	return file.openForReading(); +} + +Common::WriteStream *OSystem::openConfigFileForWriting() { +#ifdef __DC__ +	return 0; +#else +	FilesystemNode file(getDefaultConfigFileName()); +	return file.openForWriting(); +#endif +} | 
