aboutsummaryrefslogtreecommitdiff
path: root/backends/platform
diff options
context:
space:
mode:
authorJohn Willis2009-04-16 11:19:44 +0000
committerJohn Willis2009-04-16 11:19:44 +0000
commit52fa15561a282d6ac7b1a6e34312482d40de6b67 (patch)
treec137855c759e3044fd22ff05cbe8969f408603f6 /backends/platform
parent08eb58aab8c3c368129107a47f64755abb85e704 (diff)
downloadscummvm-rg350-52fa15561a282d6ac7b1a6e34312482d40de6b67.tar.gz
scummvm-rg350-52fa15561a282d6ac7b1a6e34312482d40de6b67.tar.bz2
scummvm-rg350-52fa15561a282d6ac7b1a6e34312482d40de6b67.zip
Backout previous 'ooops' change (while shaking a stick at SVN and trying to convince people (badly) that is was not just simple user error ;-)).
svn-id: r39961
Diffstat (limited to 'backends/platform')
-rw-r--r--backends/platform/gp2x/build/README-GP2X10
-rw-r--r--backends/platform/gp2x/build/README-GP2X.html18
-rw-r--r--backends/platform/gp2x/gp2x-common.h15
-rw-r--r--backends/platform/gp2x/gp2x.cpp25
-rw-r--r--backends/platform/gp2x/graphics.cpp14
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
+&lsquo;expected&rsquo; 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;
+ }
}
}