diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/platform/gp2x/build/README-GP2X | 10 | ||||
-rw-r--r-- | backends/platform/gp2x/build/README-GP2X.html | 18 | ||||
-rw-r--r-- | backends/platform/gp2x/gp2x-common.h | 15 | ||||
-rw-r--r-- | backends/platform/gp2x/gp2x.cpp | 25 | ||||
-rw-r--r-- | backends/platform/gp2x/graphics.cpp | 14 |
5 files changed, 63 insertions, 19 deletions
diff --git a/backends/platform/gp2x/build/README-GP2X b/backends/platform/gp2x/build/README-GP2X index 48287cb53a..7e10fc484e 100644 --- a/backends/platform/gp2x/build/README-GP2X +++ b/backends/platform/gp2x/build/README-GP2X @@ -23,10 +23,20 @@ About the backend/port This is the readme for the offficial GP2X ScummVM backend (also known as the GP2X port). +This is an SVN test release of ScummVM for the GP2X, it would be +appreciated if this SVN test distribution was not mirrored and that +people be directed to http://www.distant-earth.com/scummvm instead for +updated SVN builds. + Full supported official releases of the GP2X ScummVM backend are made in line with main official releases and are avalalble from the ScummVM downloads page <http://www.scummvm.org/downloads.php>. +This build is in an active state of development and as such no +?expected? behavior can be guaranteed ;). + +SVN builds are quickly tested with firmware 2.0.0 for reference. + Please refer to the GP2X ScummVM forum <http://forums.scummvm.org/viewforum.php?f=14> and WiKi <http://wiki.scummvm.org/index.php/GP2X> for the latest information on diff --git a/backends/platform/gp2x/build/README-GP2X.html b/backends/platform/gp2x/build/README-GP2X.html index 5acbbb98d2..1b5f1a4173 100644 --- a/backends/platform/gp2x/build/README-GP2X.html +++ b/backends/platform/gp2x/build/README-GP2X.html @@ -62,9 +62,27 @@ as the GP2X port).<br> <br> +This is an SVN test release of ScummVM for the GP2X, it would be +appreciated +if this SVN test distribution was not mirrored and that people be +directed to <a href="http://www.distant-earth.com/scummvm">http://www.distant-earth.com/scummvm</a> +instead for updated SVN builds.<br> + +<br> + Full supported official releases of the GP2X ScummVM backend are made in line with main official releases and are avalalble from the <a href="http://www.scummvm.org/downloads.php">ScummVM downloads page</a>.<br> + +<br> + +This build is in an active state of development and as such no +‘expected’ behavior can be guaranteed ;).<br> + +<br> + +SVN builds are quickly tested with firmware 2.0.0 for reference.<br> + <br> Please refer to the <a href="http://forums.scummvm.org/viewforum.php?f=14">GP2X diff --git a/backends/platform/gp2x/gp2x-common.h b/backends/platform/gp2x/gp2x-common.h index 2b8f7c091e..7341b0646f 100644 --- a/backends/platform/gp2x/gp2x-common.h +++ b/backends/platform/gp2x/gp2x-common.h @@ -29,15 +29,13 @@ #include <SDL.h> #include <SDL_gp2x.h> -#include "common/scummsys.h" -#include "common/system.h" +#include "backends/base-backend.h" #include "graphics/scaler.h" #define __GP2X__ #define USE_OSD -/* #define DISABLE_SCALERS -#define MIXER_DOUBLE_BUFFERING 1 */ - +/* #define DISABLE_SCALERS */ +#define MIXER_DOUBLE_BUFFERING 1 namespace Audio { class MixerImpl; @@ -59,7 +57,7 @@ enum { }; -class OSystem_GP2X : public OSystem { +class OSystem_GP2X : public BaseBackend { public: OSystem_GP2X(); virtual ~OSystem_GP2X(); @@ -189,8 +187,8 @@ public: virtual FilesystemFactory *getFilesystemFactory(); virtual void addSysArchivesToSearchSet(Common::SearchSet &s, int priority = 0); - virtual Common::SeekableReadStream *openConfigFileForReading(); - virtual Common::WriteStream *openConfigFileForWriting(); + virtual Common::SeekableReadStream *createConfigReadStream(); + virtual Common::WriteStream *createConfigWriteStream(); protected: bool _inited; @@ -285,6 +283,7 @@ protected: enum { NUM_DIRTY_RECT = 100, + MAX_MOUSE_W = 80, MAX_MOUSE_H = 80, MAX_SCALING = 3 diff --git a/backends/platform/gp2x/gp2x.cpp b/backends/platform/gp2x/gp2x.cpp index 5aac6be768..039f72e02f 100644 --- a/backends/platform/gp2x/gp2x.cpp +++ b/backends/platform/gp2x/gp2x.cpp @@ -37,6 +37,7 @@ #include "common/events.h" #include "common/util.h" +#include "common/debug.h" #include "common/file.h" #include "base/main.h" @@ -376,6 +377,22 @@ void OSystem_GP2X::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) } #endif +#if defined(MACOSX) || defined(IPHONE) + // Get URL of the Resource directory of the .app bundle + CFURLRef fileUrl = CFBundleCopyResourcesDirectoryURL(CFBundleGetMainBundle()); + if (fileUrl) { + // Try to convert the URL to an absolute path + UInt8 buf[MAXPATHLEN]; + if (CFURLGetFileSystemRepresentation(fileUrl, true, buf, sizeof(buf))) { + // Success: Add it to the search path + Common::String bundlePath((const char *)buf); + s.add("__OSX_BUNDLE__", new Common::FSDirectory(bundlePath), priority); + } + CFRelease(fileUrl); + } + +#endif + } static Common::String getDefaultConfigFileName() { @@ -384,14 +401,14 @@ static Common::String getDefaultConfigFileName() { return configFile; } -Common::SeekableReadStream *OSystem_GP2X::openConfigFileForReading() { +Common::SeekableReadStream *OSystem_GP2X::createConfigReadStream() { Common::FSNode file(getDefaultConfigFileName()); - return file.openForReading(); + return file.createReadStream(); } -Common::WriteStream *OSystem_GP2X::openConfigFileForWriting() { +Common::WriteStream *OSystem_GP2X::createConfigWriteStream() { Common::FSNode file(getDefaultConfigFileName()); - return file.openForWriting(); + return file.createWriteStream(); } bool OSystem_GP2X::hasFeature(Feature f) { diff --git a/backends/platform/gp2x/graphics.cpp b/backends/platform/gp2x/graphics.cpp index 3f99e6dc16..775c3afb73 100644 --- a/backends/platform/gp2x/graphics.cpp +++ b/backends/platform/gp2x/graphics.cpp @@ -739,18 +739,18 @@ void OSystem_GP2X::setFullscreenMode(bool enable) { } void OSystem_GP2X::setAspectRatioCorrection(bool enable) { - if ((_videoMode.screenHeight == 200 && _videoMode.aspectRatio != enable) || _transactionMode == kTransactionActive) { + Common::StackLock lock(_graphicsMutex); - } - if (_oldVideoMode.setup && _oldVideoMode.aspectRatio == enable) - return; + if (_oldVideoMode.setup && _oldVideoMode.aspectRatio == enable) + return; - if (_transactionMode == kTransactionActive) { - _videoMode.aspectRatio = enable; - _transactionDetails.needHotswap = true; + if (_transactionMode == kTransactionActive) { + _videoMode.aspectRatio = enable; + _transactionDetails.needHotswap = true; + } } } |