From 36311eefb44a43221665bf6d5d11a4d6fd9f330f Mon Sep 17 00:00:00 2001 From: Max Horn Date: Thu, 16 Oct 2008 17:18:15 +0000 Subject: OSYSTEM: Pushed out some port specific code from common/system.cpp to the respective ports svn-id: r34812 --- backends/platform/PalmOS/Src/be_base.cpp | 16 ++++++++++++++-- backends/platform/PalmOS/Src/be_base.h | 3 +++ backends/platform/iphone/osys_iphone.cpp | 10 ++++++++-- backends/platform/iphone/osys_iphone.h | 3 ++- backends/platform/ps2/systemps2.cpp | 15 +++++++++++++++ backends/platform/ps2/systemps2.h | 3 +++ backends/platform/psp/osys_psp.cpp | 11 +++++++++++ backends/platform/psp/osys_psp.h | 2 ++ 8 files changed, 58 insertions(+), 5 deletions(-) (limited to 'backends/platform') diff --git a/backends/platform/PalmOS/Src/be_base.cpp b/backends/platform/PalmOS/Src/be_base.cpp index 32e68bde9f..9e1fdf39d1 100644 --- a/backends/platform/PalmOS/Src/be_base.cpp +++ b/backends/platform/PalmOS/Src/be_base.cpp @@ -171,10 +171,22 @@ Common::SaveFileManager *OSystem_PalmBase::getSavefileManager() { 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(); +} diff --git a/backends/platform/PalmOS/Src/be_base.h b/backends/platform/PalmOS/Src/be_base.h index 582aae5d7a..8c08c0a2ff 100644 --- a/backends/platform/PalmOS/Src/be_base.h +++ b/backends/platform/PalmOS/Src/be_base.h @@ -257,6 +257,9 @@ public: Common::SaveFileManager *getSavefileManager(); Common::TimerManager *getTimerManager(); + + virtual Common::SeekableReadStream *openConfigFileForReading(); + virtual Common::WriteStream *openConfigFileForWriting(); }; #endif diff --git a/backends/platform/iphone/osys_iphone.cpp b/backends/platform/iphone/osys_iphone.cpp index 521e91a87e..6ca5a52928 100644 --- a/backends/platform/iphone/osys_iphone.cpp +++ b/backends/platform/iphone/osys_iphone.cpp @@ -1312,8 +1312,14 @@ OSystem *OSystem_IPHONE_create() { 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[]) { diff --git a/backends/platform/iphone/osys_iphone.h b/backends/platform/iphone/osys_iphone.h index a9a3ddad65..c743039860 100644 --- a/backends/platform/iphone/osys_iphone.h +++ b/backends/platform/iphone/osys_iphone.h @@ -177,7 +177,8 @@ public: 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); diff --git a/backends/platform/ps2/systemps2.cpp b/backends/platform/ps2/systemps2.cpp index d4dd9aedcf..85eb303e86 100644 --- a/backends/platform/ps2/systemps2.cpp +++ b/backends/platform/ps2/systemps2.cpp @@ -770,6 +770,7 @@ void OSystem_PS2::quit(void) { } 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 @@ void OSystem_PS2::makeConfigPath(char *dest) { 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); } diff --git a/backends/platform/ps2/systemps2.h b/backends/platform/ps2/systemps2.h index 08975ab2c8..9539baf4f5 100644 --- a/backends/platform/ps2/systemps2.h +++ b/backends/platform/ps2/systemps2.h @@ -107,6 +107,9 @@ public: 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); diff --git a/backends/platform/psp/osys_psp.cpp b/backends/platform/psp/osys_psp.cpp index 69be0abcb2..cf65ef13c9 100644 --- a/backends/platform/psp/osys_psp.cpp +++ b/backends/platform/psp/osys_psp.cpp @@ -677,3 +677,14 @@ void OSystem_PSP::setWindowCaption(const char *caption) { 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(); +} diff --git a/backends/platform/psp/osys_psp.h b/backends/platform/psp/osys_psp.h index dca6ccb036..e231a08d24 100644 --- a/backends/platform/psp/osys_psp.h +++ b/backends/platform/psp/osys_psp.h @@ -145,5 +145,7 @@ public: virtual void displayMessageOnOSD(const char *msg); + virtual Common::SeekableReadStream *openConfigFileForReading(); + virtual Common::WriteStream *openConfigFileForWriting(); }; -- cgit v1.2.3