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

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Thu Oct 16 19:18:16 CEST 2008


Revision: 34812
          http://scummvm.svn.sourceforge.net/scummvm/?rev=34812&view=rev
Author:   fingolfin
Date:     2008-10-16 17:18:15 +0000 (Thu, 16 Oct 2008)

Log Message:
-----------
OSYSTEM: Pushed out some port specific code from common/system.cpp to the respective ports

Modified Paths:
--------------
    scummvm/trunk/backends/platform/PalmOS/Src/be_base.cpp
    scummvm/trunk/backends/platform/PalmOS/Src/be_base.h
    scummvm/trunk/backends/platform/iphone/osys_iphone.cpp
    scummvm/trunk/backends/platform/iphone/osys_iphone.h
    scummvm/trunk/backends/platform/ps2/systemps2.cpp
    scummvm/trunk/backends/platform/ps2/systemps2.h
    scummvm/trunk/backends/platform/psp/osys_psp.cpp
    scummvm/trunk/backends/platform/psp/osys_psp.h
    scummvm/trunk/common/system.cpp

Modified: scummvm/trunk/backends/platform/PalmOS/Src/be_base.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/be_base.cpp	2008-10-16 13:21:11 UTC (rev 34811)
+++ scummvm/trunk/backends/platform/PalmOS/Src/be_base.cpp	2008-10-16 17:18:15 UTC (rev 34812)
@@ -171,10 +171,22 @@
 	return _saveMgr;
 }
 
-Audio::Mixer * OSystem_PalmBase::getMixer() {
+Audio::Mixer *OSystem_PalmBase::getMixer() {
 	return _mixerMgr;
 }
 
-Common::TimerManager * OSystem_PalmBase::getTimerManager() {
+Common::TimerManager *OSystem_PalmBase::getTimerManager() {
 	return _timerMgr;
 }
+
+#define PALMOS_CONFIG_FILE "/PALM/Programs/ScummVM/scummvm.ini"
+
+Common::SeekableReadStream *OSystem_PalmBase::openConfigFileForReading() {
+	Common::FSNode file(PALMOS_CONFIG_FILE);
+	return file.openForReading();
+}
+
+Common::WriteStream *OSystem_PalmBase::openConfigFileForWriting() {
+	Common::FSNode file(PALMOS_CONFIG_FILE);
+	return file.openForWriting();
+}

Modified: scummvm/trunk/backends/platform/PalmOS/Src/be_base.h
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/be_base.h	2008-10-16 13:21:11 UTC (rev 34811)
+++ scummvm/trunk/backends/platform/PalmOS/Src/be_base.h	2008-10-16 17:18:15 UTC (rev 34812)
@@ -257,6 +257,9 @@
 
 	Common::SaveFileManager *getSavefileManager();
 	Common::TimerManager *getTimerManager();
+
+	virtual Common::SeekableReadStream *openConfigFileForReading();
+	virtual Common::WriteStream *openConfigFileForWriting();
 };
 
 #endif

Modified: scummvm/trunk/backends/platform/iphone/osys_iphone.cpp
===================================================================
--- scummvm/trunk/backends/platform/iphone/osys_iphone.cpp	2008-10-16 13:21:11 UTC (rev 34811)
+++ scummvm/trunk/backends/platform/iphone/osys_iphone.cpp	2008-10-16 17:18:15 UTC (rev 34812)
@@ -1312,10 +1312,16 @@
 	return new OSystem_IPHONE();
 }
 
