diff options
| author | Nicola Mettifogo | 2008-07-30 16:06:46 +0000 | 
|---|---|---|
| committer | Nicola Mettifogo | 2008-07-30 16:06:46 +0000 | 
| commit | 55e4eb8d15e1cb9966963bdd5bf326db587e98fb (patch) | |
| tree | 6a856cb10c00b4bf375fea309b3ad434c570d9e6 | |
| parent | 9e4bc568619567d1e49a8928cec61c93a6b3d860 (diff) | |
| download | scummvm-rg350-55e4eb8d15e1cb9966963bdd5bf326db587e98fb.tar.gz scummvm-rg350-55e4eb8d15e1cb9966963bdd5bf326db587e98fb.tar.bz2 scummvm-rg350-55e4eb8d15e1cb9966963bdd5bf326db587e98fb.zip | |
Fixed Win32 build, after Fingolfin's commits (probably because of the revert in revision 33456).
svn-id: r33458
| -rw-r--r-- | common/system.cpp | 110 | ||||
| -rw-r--r-- | common/system.h | 6 | 
2 files changed, 16 insertions, 100 deletions
| diff --git a/common/system.cpp b/common/system.cpp index 200b1a3fc7..f959ec7ab0 100644 --- a/common/system.cpp +++ b/common/system.cpp @@ -128,7 +128,7 @@ 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.  + should be removed completely.  */  #include "common/file.h" @@ -141,6 +141,12 @@ FIXME: The config file loading code below needs to be cleaned up.  #include "backends/platform/iphone/osys_iphone.h"  #endif +#if defined(WIN32) +#include <windows.h> +// winnt.h defines ARRAYSIZE, but we want our own one... +#undef ARRAYSIZE +#endif +  #if defined(UNIX)  #ifdef MACOSX @@ -152,104 +158,8 @@ FIXME: The config file loading code below needs to be cleaned up.  #define DEFAULT_CONFIG_FILE "scummvm.ini"  #endif -static Common::String getDefaultConfigFileName() { -	char configFile[MAXPATHLEN]; - -#if defined (WIN32) && !defined(_WIN32_WCE) && !defined(__SYMBIAN32__) -	OSVERSIONINFO win32OsVersion; -	ZeroMemory(&win32OsVersion, sizeof(OSVERSIONINFO)); -	win32OsVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); -	GetVersionEx(&win32OsVersion); -	// Check for non-9X version of Windows. -	if (win32OsVersion.dwPlatformId != VER_PLATFORM_WIN32_WINDOWS) { -		// Use the Application Data directory of the user profile. -		if (win32OsVersion.dwMajorVersion >= 5) { -			if (!GetEnvironmentVariable("APPDATA", configFile, sizeof(configFile))) -				error("Unable to access application data directory"); -		} else { -			if (!GetEnvironmentVariable("USERPROFILE", configFile, sizeof(configFile))) -				error("Unable to access user profile directory"); - -			strcat(configFile, "\\Application Data"); -			CreateDirectory(configFile, NULL); -		} - -		strcat(configFile, "\\ScummVM"); -		CreateDirectory(configFile, NULL); -		strcat(configFile, "\\" DEFAULT_CONFIG_FILE); - -		if (fopen(configFile, "r") == NULL) { -			// Check windows directory -			char oldConfigFile[MAXPATHLEN]; -			GetWindowsDirectory(oldConfigFile, MAXPATHLEN); -			strcat(oldConfigFile, "\\" DEFAULT_CONFIG_FILE); -			if (fopen(oldConfigFile, "r")) { -				printf("The default location of the config file (scummvm.ini) in ScummVM has changed,\n"); -				printf("under Windows NT4/2000/XP/Vista. You may want to consider moving your config\n"); -				printf("file from the old default location:\n"); -				printf("%s\n", oldConfigFile); -				printf("to the new default location:\n"); -				printf("%s\n\n", configFile); -				strcpy(configFile, oldConfigFile); -			} -		} -	} else { -		// Check windows directory -		GetWindowsDirectory(configFile, MAXPATHLEN); -		strcat(configFile, "\\" DEFAULT_CONFIG_FILE); -	} - -#elif 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); -#elif defined (__SYMBIAN32__) -	strcpy(configFile, Symbian::GetExecutablePath()); -	strcat(configFile, DEFAULT_CONFIG_FILE); -#elif defined(UNIX) && !defined(GP2X) && !defined(IPHONE) -	// On UNIX type systems, by default we store the config file inside -	// to the HOME directory of the user. -	//	 -	// GP2X is Linux based but Home dir can be read only so do not use -	// it and put the config in the executable dir. -	// -	// On the iPhone, the home dir of the user when you launch the app -	// from the Springboard, is /. Which we don't want. -	const char *home = getenv("HOME"); -	if (home != NULL && strlen(home) < MAXPATHLEN) -		snprintf(configFile, MAXPATHLEN, "%s/%s", home, DEFAULT_CONFIG_FILE); -	else -		strcpy(configFile, DEFAULT_CONFIG_FILE); - -#else -	strcpy(configFile, DEFAULT_CONFIG_FILE); -#endif - -	return configFile; -} - -Common::SeekableReadStream *OSystem::openConfigFileForReading() { -	Common::File *confFile = new Common::File(); -	assert(confFile); -	confFile->open(getDefaultConfigFileName()); -	return confFile; -} -Common::WriteStream *OSystem::openConfigFileForWriting() { -#ifdef __DC__ -	return 0; -#else -	Common::DumpFile *confFile = new Common::DumpFile(); -	assert(confFile); -	confFile->open(getDefaultConfigFileName()); -	return confFile; -#endif -}  /* @@ -257,7 +167,7 @@ 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.  + should be removed completely.  */  #include "common/file.h" @@ -286,7 +196,7 @@ static Common::String getDefaultConfigFileName() {  #if defined(UNIX) && !defined(GP2X) && !defined(IPHONE)  	// On UNIX type systems, by default we store the config file inside  	// to the HOME directory of the user. -	//	 +	//  	// GP2X is Linux based but Home dir can be read only so do not use  	// it and put the config in the executable dir.  	// @@ -345,7 +255,7 @@ static Common::String getDefaultConfigFileName() {  	#elif defined(PALMOS_MODE)  		strcpy(configFile,"/PALM/Programs/ScummVM/" DEFAULT_CONFIG_FILE);  	#elif defined(IPHONE) -		strcpy(configFile, OSystem_IPHONE::getConfigPath());	 +		strcpy(configFile, OSystem_IPHONE::getConfigPath());  	#elif defined(__PLAYSTATION2__)  		((OSystem_PS2*)g_system)->makeConfigPath(configFile);  	#elif defined(__PSP__) diff --git a/common/system.h b/common/system.h index b895a5cfba..6e432a4e5c 100644 --- a/common/system.h +++ b/common/system.h @@ -44,6 +44,8 @@ namespace Common {  	class EventManager;  	class SaveFileManager;  	class TimerManager; +	class SeekableReadStream; +	class WriteStream;  }  class FilesystemFactory; @@ -916,6 +918,10 @@ public:  		return "";  	}  	//@} + + +	Common::SeekableReadStream *openConfigFileForReading(); +	Common::WriteStream *openConfigFileForWriting();  }; | 
