[Scummvm-cvs-logs] SF.net SVN: scummvm:[33458] scummvm/trunk/common

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Wed Jul 30 18:06:49 CEST 2008


Revision: 33458
          http://scummvm.svn.sourceforge.net/scummvm/?rev=33458&view=rev
Author:   peres001
Date:     2008-07-30 16:06:46 +0000 (Wed, 30 Jul 2008)

Log Message:
-----------
Fixed Win32 build, after Fingolfin's commits (probably because of the revert in revision 33456).

Revision Links:
--------------
    http://scummvm.svn.sourceforge.net/scummvm/?rev=33456&view=rev

Modified Paths:
--------------
    scummvm/trunk/common/system.cpp
    scummvm/trunk/common/system.h

Modified: scummvm/trunk/common/system.cpp
===================================================================
--- scummvm/trunk/common/system.cpp	2008-07-30 15:48:16 UTC (rev 33457)
+++ scummvm/trunk/common/system.cpp	2008-07-30 16:06:46 UTC (rev 33458)
@@ -128,7 +128,7 @@
  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,7 +141,13 @@
 #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
 #define DEFAULT_CONFIG_FILE "Library/Preferences/ScummVM Preferences"
@@ -152,112 +158,16 @@
 #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
-}
-
-
 /*
 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 @@
 #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 @@
 	#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__)

Modified: scummvm/trunk/common/system.h
===================================================================
--- scummvm/trunk/common/system.h	2008-07-30 15:48:16 UTC (rev 33457)
+++ scummvm/trunk/common/system.h	2008-07-30 16:06:46 UTC (rev 33458)
@@ -44,6 +44,8 @@
 	class EventManager;
 	class SaveFileManager;
 	class TimerManager;
+	class SeekableReadStream;
+	class WriteStream;
 }
 
 class FilesystemFactory;
@@ -916,6 +918,10 @@
 		return "";
 	}
 	//@}
+
+
+	Common::SeekableReadStream *openConfigFileForReading();
+	Common::WriteStream *openConfigFileForWriting();
 };
 
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list