-const char* OSystem_IPHONE::getConfigPath() {
-	return SCUMMVM_PREFS_PATH;
+Common::SeekableReadStream *OSystem_IPHONE::openConfigFileForReading() {
+	Common::FSNode file(SCUMMVM_PREFS_PATH);
+	return file.openForReading();
 }
 
+Common::WriteStream *OSystem_IPHONE::openConfigFileForWriting() {
+	Common::FSNode file(SCUMMVM_PREFS_PATH);
+	return file.openForWriting();
+}
+
 void iphone_main(int argc, char *argv[]) {
 
 	//OSystem_IPHONE::migrateApp();

Modified: scummvm/trunk/backends/platform/iphone/osys_iphone.h
===================================================================
--- scummvm/trunk/backends/platform/iphone/osys_iphone.h	2008-10-16 13:21:11 UTC (rev 34811)
+++ scummvm/trunk/backends/platform/iphone/osys_iphone.h	2008-10-16 17:18:15 UTC (rev 34812)
@@ -177,7 +177,8 @@
 	void startSoundsystem();
 	void stopSoundsystem();
 
-	static const char* getConfigPath();
+	virtual Common::SeekableReadStream *openConfigFileForReading();
+	virtual Common::WriteStream *openConfigFileForWriting();
 
 protected:
 	inline void addDirtyRect(int16 x1, int16 y1, int16 w, int16 h);

Modified: scummvm/trunk/backends/platform/ps2/systemps2.cpp
===================================================================
--- scummvm/trunk/backends/platform/ps2/systemps2.cpp	2008-10-16 13:21:11 UTC (rev 34811)
+++ scummvm/trunk/backends/platform/ps2/systemps2.cpp	2008-10-16 17:18:15 UTC (rev 34812)
@@ -770,6 +770,7 @@
 }
 
 void OSystem_PS2::makeConfigPath(char *dest) {
+	// FIXME: Maybe merge this method into openConfigFileForReading/openConfigFileForWriting ?
 	FILE *handle;
 	strcpy(dest, "cdfs:/ScummVM.ini");
 	handle = ps2_fopen(dest, "r");
@@ -783,6 +784,20 @@
 		strcpy(dest, "mc0:ScummVM/scummvm.ini");
 }
 
+Common::SeekableReadStream *OSystem_PS2::openConfigFileForReading() {
+	char configFile[MAXPATHLEN];
+	makeConfigPath(configFile);
+	Common::FSNode file(configFile);
+	return file.openForReading();
+}
+
+Common::WriteStream *OSystem_PS2::openConfigFileForWriting() {
+	char configFile[MAXPATHLEN];
+	makeConfigPath(configFile);
+	Common::FSNode file(configFile);
+	return file.openForWriting();
+}
+
 bool OSystem_PS2::runningFromHost(void) {
 	return (_bootDevice == HOST);
 }

Modified: scummvm/trunk/backends/platform/ps2/systemps2.h
===================================================================
--- scummvm/trunk/backends/platform/ps2/systemps2.h	2008-10-16 13:21:11 UTC (rev 34811)
+++ scummvm/trunk/backends/platform/ps2/systemps2.h	2008-10-16 17:18:15 UTC (rev 34812)
@@ -107,6 +107,9 @@
 
 	virtual void quit();
 
+	virtual Common::SeekableReadStream *openConfigFileForReading();
+	virtual Common::WriteStream *openConfigFileForWriting();
+
 	virtual OverlayColor RGBToColor(uint8 r, uint8 g, uint8 b);
 
 	virtual void colorToRGB(OverlayColor color, uint8 &r, uint8 &g, uint8 &b);

Modified: scummvm/trunk/backends/platform/psp/osys_psp.cpp
===================================================================
--- scummvm/trunk/backends/platform/psp/osys_psp.cpp	2008-10-16 13:21:11 UTC (rev 34811)
+++ scummvm/trunk/backends/platform/psp/osys_psp.cpp	2008-10-16 17:18:15 UTC (rev 34812)
@@ -677,3 +677,14 @@
 void OSystem_PSP::displayMessageOnOSD(const char *msg) {
 }
 
+#define PSP_CONFIG_FILE "ms0:/scummvm.ini"
+
+Common::SeekableReadStream *OSystem_PSP::openConfigFileForReading() {
+	Common::FSNode file(PSP_CONFIG_FILE);
+	return file.openForReading();
+}
+
+Common::WriteStream *OSystem_PSP::openConfigFileForWriting() {
+	Common::FSNode file(PSP_CONFIG_FILE);
+	return file.openForWriting();
+}

Modified: scummvm/trunk/backends/platform/psp/osys_psp.h
===================================================================
--- scummvm/trunk/backends/platform/psp/osys_psp.h	2008-10-16 13:21:11 UTC (rev 34811)
+++ scummvm/trunk/backends/platform/psp/osys_psp.h	2008-10-16 17:18:15 UTC (rev 34812)
@@ -145,5 +145,7 @@
 
 	virtual void displayMessageOnOSD(const char *msg);
 
+	virtual Common::SeekableReadStream *openConfigFileForReading();
+	virtual Common::WriteStream *openConfigFileForWriting();
 };
 

Modified: scummvm/trunk/common/system.cpp
===================================================================
--- scummvm/trunk/common/system.cpp	2008-10-16 13:21:11 UTC (rev 34811)
+++ scummvm/trunk/common/system.cpp	2008-10-16 17:18:15 UTC (rev 34812)
@@ -122,48 +122,19 @@
 
 
 /*
-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.
+ FIXME: Maybe we should push the default config file loading/saving code below
+ out to all the backends?
 */
 
 
-#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() {
-	Common::FSNode file(getDefaultConfigFileName());
+	Common::FSNode file(DEFAULT_CONFIG_FILE);
 	return file.openForReading();
 }
 
@@ -171,7 +142,7 @@
 #ifdef __DC__
 	return 0;
 #else
-	Common::FSNode file(getDefaultConfigFileName());
+	Common::FSNode file(DEFAULT_CONFIG_FILE);
 	return file.openForWriting();
 #endif
 }


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