aboutsummaryrefslogtreecommitdiff
path: root/backends/platform
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform')
-rw-r--r--backends/platform/android/android.cpp2
-rw-r--r--backends/platform/android/android.mk6
-rw-r--r--backends/platform/android/jni.cpp2
-rw-r--r--backends/platform/android/org/scummvm/scummvm/EditableSurfaceView.java (renamed from backends/platform/android/org/inodes/gus/scummvm/EditableSurfaceView.java)2
-rw-r--r--backends/platform/android/org/scummvm/scummvm/PluginProvider.java (renamed from backends/platform/android/org/inodes/gus/scummvm/PluginProvider.java)14
-rw-r--r--backends/platform/android/org/scummvm/scummvm/ScummVM.java (renamed from backends/platform/android/org/inodes/gus/scummvm/ScummVM.java)2
-rw-r--r--backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java (renamed from backends/platform/android/org/inodes/gus/scummvm/ScummVMActivity.java)16
-rw-r--r--backends/platform/android/org/scummvm/scummvm/ScummVMApplication.java (renamed from backends/platform/android/org/inodes/gus/scummvm/ScummVMApplication.java)7
-rw-r--r--backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java (renamed from backends/platform/android/org/inodes/gus/scummvm/ScummVMEvents.java)2
-rw-r--r--backends/platform/android/org/scummvm/scummvm/Unpacker.java (renamed from backends/platform/android/org/inodes/gus/scummvm/Unpacker.java)20
-rw-r--r--backends/platform/android/texture.cpp2
-rw-r--r--backends/platform/bada/README.TXT7
-rw-r--r--backends/platform/bada/application.cpp14
-rw-r--r--backends/platform/bada/audio.cpp4
-rw-r--r--backends/platform/bada/form.cpp108
-rw-r--r--backends/platform/bada/form.h8
-rw-r--r--backends/platform/bada/fs.cpp5
-rw-r--r--backends/platform/bada/graphics.cpp54
-rw-r--r--backends/platform/bada/graphics.h1
-rw-r--r--backends/platform/bada/portdefs.h1
-rw-r--r--backends/platform/bada/sscanf.cpp49
-rw-r--r--backends/platform/bada/system.cpp29
-rw-r--r--backends/platform/bada/system.h5
-rw-r--r--backends/platform/dc/dc-fs.cpp6
-rw-r--r--backends/platform/dc/portdefs.h1
-rw-r--r--backends/platform/ds/arm9/source/osystem_ds.cpp17
-rw-r--r--backends/platform/ds/arm9/source/osystem_ds.h2
-rw-r--r--backends/platform/ds/arm9/source/portdefs.h1
-rw-r--r--backends/platform/maemo/debian/changelog12
-rw-r--r--backends/platform/maemo/debian/control4
-rwxr-xr-xbackends/platform/maemo/debian/rules2
-rw-r--r--backends/platform/maemo/maemo-common.h56
-rw-r--r--backends/platform/maemo/maemo.cpp26
-rw-r--r--backends/platform/maemo/maemo.h16
-rw-r--r--backends/platform/maemo/main.cpp6
-rw-r--r--backends/platform/n64/portdefs.h1
-rw-r--r--backends/platform/openpandora/op-backend.cpp112
-rw-r--r--backends/platform/openpandora/op-main.cpp2
-rw-r--r--backends/platform/openpandora/op-options.cpp8
-rw-r--r--backends/platform/openpandora/op-options.h2
-rw-r--r--backends/platform/openpandora/op-sdl.h2
-rw-r--r--backends/platform/ps2/Gs2dScreen.cpp8
-rw-r--r--backends/platform/ps2/Gs2dScreen.h5
-rw-r--r--backends/platform/ps2/systemps2.cpp5
-rw-r--r--backends/platform/ps2/systemps2.h1
-rw-r--r--backends/platform/psp/README.PSP2
-rw-r--r--backends/platform/psp/portdefs.h1
-rw-r--r--backends/platform/symbian/README11
-rw-r--r--backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in6
-rw-r--r--backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in6
-rw-r--r--backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg5
-rw-r--r--backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg88
-rw-r--r--backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in6
-rw-r--r--backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in6
-rw-r--r--backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg6
-rw-r--r--backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg86
-rw-r--r--backends/platform/symbian/mmp/scummvm_agi.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_agos.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_base.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_cine.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_cruise.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_draci.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_drascula.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_gob.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_groovie.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_hugo.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_kyra.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_lure.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_m4.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_made.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_mohawk.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_parallaction.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_queen.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_saga.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_sci.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_scumm.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_sky.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_sword1.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_sword2.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_teenagent.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_tinsel.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_toon.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_touche.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_tsage.mmp.in2
-rw-r--r--backends/platform/symbian/mmp/scummvm_tucker.mmp.in2
-rw-r--r--backends/platform/symbian/src/portdefs.h6
-rw-r--r--backends/platform/webos/webos.mk21
-rw-r--r--backends/platform/wince/README-WinCE.txt30
-rw-r--r--backends/platform/wince/portdefs.h1
-rw-r--r--backends/platform/wince/wince-sdl.cpp44
-rw-r--r--backends/platform/wince/wince.mk4
92 files changed, 716 insertions, 328 deletions
diff --git a/backends/platform/android/android.cpp b/backends/platform/android/android.cpp
index a935bf145d..aba31320ea 100644
--- a/backends/platform/android/android.cpp
+++ b/backends/platform/android/android.cpp
@@ -174,6 +174,8 @@ OSystem_Android::~OSystem_Android() {
_mixer = 0;
delete _fsFactory;
_fsFactory = 0;
+ delete _timerManager;
+ _timerManager = 0;
deleteMutex(_event_queue_lock);
}
diff --git a/backends/platform/android/android.mk b/backends/platform/android/android.mk
index 63d194fdc1..2e8fd62152 100644
--- a/backends/platform/android/android.mk
+++ b/backends/platform/android/android.mk
@@ -63,7 +63,7 @@ PATH_BUILD_CLASSES_PLUGIN_TOP = $(PATH_BUILD)/classes.plugin
PATH_STAGE_PREFIX = build.stage
PATH_STAGE_MAIN = $(PATH_STAGE_PREFIX).main
-PATH_REL = org/inodes/gus/scummvm
+PATH_REL = org/scummvm/scummvm
PATH_SRC_TOP = $(srcdir)/backends/platform/android
PATH_SRC = $(PATH_SRC_TOP)/$(PATH_REL)
@@ -172,13 +172,13 @@ androidrelease: $(addprefix release/, $(APK_MAIN) $(APK_PLUGINS))
androidtestmain: $(APK_MAIN)
$(ADB) install -r $(APK_MAIN)
- $(ADB) shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n org.inodes.gus.scummvm/.Unpacker
+ $(ADB) shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n org.scummvm.scummvm/.Unpacker
androidtest: $(APK_MAIN) $(APK_PLUGINS)
@set -e; for apk in $^; do \
$(ADB) install -r $$apk; \
done
- $(ADB) shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n org.inodes.gus.scummvm/.Unpacker
+ $(ADB) shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n org.scummvm.scummvm/.Unpacker
# used by buildbot!
androiddistdebug: all
diff --git a/backends/platform/android/jni.cpp b/backends/platform/android/jni.cpp
index b44a585528..a7ebb87651 100644
--- a/backends/platform/android/jni.cpp
+++ b/backends/platform/android/jni.cpp
@@ -125,7 +125,7 @@ jint JNI::onLoad(JavaVM *vm) {
if (_vm->GetEnv((void **)&env, JNI_VERSION_1_2))
return JNI_ERR;
- jclass cls = env->FindClass("org/inodes/gus/scummvm/ScummVM");
+ jclass cls = env->FindClass("org/scummvm/scummvm/ScummVM");
if (cls == 0)
return JNI_ERR;
diff --git a/backends/platform/android/org/inodes/gus/scummvm/EditableSurfaceView.java b/backends/platform/android/org/scummvm/scummvm/EditableSurfaceView.java
index 3aef14b851..b593fc6abf 100644
--- a/backends/platform/android/org/inodes/gus/scummvm/EditableSurfaceView.java
+++ b/backends/platform/android/org/scummvm/scummvm/EditableSurfaceView.java
@@ -1,4 +1,4 @@
-package org.inodes.gus.scummvm;
+package org.scummvm.scummvm;
import android.content.Context;
import android.text.InputType;
diff --git a/backends/platform/android/org/inodes/gus/scummvm/PluginProvider.java b/backends/platform/android/org/scummvm/scummvm/PluginProvider.java
index d90b7b2c68..e27e8d41a8 100644
--- a/backends/platform/android/org/inodes/gus/scummvm/PluginProvider.java
+++ b/backends/platform/android/org/scummvm/scummvm/PluginProvider.java
@@ -1,10 +1,11 @@
-package org.inodes.gus.scummvm;
+package org.scummvm.scummvm;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
+import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
@@ -16,7 +17,7 @@ public class PluginProvider extends BroadcastReceiver {
private final static String LOG_TAG = "ScummVM";
public final static String META_UNPACK_LIB =
- "org.inodes.gus.scummvm.meta.UNPACK_LIB";
+ "org.scummvm.scummvm.meta.UNPACK_LIB";
public void onReceive(Context context, Intent intent) {
if (!intent.getAction().equals(ScummVMApplication.ACTION_PLUGIN_QUERY))
@@ -25,15 +26,24 @@ public class PluginProvider extends BroadcastReceiver {
Bundle extras = getResultExtras(true);
final ActivityInfo info;
+ final PackageInfo pinfo;
try {
info = context.getPackageManager()
.getReceiverInfo(new ComponentName(context, this.getClass()),
PackageManager.GET_META_DATA);
+ pinfo = context.getPackageManager()
+ .getPackageInfo(context.getPackageName(), 0);
} catch (PackageManager.NameNotFoundException e) {
Log.e(LOG_TAG, "Error finding my own info?", e);
return;
}
+ String host_version = extras.getString(ScummVMApplication.EXTRA_VERSION);
+ if (!pinfo.versionName.equals(host_version)) {
+ Log.e(LOG_TAG, "Plugin version " + pinfo.versionName + " is not equal to ScummVM version " + host_version);
+ return;
+ }
+
String mylib = info.metaData.getString(META_UNPACK_LIB);
if (mylib != null) {
ArrayList<String> all_libs =
diff --git a/backends/platform/android/org/inodes/gus/scummvm/ScummVM.java b/backends/platform/android/org/scummvm/scummvm/ScummVM.java
index 246a02c9be..3a25b54eeb 100644
--- a/backends/platform/android/org/inodes/gus/scummvm/ScummVM.java
+++ b/backends/platform/android/org/scummvm/scummvm/ScummVM.java
@@ -1,4 +1,4 @@
-package org.inodes.gus.scummvm;
+package org.scummvm.scummvm;
import android.util.Log;
import android.content.res.AssetManager;
diff --git a/backends/platform/android/org/inodes/gus/scummvm/ScummVMActivity.java b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
index ce4e016322..fbd6513761 100644
--- a/backends/platform/android/org/inodes/gus/scummvm/ScummVMActivity.java
+++ b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java
@@ -1,4 +1,4 @@
-package org.inodes.gus.scummvm;
+package org.scummvm.scummvm;
import android.app.Activity;
import android.app.AlertDialog;
@@ -14,6 +14,8 @@ import android.view.MotionEvent;
import android.view.inputmethod.InputMethodManager;
import android.widget.Toast;
+import java.io.File;
+
public class ScummVMActivity extends Activity {
private class MyScummVM extends ScummVM {
@@ -128,6 +130,16 @@ public class ScummVMActivity extends Activity {
getFilesDir().mkdirs();
+ // Store savegames on external storage if we can, which means they're
+ // world-readable and don't get deleted on uninstall.
+ String savePath = Environment.getExternalStorageDirectory() + "/ScummVM/Saves/";
+ File saveDir = new File(savePath);
+ saveDir.mkdirs();
+ if (!saveDir.isDirectory()) {
+ // If it doesn't work, resort to the internal app path.
+ savePath = getDir("saves", MODE_WORLD_READABLE).getPath();
+ }
+
// Start ScummVM
_scummvm = new MyScummVM(main_surface.getHolder());
@@ -136,7 +148,7 @@ public class ScummVMActivity extends Activity {
"--config=" + getFileStreamPath("scummvmrc").getPath(),
"--path=" + Environment.getExternalStorageDirectory().getPath(),
"--gui-theme=scummmodern",
- "--savepath=" + getDir("saves", 0).getPath()
+ "--savepath=" + savePath
});
_events = new ScummVMEvents(this, _scummvm);
diff --git a/backends/platform/android/org/inodes/gus/scummvm/ScummVMApplication.java b/backends/platform/android/org/scummvm/scummvm/ScummVMApplication.java
index 8ab7d1a084..0adc166222 100644
--- a/backends/platform/android/org/inodes/gus/scummvm/ScummVMApplication.java
+++ b/backends/platform/android/org/scummvm/scummvm/ScummVMApplication.java
@@ -1,12 +1,13 @@
-package org.inodes.gus.scummvm;
+package org.scummvm.scummvm;
import android.app.Application;
import java.io.File;
public class ScummVMApplication extends Application {
- public final static String ACTION_PLUGIN_QUERY = "org.inodes.gus.scummvm.action.PLUGIN_QUERY";
- public final static String EXTRA_UNPACK_LIBS = "org.inodes.gus.scummvm.extra.UNPACK_LIBS";
+ public final static String ACTION_PLUGIN_QUERY = "org.scummvm.scummvm.action.PLUGIN_QUERY";
+ public final static String EXTRA_UNPACK_LIBS = "org.scummvm.scummvm.extra.UNPACK_LIBS";
+ public final static String EXTRA_VERSION = "org.scummvm.scummvm.extra.VERSION";
private static File _cache_dir;
diff --git a/backends/platform/android/org/inodes/gus/scummvm/ScummVMEvents.java b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java
index 175ff0b677..86227b9352 100644
--- a/backends/platform/android/org/inodes/gus/scummvm/ScummVMEvents.java
+++ b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java
@@ -1,4 +1,4 @@
-package org.inodes.gus.scummvm;
+package org.scummvm.scummvm;
import android.os.Handler;
import android.os.Message;
diff --git a/backends/platform/android/org/inodes/gus/scummvm/Unpacker.java b/backends/platform/android/org/scummvm/scummvm/Unpacker.java
index 8811b1f3ae..da76ceb5e5 100644
--- a/backends/platform/android/org/inodes/gus/scummvm/Unpacker.java
+++ b/backends/platform/android/org/scummvm/scummvm/Unpacker.java
@@ -1,4 +1,4 @@
-package org.inodes.gus.scummvm;
+package org.scummvm.scummvm;
import android.app.Activity;
import android.app.AlertDialog;
@@ -10,6 +10,7 @@ import android.content.ContextWrapper;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ActivityInfo;
+import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
@@ -38,12 +39,15 @@ public class Unpacker extends Activity {
// TODO don't hardcode this
private final static boolean PLUGINS_ENABLED = false;
private final static String META_NEXT_ACTIVITY =
- "org.inodes.gus.unpacker.nextActivity";
+ "org.scummvm.unpacker.nextActivity";
private ProgressBar mProgress;
private File mUnpackDest; // location to unpack into
private AsyncTask<String, Integer, Void> mUnpacker;
private final static int REQUEST_MARKET = 1;
+ // Android 3.1+ only
+ public static final int FLAG_INCLUDE_STOPPED_PACKAGES = 32;
+
private static class UnpackJob {
public ZipFile zipfile;
public Set<String> paths;
@@ -272,7 +276,19 @@ public class Unpacker extends Activity {
extras.putStringArrayList(ScummVMApplication.EXTRA_UNPACK_LIBS,
unpack_libs);
+ final PackageInfo info;
+ try {
+ info = getPackageManager().getPackageInfo(getPackageName(), 0);
+ } catch (PackageManager.NameNotFoundException e) {
+ Log.e(LOG_TAG, "Error finding my own info?", e);
+ return;
+ }
+ extras.putString(ScummVMApplication.EXTRA_VERSION, info.versionName);
+
Intent intent = new Intent(ScummVMApplication.ACTION_PLUGIN_QUERY);
+ // Android 3.1 defaults to FLAG_EXCLUDE_STOPPED_PACKAGES, and since
+ // none of our plugins will ever be running, that is not helpful
+ intent.setFlags(FLAG_INCLUDE_STOPPED_PACKAGES);
sendOrderedBroadcast(intent, Manifest.permission.SCUMMVM_PLUGIN,
new PluginBroadcastReciever(),
null, RESULT_OK, null, extras);
diff --git a/backends/platform/android/texture.cpp b/backends/platform/android/texture.cpp
index 53b4d1cc59..e211e5941f 100644
--- a/backends/platform/android/texture.cpp
+++ b/backends/platform/android/texture.cpp
@@ -287,7 +287,7 @@ void GLESTexture::fillBuffer(uint32 color) {
((color & 0xff) == ((color >> 8) & 0xff)))
memset(_pixels, color & 0xff, _surface.pitch * _surface.h);
else
- Common::set_to(_pixels, _pixels + _surface.pitch * _surface.h,
+ Common::fill(_pixels, _pixels + _surface.pitch * _surface.h,
(uint16)color);
setDirty();
diff --git a/backends/platform/bada/README.TXT b/backends/platform/bada/README.TXT
index ca6f8f245a..c4a04d5450 100644
--- a/backends/platform/bada/README.TXT
+++ b/backends/platform/bada/README.TXT
@@ -83,3 +83,10 @@ Links:
A short turorial on implementing OpenGL ES 1.1 in BADA:
http://forums.badadev.com/viewtopic.php?f=7&t=208
+HelvB14 font files:
+ http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html
+ http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts-75dpi100dpi.tar.gz
+
+ Then run the following command:
+ $ ./ucs2any.pl 100dpi/helvB14.bdf MAPPINGS/8859-1.TXT iso8859-1 \
+ MAPPINGS/8859-2.TXT iso8859-2 MAPPINGS/8859-3.TXT iso8859-3
diff --git a/backends/platform/bada/application.cpp b/backends/platform/bada/application.cpp
index a287fa6352..bf585d2782 100644
--- a/backends/platform/bada/application.cpp
+++ b/backends/platform/bada/application.cpp
@@ -99,11 +99,13 @@ void BadaScummVM::OnLowMemory(void) {
}
void BadaScummVM::pauseGame(bool pause) {
- if (pause && _appForm && g_engine && !g_engine->isPaused()) {
- _appForm->pushKey(Common::KEYCODE_SPACE);
- }
-
- if (g_system) {
- ((BadaSystem *)g_system)->setMute(pause);
+ if (_appForm) {
+ if (pause && g_engine && !g_engine->isPaused()) {
+ _appForm->pushKey(Common::KEYCODE_SPACE);
+ }
+
+ if (g_system) {
+ ((BadaSystem *)g_system)->setMute(pause);
+ }
}
}
diff --git a/backends/platform/bada/audio.cpp b/backends/platform/bada/audio.cpp
index cfa6418e08..b868e91357 100644
--- a/backends/platform/bada/audio.cpp
+++ b/backends/platform/bada/audio.cpp
@@ -74,7 +74,7 @@ bool AudioThread::isSilentMode() {
}
void AudioThread::setMute(bool on) {
- if (_audioOut && !isSilentMode()) {
+ if (_audioOut && _timer) {
_muted = on;
if (on) {
_timer->Cancel();
@@ -88,7 +88,7 @@ int AudioThread::setVolume(bool up, bool minMax) {
int level = -1;
int numLevels = sizeof(levels) / sizeof(levels[0]);
- if (_audioOut && !isSilentMode()) {
+ if (_audioOut) {
int volume = _audioOut->GetVolume();
if (minMax) {
level = up ? numLevels - 1 : 0;
diff --git a/backends/platform/bada/form.cpp b/backends/platform/bada/form.cpp
index 6163053c96..dfa72bce08 100644
--- a/backends/platform/bada/form.cpp
+++ b/backends/platform/bada/form.cpp
@@ -49,9 +49,9 @@ using namespace Osp::Ui::Controls;
//
BadaAppForm::BadaAppForm() :
_gameThread(0),
- _state(InitState),
- _buttonState(LeftButton),
- _shortcut(SetVolume) {
+ _state(kInitState),
+ _buttonState(kLeftButton),
+ _shortcut(kSetVolume) {
_eventQueueLock = new Mutex();
_eventQueueLock->Create();
}
@@ -99,11 +99,11 @@ result BadaAppForm::Construct() {
BadaAppForm::~BadaAppForm() {
logEntered();
- if (_gameThread && _state != ErrorState) {
+ if (_gameThread && _state != kErrorState) {
terminate();
_gameThread->Stop();
- if (_state != ErrorState) {
+ if (_state != kErrorState) {
_gameThread->Join();
}
@@ -123,7 +123,7 @@ BadaAppForm::~BadaAppForm() {
// abort the game thread
//
void BadaAppForm::terminate() {
- if (_state == ActiveState) {
+ if (_state == kActiveState) {
((BadaSystem *)g_system)->setMute(true);
_eventQueueLock->Acquire();
@@ -131,25 +131,25 @@ void BadaAppForm::terminate() {
Common::Event e;
e.type = Common::EVENT_QUIT;
_eventQueue.push(e);
- _state = ClosingState;
+ _state = kClosingState;
_eventQueueLock->Release();
// block while thread ends
AppLog("waiting for shutdown");
- for (int i = 0; i < EXIT_SLEEP_STEP && _state == ClosingState; i++) {
+ for (int i = 0; i < EXIT_SLEEP_STEP && _state == kClosingState; i++) {
Thread::Sleep(EXIT_SLEEP);
}
- if (_state == ClosingState) {
+ if (_state == kClosingState) {
// failed to terminate - Join() will freeze
- _state = ErrorState;
+ _state = kErrorState;
}
}
}
void BadaAppForm::exitSystem() {
- _state = ErrorState;
+ _state = kErrorState;
if (_gameThread) {
_gameThread->Stop();
@@ -200,8 +200,7 @@ bool BadaAppForm::pollEvent(Common::Event &event) {
return result;
}
-void BadaAppForm::pushEvent(Common::EventType type,
- const Point &currentPosition) {
+void BadaAppForm::pushEvent(Common::EventType type, const Point &currentPosition) {
BadaSystem *system = (BadaSystem *)g_system;
BadaGraphicsManager *graphics = system->getGraphics();
if (graphics) {
@@ -248,8 +247,8 @@ void BadaAppForm::pushKey(Common::KeyCode keycode) {
void BadaAppForm::OnOrientationChanged(const Control &source,
OrientationStatus orientationStatus) {
logEntered();
- if (_state == InitState) {
- _state = ActiveState;
+ if (_state == kInitState) {
+ _state = kActiveState;
_gameThread->Start();
}
}
@@ -257,30 +256,30 @@ void BadaAppForm::OnOrientationChanged(const Control &source,
Object *BadaAppForm::Run(void) {
scummvm_main(0, 0);
- if (_state == ActiveState) {
+ if (_state == kActiveState) {
Application::GetInstance()->SendUserEvent(USER_MESSAGE_EXIT, NULL);
}
- _state = DoneState;
+ _state = kDoneState;
return NULL;
}
void BadaAppForm::setButtonShortcut() {
switch (_buttonState) {
- case LeftButton:
+ case kLeftButton:
g_system->displayMessageOnOSD(_("Right Click Once"));
- _buttonState = RightButtonOnce;
+ _buttonState = kRightButtonOnce;
break;
- case RightButtonOnce:
+ case kRightButtonOnce:
g_system->displayMessageOnOSD(_("Right Click"));
- _buttonState = RightButton;
+ _buttonState = kRightButton;
break;
- case RightButton:
+ case kRightButton:
g_system->displayMessageOnOSD(_("Move Only"));
- _buttonState = MoveOnly;
+ _buttonState = kMoveOnly;
break;
- case MoveOnly:
+ case kMoveOnly:
g_system->displayMessageOnOSD(_("Left Click"));
- _buttonState = LeftButton;
+ _buttonState = kLeftButton;
break;
}
}
@@ -288,27 +287,27 @@ void BadaAppForm::setButtonShortcut() {
void BadaAppForm::setShortcut() {
// cycle to the next shortcut
switch (_shortcut) {
- case ControlMouse:
+ case kControlMouse:
g_system->displayMessageOnOSD(_("Escape Key"));
- _shortcut = EscapeKey;
+ _shortcut = kEscapeKey;
break;
- case EscapeKey:
+ case kEscapeKey:
g_system->displayMessageOnOSD(_("Game Menu"));
- _shortcut = GameMenu;
+ _shortcut = kGameMenu;
break;
- case GameMenu:
+ case kGameMenu:
g_system->displayMessageOnOSD(_("Show Keypad"));
- _shortcut = ShowKeypad;
+ _shortcut = kShowKeypad;
break;
- case SetVolume:
+ case kSetVolume:
// fallthru
- case ShowKeypad:
+ case kShowKeypad:
g_system->displayMessageOnOSD(_("Control Mouse"));
- _shortcut = ControlMouse;
+ _shortcut = kControlMouse;
break;
}
}
@@ -330,17 +329,17 @@ void BadaAppForm::setVolume(bool up, bool minMax) {
void BadaAppForm::showKeypad() {
// display the soft keyboard
- _buttonState = LeftButton;
+ _buttonState = kLeftButton;
pushKey(Common::KEYCODE_F7);
}
void BadaAppForm::OnTouchDoublePressed(const Control &source,
const Point &currentPosition,
const TouchEventInfo &touchInfo) {
- if (_buttonState != MoveOnly) {
- pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
+ if (_buttonState != kMoveOnly) {
+ pushEvent(_buttonState == kLeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
currentPosition);
- pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
+ pushEvent(_buttonState == kLeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
currentPosition);
}
}
@@ -358,7 +357,7 @@ void BadaAppForm::OnTouchFocusOut(const Control &source,
void BadaAppForm::OnTouchLongPressed(const Control &source,
const Point &currentPosition,
const TouchEventInfo &touchInfo) {
- if (_buttonState != LeftButton) {
+ if (_buttonState != kLeftButton) {
pushKey(Common::KEYCODE_RETURN);
}
}
@@ -372,8 +371,8 @@ void BadaAppForm::OnTouchMoved(const Control &source,
void BadaAppForm::OnTouchPressed(const Control &source,
const Point &currentPosition,
const TouchEventInfo &touchInfo) {
- if (_buttonState != MoveOnly) {
- pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
+ if (_buttonState != kMoveOnly) {
+ pushEvent(_buttonState == kLeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
currentPosition);
}
}
@@ -381,11 +380,11 @@ void BadaAppForm::OnTouchPressed(const Control &source,
void BadaAppForm::OnTouchReleased(const Control &source,
const Point &currentPosition,
const TouchEventInfo &touchInfo) {
- if (_buttonState != MoveOnly) {
- pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONUP : Common::EVENT_RBUTTONUP,
+ if (_buttonState != kMoveOnly) {
+ pushEvent(_buttonState == kLeftButton ? Common::EVENT_LBUTTONUP : Common::EVENT_RBUTTONUP,
currentPosition);
- if (_buttonState == RightButtonOnce) {
- _buttonState = LeftButton;
+ if (_buttonState == kRightButtonOnce) {
+ _buttonState = kLeftButton;
}
// flick to skip dialog
if (touchInfo.IsFlicked()) {
@@ -398,17 +397,17 @@ void BadaAppForm::OnKeyLongPressed(const Control &source, KeyCode keyCode) {
logEntered();
switch (keyCode) {
case KEY_SIDE_UP:
- _shortcut = SetVolume;
+ _shortcut = kSetVolume;
setVolume(true, true);
return;
case KEY_SIDE_DOWN:
- _shortcut = SetVolume;
+ _shortcut = kSetVolume;
setVolume(false, true);
return;
case KEY_CAMERA:
- _shortcut = ShowKeypad;
+ _shortcut = kShowKeypad;
showKeypad();
return;
@@ -420,8 +419,8 @@ void BadaAppForm::OnKeyLongPressed(const Control &source, KeyCode keyCode) {
void BadaAppForm::OnKeyPressed(const Control &source, KeyCode keyCode) {
switch (keyCode) {
case KEY_SIDE_UP:
- if (_shortcut != SetVolume) {
- _shortcut = SetVolume;
+ if (_shortcut != kSetVolume) {
+ _shortcut = kSetVolume;
} else {
setVolume(true, false);
}
@@ -429,19 +428,20 @@ void BadaAppForm::OnKeyPressed(const Control &source, KeyCode keyCode) {
case KEY_SIDE_DOWN:
switch (_shortcut) {
- case ControlMouse:
+ case kControlMouse:
setButtonShortcut();
break;
- case EscapeKey:
+ case kEscapeKey:
pushKey(Common::KEYCODE_ESCAPE);
break;
- case GameMenu:
+ case kGameMenu:
+ _buttonState = kLeftButton;
pushKey(Common::KEYCODE_F5);
break;
- case ShowKeypad:
+ case kShowKeypad:
showKeypad();
break;
diff --git a/backends/platform/bada/form.h b/backends/platform/bada/form.h
index 09ce941a7b..3340e2216b 100644
--- a/backends/platform/bada/form.h
+++ b/backends/platform/bada/form.h
@@ -50,7 +50,7 @@ public:
result Construct();
bool pollEvent(Common::Event &event);
- bool isClosing() { return _state == ClosingState; }
+ bool isClosing() { return _state == kClosingState; }
void pushKey(Common::KeyCode keycode);
void exitSystem();
@@ -100,9 +100,9 @@ private:
Osp::Base::Runtime::Thread *_gameThread;
Osp::Base::Runtime::Mutex *_eventQueueLock;
Common::Queue<Common::Event> _eventQueue;
- enum {InitState, ActiveState, ClosingState, DoneState, ErrorState} _state;
- enum {LeftButton, RightButtonOnce, RightButton, MoveOnly} _buttonState;
- enum {ControlMouse, EscapeKey, GameMenu, ShowKeypad, SetVolume} _shortcut;
+ enum { kInitState, kActiveState, kClosingState, kDoneState, kErrorState } _state;
+ enum { kLeftButton, kRightButtonOnce, kRightButton, kMoveOnly } _buttonState;
+ enum { kControlMouse, kEscapeKey, kGameMenu, kShowKeypad, kSetVolume } _shortcut;
};
#endif
diff --git a/backends/platform/bada/fs.cpp b/backends/platform/bada/fs.cpp
index 8e3c4f0f7c..0ae0cde43d 100644
--- a/backends/platform/bada/fs.cpp
+++ b/backends/platform/bada/fs.cpp
@@ -345,7 +345,7 @@ bool BadaFilesystemNode::getChildren(AbstractFSList &myList,
// open directory
if (IsFailed(pDir->Construct(_unicodePath))) {
- AppLog("Failed to open directory");
+ AppLog("Failed to open directory: %S", _unicodePath.GetPointer());
} else {
// read all directory entries
pDirEnum = pDir->ReadN();
@@ -365,8 +365,7 @@ bool BadaFilesystemNode::getChildren(AbstractFSList &myList,
}
// skip '.' and '..' to avoid cycles
- if ((fileName[0] == '.' && fileName[1] == 0) ||
- (fileName[0] == '.' && fileName[1] == '.')) {
+ if (fileName == L"." || fileName == L"..") {
continue;
}
diff --git a/backends/platform/bada/graphics.cpp b/backends/platform/bada/graphics.cpp
index 4ab90a633f..bd65c597c6 100644
--- a/backends/platform/bada/graphics.cpp
+++ b/backends/platform/bada/graphics.cpp
@@ -38,7 +38,6 @@ BadaGraphicsManager::BadaGraphicsManager(BadaAppForm *appForm) :
_initState(true) {
assert(appForm != NULL);
_videoMode.fullscreen = true;
- _videoMode.antialiasing = true;
}
const Graphics::Font *BadaGraphicsManager::getFontOSD() {
@@ -195,7 +194,6 @@ void BadaGraphicsManager::loadTextures() {
// prevent image skew in some games, see:
// http://www.opengl.org/resources/features/KilgardTechniques/oglpitfall
- // note: this did not solve the pixel border problem in refreshGameScreen()
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
}
@@ -234,58 +232,6 @@ void BadaGraphicsManager::unloadGFXMode() {
logLeaving();
}
-void BadaGraphicsManager::refreshGameScreen() {
- if (_screenNeedsRedraw)
- _screenDirtyRect = Common::Rect(0, 0, _screenData.w, _screenData.h);
-
- int x = _screenDirtyRect.left;
- int y = _screenDirtyRect.top;
- int w = _screenDirtyRect.width();
- int h = _screenDirtyRect.height();
-
- if (_screenData.format.bytesPerPixel == 1) {
- // Create a temporary RGB888 surface
- int sw = w;
- int sh = h;
-
- if (_videoMode.screenWidth == w && _videoMode.screenHeight == h) {
- // The extra border prevents random pixels from appearing in the right and bottom
- // screen column/row. Not sure whether this should be applied to opengl-graphics.cpp
- sw = w + 1;
- sh = h + 1;
- }
-
- byte *surface = new byte[sw * sh * 3];
-
- // Convert the paletted buffer to RGB888
- const byte *src = (byte *)_screenData.pixels + y * _screenData.pitch;
- src += x * _screenData.format.bytesPerPixel;
- byte *dst = surface;
- for (int i = 0; i < h; i++) {
- for (int j = 0; j < w; j++) {
- dst[0] = _gamePalette[src[j] * 3];
- dst[1] = _gamePalette[src[j] * 3 + 1];
- dst[2] = _gamePalette[src[j] * 3 + 2];
- dst += 3;
- }
- src += _screenData.pitch;
- }
-
- // Update the texture
- _gameTexture->updateBuffer(surface, w * 3, x, y, sw, sh);
-
- // Free the temp surface
- delete[] surface;
- } else {
- // Update the texture
- _gameTexture->updateBuffer((byte *)_screenData.pixels + y * _screenData.pitch +
- x * _screenData.format.bytesPerPixel, _screenData.pitch, x, y, w, h);
- }
-
- _screenNeedsRedraw = false;
- _screenDirtyRect = Common::Rect();
-}
-
// display a simple splash screen until launcher is ready
void BadaGraphicsManager::showSplash() {
Canvas canvas;
diff --git a/backends/platform/bada/graphics.h b/backends/platform/bada/graphics.h
index 5e49419979..b2aaca43bc 100644
--- a/backends/platform/bada/graphics.h
+++ b/backends/platform/bada/graphics.h
@@ -57,7 +57,6 @@ private:
bool loadGFXMode();
void loadTextures();
void unloadGFXMode();
- void refreshGameScreen();
void setInternalMousePosition(int x, int y) {}
void showSplash();
diff --git a/backends/platform/bada/portdefs.h b/backends/platform/bada/portdefs.h
index e85d578678..7d85a9ec35 100644
--- a/backends/platform/bada/portdefs.h
+++ b/backends/platform/bada/portdefs.h
@@ -30,6 +30,7 @@
#include <stdio.h>
#include <unistd.h>
#include <math.h>
+#include <new>
#define M_PI 3.14159265358979323846
diff --git a/backends/platform/bada/sscanf.cpp b/backends/platform/bada/sscanf.cpp
index 4ef964b47e..b5e5b88cb5 100644
--- a/backends/platform/bada/sscanf.cpp
+++ b/backends/platform/bada/sscanf.cpp
@@ -31,17 +31,32 @@
//
bool scanInt(const char **in, va_list *ap, int max) {
- while (**in && (**in == ' ' || **in == '0')) {
+ // skip leading space characters
+ while (**in && **in == ' ') {
+ (*in)++;
+ }
+
+ // number optionally preceeded with a + or - sign.
+ bool negate = false;
+ if (**in == '-') {
+ (*in)++;
+ negate = true;
+ }
+
+ if (**in == '+') {
(*in)++;
}
int *arg = va_arg(*ap, int*);
char *end;
- long n = strtol(*in, &end, 0);
+ long n = strtol(*in, &end, 10);
+ if (negate) {
+ n = -n;
+ }
bool err = false;
if (end == *in || (max > 0 && (end - *in) > max)) {
- err = true;
+ err = true;
} else {
*arg = (int)n;
*in = end;
@@ -162,21 +177,37 @@ extern "C" int simple_sscanf(const char *input, const char *format, ...) {
#if defined(TEST)
int main(int argc, char *pArgv[]) {
- int x,y,h;
+ int x,y,xx,yy,h;
char buffer[100];
unsigned u;
char c;
strcpy(buffer, "hello");
char *b = buffer;
- // strcpy(buffer, "in the buffer something");
- if (simple_sscanf("CAT 123x-10 0x100 FONT large 1 enough\n 123456.AUD $",
- "CAT %dx%d %x FONT %[^\n] %06u.AUD %c",
- &x, &y, &h, b, &u, &c) != 6) {
+ if (simple_sscanf("BBX 00009 -1 +10 000",
+ "BBX %d %d %d %d",
+ &x, &y, &xx, &yy) != 4) {
+ printf("Failed\n");
+ } else {
+ printf("Success %d %d %d %d\n", x, y, xx, yy);
+ }
+
+ if (simple_sscanf("CAT 123x-10 0x100h 123456.AUD $ ",
+ "CAT %dx%d %xh %06u.AUD %c",
+ &x, &y, &h, &u, &c) != 5) {
+ printf("Failed\n");
+ } else {
+ printf("Success %d %d %d %d '%c' \n", x, y, h, u, c);
+ }
+
+ if (simple_sscanf("COPYRIGHT \"Copyright (c) 1984, 1987 Foo Systems Incorporated",
+ "COPYRIGHT \"%[^\"]",
+ b) != 1) {
printf("Failed\n");
} else {
- printf("Success %d %d %d %s %d '%c'\n", x, y, h, buffer, u, c);
+ printf("Success %s\n", buffer);
}
+
return 0;
}
#endif
diff --git a/backends/platform/bada/system.cpp b/backends/platform/bada/system.cpp
index 37d7028687..d284688068 100644
--- a/backends/platform/bada/system.cpp
+++ b/backends/platform/bada/system.cpp
@@ -45,6 +45,7 @@ using namespace Osp::Base::Runtime;
using namespace Osp::Ui::Controls;
#define DEFAULT_CONFIG_FILE "/Home/scummvm.ini"
+#define RESOURCE_PATH "/Res"
#define MUTEX_BUFFER_SIZE 5
//
@@ -152,17 +153,17 @@ OSystem::MutexRef BadaMutexManager::createMutex() {
}
void BadaMutexManager::lockMutex(OSystem::MutexRef mutex) {
- Mutex *m = (Mutex*)mutex;
+ Mutex *m = (Mutex *)mutex;
m->Acquire();
}
void BadaMutexManager::unlockMutex(OSystem::MutexRef mutex) {
- Mutex *m = (Mutex*)mutex;
+ Mutex *m = (Mutex *)mutex;
m->Release();
}
void BadaMutexManager::deleteMutex(OSystem::MutexRef mutex) {
- Mutex *m = (Mutex*)mutex;
+ Mutex *m = (Mutex *)mutex;
for (int i = 0; i < MUTEX_BUFFER_SIZE; i++) {
if (buffer[i] == m) {
@@ -245,7 +246,7 @@ result BadaSystem::initModules() {
return E_OUT_OF_MEMORY;
}
- _graphicsManager = (GraphicsManager*) new BadaGraphicsManager(_appForm);
+ _graphicsManager = (GraphicsManager *)new BadaGraphicsManager(_appForm);
if (!_graphicsManager) {
return E_OUT_OF_MEMORY;
}
@@ -266,7 +267,7 @@ result BadaSystem::initModules() {
return E_OUT_OF_MEMORY;
}
- _audiocdManager = (AudioCDManager*) new DefaultAudioCDManager();
+ _audiocdManager = (AudioCDManager *)new DefaultAudioCDManager();
if (!_audiocdManager) {
return E_OUT_OF_MEMORY;
}
@@ -283,9 +284,6 @@ result BadaSystem::initModules() {
void BadaSystem::initBackend() {
logEntered();
- // allow translations and game .DAT files to be found
- ConfMan.set("extrapath", "/Res");
-
// use the mobile device theme
ConfMan.set("gui_theme", "/Res/scummmobile");
@@ -304,7 +302,7 @@ void BadaSystem::initBackend() {
}
ConfMan.registerDefault("fullscreen", true);
- ConfMan.registerDefault("aspect_ratio", true);
+ ConfMan.registerDefault("aspect_ratio", false);
ConfMan.setBool("confirm_exit", false);
Osp::System::SystemTime::GetTicks(_epoch);
@@ -317,7 +315,7 @@ void BadaSystem::initBackend() {
// replace kBigGUIFont using the large font from the scummmobile theme
Common::File fontFile;
- Common::String fileName = "/Res/scummmobile/helvB14-ASCII.fcc";
+ Common::String fileName = "/Res/scummmobile/helvB14-iso-8859-1.fcc";
BadaFilesystemNode file(fileName);
if (file.exists()) {
Common::SeekableReadStream *stream = file.createReadStream();
@@ -335,6 +333,11 @@ void BadaSystem::initBackend() {
logLeaving();
}
+void BadaSystem::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) {
+ // allow translations.dat and game .DAT files to be found
+ s.addDirectory(RESOURCE_PATH, RESOURCE_PATH, priority);
+}
+
void BadaSystem::destroyBackend() {
closeAudio();
@@ -446,8 +449,12 @@ void BadaSystem::closeGraphics() {
}
void BadaSystem::setMute(bool on) {
+ // only change mute after eventManager init() has completed
if (_audioThread) {
- _audioThread->setMute(on);
+ BadaGraphicsManager *graphics = getGraphics();
+ if (graphics && graphics->isReady()) {
+ _audioThread->setMute(on);
+ }
}
}
diff --git a/backends/platform/bada/system.h b/backends/platform/bada/system.h
index a091f952e5..c28686cb3d 100644
--- a/backends/platform/bada/system.h
+++ b/backends/platform/bada/system.h
@@ -74,7 +74,7 @@ public:
bool isClosing() { return _appForm->isClosing(); }
BadaGraphicsManager *getGraphics() {
- return (BadaGraphicsManager*)_graphicsManager;
+ return (BadaGraphicsManager *)_graphicsManager;
}
private:
@@ -88,8 +88,9 @@ private:
void getTimeAndDate(TimeDate &t) const;
void fatalError();
void logMessage(LogMessageType::Type type, const char *message);
+ void addSysArchivesToSearchSet(Common::SearchSet &s, int priority);
- Common::EventSource *getDefaultEventSource() {return this;}
+ Common::EventSource *getDefaultEventSource() { return this; }
Common::SeekableReadStream *createConfigReadStream();
Common::WriteStream *createConfigWriteStream();
diff --git a/backends/platform/dc/dc-fs.cpp b/backends/platform/dc/dc-fs.cpp
index f30c9c56d1..36f5a1465c 100644
--- a/backends/platform/dc/dc-fs.cpp
+++ b/backends/platform/dc/dc-fs.cpp
@@ -39,7 +39,7 @@ protected:
Common::String _path;
public:
- RoninCDFileNode(const Common::String &path) : _path(path) {};
+ RoninCDFileNode(const Common::String &path) : _path(path) {}
virtual bool exists() const { return true; }
virtual Common::String getName() const { return lastPathComponent(_path, '/'); }
@@ -61,7 +61,7 @@ public:
/* A directory */
class RoninCDDirectoryNode : public RoninCDFileNode {
public:
- RoninCDDirectoryNode(const Common::String &path) : RoninCDFileNode(path) {};
+ RoninCDDirectoryNode(const Common::String &path) : RoninCDFileNode(path) {}
virtual bool isDirectory() const { return true; }
virtual AbstractFSNode *getChild(const Common::String &n) const;
@@ -72,7 +72,7 @@ public:
/* A file/directory which does not exist */
class RoninCDNonexistingNode : public RoninCDFileNode {
public:
- RoninCDNonexistingNode(const Common::String &path) : RoninCDFileNode(path) {};
+ RoninCDNonexistingNode(const Common::String &path) : RoninCDFileNode(path) {}
virtual bool exists() const { return false; }
virtual bool isReadable() const { return false; }
diff --git a/backends/platform/dc/portdefs.h b/backends/platform/dc/portdefs.h
index ca2b5208a3..1f5c8f566a 100644
--- a/backends/platform/dc/portdefs.h
+++ b/backends/platform/dc/portdefs.h
@@ -29,6 +29,7 @@
#include <assert.h>
#include <ctype.h>
#include <math.h>
+#include <new>
#ifndef RONIN_TIMER_ACCESS
#define Timer ronin_Timer
#endif
diff --git a/backends/platform/ds/arm9/source/osystem_ds.cpp b/backends/platform/ds/arm9/source/osystem_ds.cpp
index fdd310ec17..73340ed18a 100644
--- a/backends/platform/ds/arm9/source/osystem_ds.cpp
+++ b/backends/platform/ds/arm9/source/osystem_ds.cpp
@@ -267,23 +267,6 @@ void OSystem_DS::setCursorPalette(const byte *colors, uint start, uint num) {
refreshCursor();
}
-bool OSystem_DS::grabRawScreen(Graphics::Surface *surf) {
- surf->create(DS::getGameWidth(), DS::getGameHeight(), Graphics::PixelFormat::createFormatCLUT8());
-
- // Ensure we copy using 16 bit quantities due to limitation of VRAM addressing
-
-
- const u16 *image = (const u16 *) DS::get8BitBackBuffer();
- for (int y = 0; y < DS::getGameHeight(); y++) {
- DC_FlushRange(image + (y << 8), DS::getGameWidth());
- for (int x = 0; x < DS::getGameWidth() >> 1; x++) {
- *(((u16 *) (surf->pixels)) + y * (DS::getGameWidth() >> 1) + x) = image[(y << 8) + x];
- }
- }
-
- return true;
-}
-
void OSystem_DS::grabPalette(unsigned char *colors, uint start, uint num) {
// consolePrintf("Grabpalette");
diff --git a/backends/platform/ds/arm9/source/osystem_ds.h b/backends/platform/ds/arm9/source/osystem_ds.h
index b1222a152d..6aa3731916 100644
--- a/backends/platform/ds/arm9/source/osystem_ds.h
+++ b/backends/platform/ds/arm9/source/osystem_ds.h
@@ -141,8 +141,6 @@ public:
void addEvent(const Common::Event& e);
bool isEventQueueEmpty() const { return queuePos == 0; }
- virtual bool grabRawScreen(Graphics::Surface *surf);
-
virtual void setFocusRectangle(const Common::Rect& rect);
virtual void clearFocusRectangle();
diff --git a/backends/platform/ds/arm9/source/portdefs.h b/backends/platform/ds/arm9/source/portdefs.h
index f512ce3ea2..e40849a513 100644
--- a/backends/platform/ds/arm9/source/portdefs.h
+++ b/backends/platform/ds/arm9/source/portdefs.h
@@ -37,6 +37,7 @@
#include <stdarg.h>
#include <ctype.h>
#include <math.h>
+#include <new>
#define double float
diff --git a/backends/platform/maemo/debian/changelog b/backends/platform/maemo/debian/changelog
index d3e0287186..8a9d8ee3c3 100644
--- a/backends/platform/maemo/debian/changelog
+++ b/backends/platform/maemo/debian/changelog
@@ -1,8 +1,14 @@
-scummvm (1.4.0~git) unstable; urgency=low
+scummvm (1.5.0~git) unstable; urgency=low
- * development snapshot
+ * Development snapshot
- -- Tarek Soliman <tsoliman@scummvm.org> Wed, 05 Oct 2011 19:01:25 -0500
+ -- Tarek Soliman <tsoliman@scummvm.org> Tue, 15 Nov 2011 14:56:57 -0600
+
+scummvm (1.4.0) unstable; urgency=low
+
+ * 1.4.0 release
+
+ -- Tarek Soliman <tsoliman@scummvm.org> Thu, 03 Nov 2011 13:54:04 -0500
scummvm (1.2.1~pre) unstable; urgency=low
diff --git a/backends/platform/maemo/debian/control b/backends/platform/maemo/debian/control
index a1f0d95002..6e1dfe2fd4 100644
--- a/backends/platform/maemo/debian/control
+++ b/backends/platform/maemo/debian/control
@@ -7,7 +7,7 @@ Build-Depends: debhelper (>> 4.0.0), libsdl1.2-dev, libmad0-dev, libasound2-dev,
Standards-Version: 3.6.1.1
Package: scummvm
Depends: ${shlibs:Depends}
-Architecture: i386 armel
+Architecture: armel
Section: user/games
Description: interpreter that will play graphic adventure games
written for LucasArts' SCUMM virtual machine, Sierra's AGI adventures,
@@ -17,6 +17,8 @@ Description: interpreter that will play graphic adventure games
Coktel Vision's Gobliiins, Wyrmkeep's Inherit the Earth,
Westwood's Legend of Kyrandia, and various others.
This package does not contain any actual games.
+XSBC-Bugtracker: https://sourceforge.net/tracker/?atid=418820&group_id=37116&func=browse
+XB-Maemo-Display-Name: ScummVM
XBS-Maemo-Icon-26:
iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAC/VBMVEUICwcH
CQUKDAgLDQoMDwsOEAwREAUPEQ0QEg8PFQoRExAUEwoVFAwPGAcTFBIRFg0W
diff --git a/backends/platform/maemo/debian/rules b/backends/platform/maemo/debian/rules
index 7613df25b4..64add08de8 100755
--- a/backends/platform/maemo/debian/rules
+++ b/backends/platform/maemo/debian/rules
@@ -47,7 +47,7 @@ install: build
install -m0644 gui/themes/scummclassic.zip gui/themes/scummmodern.zip debian/scummvm/opt/scummvm/share
install -m0644 backends/vkeybd/packs/vkeybd_default.zip debian/scummvm/opt/scummvm/share
# for optified version we can also add engine datafiles
- install -m0644 dists/engine-data/drascula.dat dists/engine-data/hugo.dat dists/engine-data/kyra.dat dists/engine-data/lure.dat dists/engine-data/m4.dat dists/engine-data/mads.dat dists/engine-data/queen.tbl dists/engine-data/sky.cpt dists/engine-data/teenagent.dat dists/engine-data/toon.dat debian/scummvm/opt/scummvm/share
+ install -m0644 dists/engine-data/drascula.dat dists/engine-data/hugo.dat dists/engine-data/kyra.dat dists/engine-data/lure.dat dists/engine-data/queen.tbl dists/engine-data/sky.cpt dists/engine-data/teenagent.dat dists/engine-data/toon.dat debian/scummvm/opt/scummvm/share
install -m0644 -d debian/scummvm/usr/share/doc/scummvm
install -m0644 NEWS README COPYRIGHT debian/scummvm/usr/share/doc/scummvm
diff --git a/backends/platform/maemo/maemo-common.h b/backends/platform/maemo/maemo-common.h
new file mode 100644
index 0000000000..f33aa24278
--- /dev/null
+++ b/backends/platform/maemo/maemo-common.h
@@ -0,0 +1,56 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#if defined(MAEMO)
+
+#ifndef PLATFORM_SDL_MAEMO_COMMON_H
+#define PLATFORM_SDL_MAEMO_COMMON_H
+
+namespace Maemo {
+
+enum ModelType {
+ kModelTypeN800 = 1,
+ kModelTypeN810 = 2,
+ kModelTypeN900 = 4,
+ kModelTypeInvalid = 0
+};
+
+struct Model {
+ const char *hwId;
+ ModelType modelType;
+ const char *hwAlias;
+ bool hwKeyboard;
+};
+
+static const Model models[] = {
+ {"RX-34", kModelTypeN800, "N800", false},
+ {"RX-44", kModelTypeN810, "N810", true},
+ {"RX-48", kModelTypeN810, "N810W", true},
+ {"RX-51", kModelTypeN900, "N900", true},
+ {0, kModelTypeInvalid, 0, true}
+};
+
+} // namespace Maemo
+
+#endif // ifndef PLATFORM_SDL_MAEMO_COMMON_H
+
+#endif // if defined(MAEMO)
diff --git a/backends/platform/maemo/maemo.cpp b/backends/platform/maemo/maemo.cpp
index 1fb7ad0691..454a13631c 100644
--- a/backends/platform/maemo/maemo.cpp
+++ b/backends/platform/maemo/maemo.cpp
@@ -22,17 +22,22 @@
#if defined(MAEMO)
+#define FORBIDDEN_SYMBOL_EXCEPTION_getenv
+
#include "common/scummsys.h"
#include "common/config-manager.h"
#include "backends/platform/maemo/maemo.h"
#include "backends/events/maemosdl/maemosdl-events.h"
+#include "backends/graphics/maemosdl/maemosdl-graphics.h"
#include "common/textconsole.h"
#include <SDL/SDL_syswm.h>
#include <X11/Xutil.h>
+namespace Maemo {
+
OSystem_SDL_Maemo::OSystem_SDL_Maemo()
:
OSystem_POSIX() {
@@ -43,8 +48,13 @@ void OSystem_SDL_Maemo::initBackend() {
if (_eventSource == 0)
_eventSource = new MaemoSdlEventSource();
+ if (_graphicsManager == 0)
+ _graphicsManager = new MaemoSdlGraphicsManager(_eventSource);
+
ConfMan.set("vkeybdpath", DATA_PATH);
+ _model = Model(detectModel());
+
// Call parent implementation of this method
OSystem_POSIX::initBackend();
}
@@ -92,6 +102,22 @@ void OSystem_SDL_Maemo::setWindowCaption(const char *caption) {
setXWindowName(cap.c_str());
}
+const Maemo::Model OSystem_SDL_Maemo::detectModel() {
+ Common::String deviceHwId = Common::String(getenv("SCUMMVM_MAEMO_DEVICE"));
+ const Model *model;
+ for (model = models; model->hwId; model++) {
+ if (deviceHwId.equals(model->hwId))
+ return *model;
+ }
+ return *model;
+}
+
+void OSystem_SDL_Maemo::setupIcon() {
+ // no Maemo version needs setupIcon
+ // also N900 is hit by SDL_WM_SetIcon bug (window cannot receive input)
+ // http://bugzilla.libsdl.org/show_bug.cgi?id=586
+}
+} //namespace Maemo
#endif
diff --git a/backends/platform/maemo/maemo.h b/backends/platform/maemo/maemo.h
index a7f2ec35bb..32b52470bc 100644
--- a/backends/platform/maemo/maemo.h
+++ b/backends/platform/maemo/maemo.h
@@ -26,6 +26,9 @@
#define PLATFORM_SDL_MAEMO_H
#include "backends/platform/sdl/posix/posix.h"
+#include "backends/platform/maemo/maemo-common.h"
+
+namespace Maemo {
class OSystem_SDL_Maemo : public OSystem_POSIX {
public:
@@ -35,11 +38,20 @@ public:
virtual void quit();
virtual void fatalError();
virtual void setWindowCaption(const char *caption);
+ virtual void setupIcon();
+
+ Model getModel() { return _model; }
private:
virtual void setXWindowName(const char *caption);
+ const Model detectModel();
+ Model _model;
+
};
-#endif
-#endif
+} // namespace Maemo
+
+#endif // ifndef PLATFORM_SDL_MAEMO_H
+
+#endif // if defined(MAEMO)
diff --git a/backends/platform/maemo/main.cpp b/backends/platform/maemo/main.cpp
index 6b69cd81d0..7e8a316eb5 100644
--- a/backends/platform/maemo/main.cpp
+++ b/backends/platform/maemo/main.cpp
@@ -31,10 +31,10 @@
#include <unistd.h>
int main(int argc, char* argv[]) {
- g_system = new OSystem_SDL_Maemo();
+ g_system = new Maemo::OSystem_SDL_Maemo();
assert(g_system);
- ((OSystem_SDL_Maemo *)g_system)->init();
+ ((Maemo::OSystem_SDL_Maemo *)g_system)->init();
#ifdef DYNAMIC_MODULES
PluginManager::instance().addPluginProvider(new SDLPluginProvider());
@@ -44,7 +44,7 @@ int main(int argc, char* argv[]) {
int res = scummvm_main(argc, argv);
// Free OSystem
- delete (OSystem_SDL_Maemo *)g_system;
+ delete (Maemo::OSystem_SDL_Maemo *)g_system;
return res;
}
diff --git a/backends/platform/n64/portdefs.h b/backends/platform/n64/portdefs.h
index 677ad48477..10f5ed6488 100644
--- a/backends/platform/n64/portdefs.h
+++ b/backends/platform/n64/portdefs.h
@@ -31,6 +31,7 @@
#include <stdio.h>
#include <ctype.h>
#include <math.h>
+#include <new>
#undef assert
#define assert(x) ((x) ? 0 : (print_error("ASSERT TRIGGERED:\n\n("#x")\n%s\nline: %d", __FILE__, __LINE__)))
diff --git a/backends/platform/openpandora/op-backend.cpp b/backends/platform/openpandora/op-backend.cpp
index 5231e9790d..dcec387f97 100644
--- a/backends/platform/openpandora/op-backend.cpp
+++ b/backends/platform/openpandora/op-backend.cpp
@@ -49,7 +49,7 @@
#include <limits.h>
#include <errno.h>
#include <sys/stat.h>
-#include <time.h> // for getTimeAndDate()
+#include <time.h> // for getTimeAndDate()
/* Dump console info to files. */
#define DUMP_STDOUT
@@ -97,7 +97,7 @@ void OSystem_OP::initBackend() {
// if (_mixer == 0) {
// _mixerManager = new DoubleBufferSDLMixerManager();
- // Setup and start mixer
+ // Setup and start mixer
// _mixerManager->init();
// }
@@ -123,49 +123,49 @@ void OSystem_OP::initBackend() {
_savefileManager = new DefaultSaveFileManager(savePath);
- #ifdef DUMP_STDOUT
- // The OpenPandora has a serial console on the EXT connection but most users do not use this so we
- // output all our STDOUT and STDERR to files for debug purposes.
- char STDOUT_FILE[PATH_MAX+1];
- char STDERR_FILE[PATH_MAX+1];
-
- strcpy(STDOUT_FILE, workDirName);
- strcpy(STDERR_FILE, workDirName);
- strcat(STDOUT_FILE, "/scummvm.stdout.txt");
- strcat(STDERR_FILE, "/scummvm.stderr.txt");
-
- // Flush the output in case anything is queued
- fclose(stdout);
- fclose(stderr);
-
- // Redirect standard input and standard output
- FILE *newfp = freopen(STDOUT_FILE, "w", stdout);
- if (newfp == NULL) {
- #if !defined(stdout)
- stdout = fopen(STDOUT_FILE, "w");
- #else
- newfp = fopen(STDOUT_FILE, "w");
- if (newfp) {
- *stdout = *newfp;
- }
- #endif
+#ifdef DUMP_STDOUT
+ // The OpenPandora has a serial console on the EXT connection but most users do not use this so we
+ // output all our STDOUT and STDERR to files for debug purposes.
+ char STDOUT_FILE[PATH_MAX+1];
+ char STDERR_FILE[PATH_MAX+1];
+
+ strcpy(STDOUT_FILE, workDirName);
+ strcpy(STDERR_FILE, workDirName);
+ strcat(STDOUT_FILE, "/scummvm.stdout.txt");
+ strcat(STDERR_FILE, "/scummvm.stderr.txt");
+
+ // Flush the output in case anything is queued
+ fclose(stdout);
+ fclose(stderr);
+
+ // Redirect standard input and standard output
+ FILE *newfp = freopen(STDOUT_FILE, "w", stdout);
+ if (newfp == NULL) {
+#if !defined(stdout)
+ stdout = fopen(STDOUT_FILE, "w");
+#else
+ newfp = fopen(STDOUT_FILE, "w");
+ if (newfp) {
+ *stdout = *newfp;
}
+#endif
+ }
- newfp = freopen(STDERR_FILE, "w", stderr);
- if (newfp == NULL) {
- #if !defined(stderr)
- stderr = fopen(STDERR_FILE, "w");
- #else
- newfp = fopen(STDERR_FILE, "w");
- if (newfp) {
- *stderr = *newfp;
- }
- #endif
+ newfp = freopen(STDERR_FILE, "w", stderr);
+ if (newfp == NULL) {
+#if !defined(stderr)
+ stderr = fopen(STDERR_FILE, "w");
+#else
+ newfp = fopen(STDERR_FILE, "w");
+ if (newfp) {
+ *stderr = *newfp;
}
+#endif
+ }
- setbuf(stderr, NULL);
- printf("%s\n", "Debug: STDOUT and STDERR redirected to text files.");
- #endif /* DUMP_STDOUT */
+ setbuf(stderr, NULL);
+ printf("%s\n", "Debug: STDOUT and STDERR redirected to text files.");
+#endif /* DUMP_STDOUT */
/* Trigger autosave every 4 minutes. */
ConfMan.registerDefault("autosave_period", 4 * 60);
@@ -187,7 +187,7 @@ void OSystem_OP::initBackend() {
_inited = true;
}
- // enable joystick
+// enable joystick
// if (joystick_num > -1 && SDL_NumJoysticks() > 0) {
// printf("Using joystick: %s\n", SDL_JoystickName(0));
// _joystick = SDL_JoystickOpen(joystick_num);
@@ -195,13 +195,13 @@ void OSystem_OP::initBackend() {
//
// setupMixer();
- // Note: We could implement a custom SDLTimerManager by using
- // SDL_AddTimer. That might yield better timer resolution, but it would
- // also change the semantics of a timer: Right now, ScummVM timers
- // *never* run in parallel, due to the way they are implemented. If we
- // switched to SDL_AddTimer, each timer might run in a separate thread.
- // However, not all our code is prepared for that, so we can't just
- // switch. Still, it's a potential future change to keep in mind.
+// Note: We could implement a custom SDLTimerManager by using
+// SDL_AddTimer. That might yield better timer resolution, but it would
+// also change the semantics of a timer: Right now, ScummVM timers
+// *never* run in parallel, due to the way they are implemented. If we
+// switched to SDL_AddTimer, each timer might run in a separate thread.
+// However, not all our code is prepared for that, so we can't just
+// switch. Still, it's a potential future change to keep in mind.
// _timer = new DefaultTimerManager();
// _timerID = SDL_AddTimer(10, &timer_handler, _timer);
@@ -217,9 +217,9 @@ void OSystem_OP::initSDL() {
if (SDL_Init(sdlFlags) == -1)
error("Could not initialize SDL: %s", SDL_GetError());
- uint8_t hiddenCursorData = 0;
+ uint8_t hiddenCursorData = 0;
- hiddenCursor = SDL_CreateCursor(&hiddenCursorData, &hiddenCursorData, 8, 1, 0, 0);
+ hiddenCursor = SDL_CreateCursor(&hiddenCursorData, &hiddenCursorData, 8, 1, 0, 0);
/* On the OpenPandora we need to work around an SDL assumption that
returns relative mouse coordinates when you get to the screen
@@ -277,11 +277,11 @@ void OSystem_OP::quit() {
SDL_FreeCursor(hiddenCursor);
- #ifdef DUMP_STDOUT
- printf("%s\n", "Debug: STDOUT and STDERR text files closed.");
- fclose(stdout);
- fclose(stderr);
- #endif /* DUMP_STDOUT */
+#ifdef DUMP_STDOUT
+ printf("%s\n", "Debug: STDOUT and STDERR text files closed.");
+ fclose(stdout);
+ fclose(stderr);
+#endif /* DUMP_STDOUT */
OSystem_POSIX::quit();
}
diff --git a/backends/platform/openpandora/op-main.cpp b/backends/platform/openpandora/op-main.cpp
index bb359e7204..ebe018f570 100644
--- a/backends/platform/openpandora/op-main.cpp
+++ b/backends/platform/openpandora/op-main.cpp
@@ -43,7 +43,7 @@ int main(int argc, char *argv[]) {
int res = scummvm_main(argc, argv);
// Free OSystem
- delete (OSystem_OP *)g_system;
+ delete(OSystem_OP *)g_system;
return res;
}
diff --git a/backends/platform/openpandora/op-options.cpp b/backends/platform/openpandora/op-options.cpp
index c60ba58cc7..58f0fb7188 100644
--- a/backends/platform/openpandora/op-options.cpp
+++ b/backends/platform/openpandora/op-options.cpp
@@ -31,9 +31,9 @@ namespace OP {
enum {
/* Touchscreen TapMode */
- TAPMODE_LEFT = 0,
- TAPMODE_RIGHT = 1,
- TAPMODE_HOVER = 2
+ TAPMODE_LEFT = 0,
+ TAPMODE_RIGHT = 1,
+ TAPMODE_HOVER = 2
};
int tapmodeLevel = TAPMODE_LEFT;
@@ -47,7 +47,7 @@ void ToggleTapMode() {
tapmodeLevel = TAPMODE_LEFT;
} else {
tapmodeLevel = TAPMODE_LEFT;
- }
+ }
}
} /* namespace OP */
diff --git a/backends/platform/openpandora/op-options.h b/backends/platform/openpandora/op-options.h
index ebc83ca00c..919d217f4b 100644
--- a/backends/platform/openpandora/op-options.h
+++ b/backends/platform/openpandora/op-options.h
@@ -32,7 +32,7 @@ namespace OP {
extern int tapmodeLevel;
-extern void ToggleTapMode();
+extern void ToggleTapMode();
} /* namespace OP */
diff --git a/backends/platform/openpandora/op-sdl.h b/backends/platform/openpandora/op-sdl.h
index d493c3957c..8cccbb5f86 100644
--- a/backends/platform/openpandora/op-sdl.h
+++ b/backends/platform/openpandora/op-sdl.h
@@ -34,7 +34,7 @@
//#define MIXER_DOUBLE_BUFFERING 1
#ifndef PATH_MAX
- #define PATH_MAX 255
+#define PATH_MAX 255
#endif
class OSystem_OP : public OSystem_POSIX {
diff --git a/backends/platform/ps2/Gs2dScreen.cpp b/backends/platform/ps2/Gs2dScreen.cpp
index ddc1bdf668..b70e8b13fa 100644
--- a/backends/platform/ps2/Gs2dScreen.cpp
+++ b/backends/platform/ps2/Gs2dScreen.cpp
@@ -437,14 +437,6 @@ void Gs2dScreen::grabPalette(uint8 *pal, uint8 start, uint16 num) {
}
}
-void Gs2dScreen::grabScreen(Graphics::Surface *surf) {
- assert(surf);
- WaitSema(g_DmacSema);
- surf->create(_width, _height, Graphics::PixelFormat::createFormatCLUT8());
- memcpy(surf->pixels, _screenBuf, _width * _height);
- SignalSema(g_DmacSema);
-}
-
void Gs2dScreen::uploadToVram(void) {
if (_clutChanged) {
_clutChanged = false;
diff --git a/backends/platform/ps2/Gs2dScreen.h b/backends/platform/ps2/Gs2dScreen.h
index dffdce5b36..4fbb3fdef8 100644
--- a/backends/platform/ps2/Gs2dScreen.h
+++ b/backends/platform/ps2/Gs2dScreen.h
@@ -42,10 +42,6 @@ enum GsInterlace {
};
-namespace Graphics {
-struct Surface;
-}
-
class Gs2dScreen {
public:
Gs2dScreen(uint16 width, uint16 height, TVMode tvMode);
@@ -65,7 +61,6 @@ public:
void setPalette(const uint8 *pal, uint8 start, uint16 num);
void updateScreen(void);
void grabPalette(uint8 *pal, uint8 start, uint16 num);
- void grabScreen(Graphics::Surface *surf);
//- overlay routines
void copyOverlayRect(const uint16 *buf, uint16 pitch, uint16 x, uint16 y, uint16 w, uint16 h);
void grabOverlay(uint16 *buf, uint16 pitch);
diff --git a/backends/platform/ps2/systemps2.cpp b/backends/platform/ps2/systemps2.cpp
index c75d7493a2..481227dd02 100644
--- a/backends/platform/ps2/systemps2.cpp
+++ b/backends/platform/ps2/systemps2.cpp
@@ -558,11 +558,6 @@ void OSystem_PS2::copyRectToScreen(const byte *buf, int pitch, int x, int y, int
_screen->copyScreenRect((const uint8*)buf, pitch, x, y, w, h);
}
-bool OSystem_PS2::grabRawScreen(Graphics::Surface *surf) {
- _screen->grabScreen(surf);
- return true;
-}
-
void OSystem_PS2::updateScreen(void) {
if (_msgClearTime && (_msgClearTime < getMillis())) {
_screen->clearPrintfOverlay();
diff --git a/backends/platform/ps2/systemps2.h b/backends/platform/ps2/systemps2.h
index 35ceaf829e..3a0e247737 100644
--- a/backends/platform/ps2/systemps2.h
+++ b/backends/platform/ps2/systemps2.h
@@ -64,7 +64,6 @@ public:
virtual void copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h);
virtual void setShakePos(int shakeOffset);
- virtual bool grabRawScreen(Graphics::Surface *surf);
virtual Graphics::Surface *lockScreen();
virtual void unlockScreen();
virtual void updateScreen();
diff --git a/backends/platform/psp/README.PSP b/backends/platform/psp/README.PSP
index a101481dca..bc0bd35a6e 100644
--- a/backends/platform/psp/README.PSP
+++ b/backends/platform/psp/README.PSP
@@ -1,4 +1,4 @@
-ScummVM-PSP 1.4.0git README
+ScummVM-PSP 1.5.0git README
==============================================================================
Installation
diff --git a/backends/platform/psp/portdefs.h b/backends/platform/psp/portdefs.h
index e8a28b31e2..620a27a601 100644
--- a/backends/platform/psp/portdefs.h
+++ b/backends/platform/psp/portdefs.h
@@ -38,6 +38,7 @@
#include <time.h>
#include <ctype.h>
#include <assert.h>
+#include <new>
#include <pspkernel.h>
#include <pspdebug.h>
diff --git a/backends/platform/symbian/README b/backends/platform/symbian/README
index 3e3be592e7..83e98a534a 100644
--- a/backends/platform/symbian/README
+++ b/backends/platform/symbian/README
@@ -24,6 +24,17 @@ About ScummVM
Jurgen and Lars have successfully transfered all needed changes into CVS/SVN, with additional helpful tools for Symbian OS
Release History:
+ Release version: 1.4.0
+ * Nothing significant in the Symbian port, except SDL improvements (new SDL version used)
+ * See main readme for general ScummVM improvements, major update
+
+ Release version: 1.3.1
+ * Nothing significant in the Symbian port, except SDL improvements (new SDL version used)
+ * See main readme for general ScummVM improvements, major update
+
+ Release version: 1.3.0
+ * Nothing significant in the Symbian port, except SDL improvements (new SDL version used)
+ * See main readme for general ScummVM improvements, major update
Release version: 1.2.1
* Symbian port now split in two parts, ScummVM 1 and ScummVM 2 to keep the exe size down.
ScummVM 1 contains the following engines:
diff --git a/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
index aa5e1f9b18..583d1a35e7 100644
--- a/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
+++ b/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
@@ -87,7 +87,7 @@ STATICLIBRARY esdl.lib
// *** Include paths
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\engines
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\engines
USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl ..\..\..\..\audio
SYSTEMINCLUDE \epoc32\include\ESDL
@@ -130,9 +130,13 @@ SOURCE gui\Dialog.cpp
// Common error
source common\error.cpp
+source common\quicktime.cpp
// Special for graphics
source graphics\iff.cpp
+source backends\graphics\symbiansdl\symbiansdl-graphics.cpp
+source backends\graphics\surfacesdl\surfacesdl-graphics.cpp
+source engines\obsolete.cpp
// *** Dynamic Libraries
LIBRARY cone.lib eikcore.lib
diff --git a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
index 09592ef3e3..5367bf0d1f 100644
--- a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
+++ b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
@@ -87,7 +87,7 @@ STATICLIBRARY esdl.lib
// *** Include paths
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\engines
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\engines
USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl ..\..\..\..\audio
SYSTEMINCLUDE \epoc32\include\ESDL
@@ -130,9 +130,13 @@ SOURCE gui\Dialog.cpp
// Common error
source common\error.cpp
+source common\quicktime.cpp
// Special for graphics
source graphics\iff.cpp
+source backends\graphics\symbiansdl\symbiansdl-graphics.cpp
+source backends\graphics\surfacesdl\surfacesdl-graphics.cpp
+source engines\obsolete.cpp
// *** Dynamic Libraries
LIBRARY cone.lib eikcore.lib
diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg
index 2cc49a2bc6..efa1a3c50f 100644
--- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg
+++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg
@@ -33,7 +33,7 @@
:"ScummVM"
; UID is the app's UID
-#{"ScummVM S60v3"},(0xA0000657),1,30,0
+#{"ScummVM S60v3"},(0xA0000657),1,40,0
;Supports Series 60 v 3.0
[0x101F7961], 0, 0, 0, {"Series60ProductID"}
@@ -60,12 +60,15 @@
; Common datafiles needed for some games
"..\..\..\..\dists\engine-data\kyra.dat"-"c:\data\scummvm\kyra.dat"
"..\..\..\..\dists\engine-data\sky.cpt"-"c:\data\scummvm\sky.cpt"
+"..\..\..\..\dists\engine-data\hugo.dat"-"c:\data\scummvm\hugo.dat"
"..\..\..\..\dists\engine-data\lure.dat"-"c:\data\scummvm\lure.dat"
"..\..\..\..\dists\engine-data\drascula.dat"-"c:\data\scummvm\drascula.dat"
"..\..\..\..\dists\engine-data\m4.dat"-"c:\data\scummvm\m4.dat"
"..\..\..\..\dists\engine-data\teenagent.dat"-"c:\data\scummvm\teenagent.dat"
+"..\..\..\..\dists\engine-data\toon.dat"-"c:\data\scummvm\toon.dat"
"..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\data\scummvm\vkeybd_default.zip"
"..\..\..\..\gui\themes\translations.dat"-"c:\data\scummvm\translations.dat"
+"..\..\..\..\gui\themes\scummmodern.zip"-"c:\data\scummvm\scummmodern.zip"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"c:\data\scummvm\scummvm.ini",FILENULL
diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg
new file mode 100644
index 0000000000..aea6701709
--- /dev/null
+++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg
@@ -0,0 +1,88 @@
+;
+; ScummVM is the legal property of its developers, whose names
+; are too numerous to list here. Please refer to the COPYRIGHT
+; file distributed with this source distribution.
+;
+; This program is free software; you can redistribute it and/or
+; modify it under the terms of the GNU General Public License
+; as published by the Free Software Foundation; either version 2
+; of the License, or (at your option) any later version.
+
+; This program is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+; GNU General Public License for more details.
+
+; You should have received a copy of the GNU General Public License
+; along with this program; if not, write to the Free Software
+; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+;
+; $URL$
+; $Id$
+;
+;
+
+;;;
+;;; ScummVM .PKG file for .SIS gegeration
+;;;
+
+;Language - standard language definitions
+&EN
+
+; List of localised vendor names - one per language. At least one must be provided (English [EN]).
+; List must correspond to list of languages specified elsewhere in the .pkg
+%{"ScummVM"}
+; The non-localised, globally unique vendor name (mandatory)
+:"ScummVM"
+
+; UID is the app's UID
+#{"ScummVM S60v3"},(0xA0000657),1,40,0
+
+;Supports Series 60 v 3.0
+[0x101F7961], 0, 0, 0, {"Series60ProductID"}
+;Supports Series 60 v 5.0
+[0x1028315F], 0, 0, 0, {"Series60ProductID"}
+
+; Launcher, Application, AIF & Resource file
+"\epoc32\release\gcce\urel\ScummVM.exe"- "!:\sys\bin\ScummVM.exe"
+"\epoc32\data\z\resource\apps\ScummVM.rsc"- "!:\resource\apps\ScummVM.rsc"
+"\epoc32\Data\Z\resource\apps\scummvm_loc.rsc"- "!:\resource\apps\scummvm_loc.rsc"
+"\epoc32\data\Z\resource\APPS\scummvm.MIF"- "!:\resource\apps\scummvm.MIF"
+"\epoc32\data\z\private\10003a3f\apps\scummvm_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_reg.rsc"
+
+"\epoc32\release\gcce\urel\ScummVM_A0000658.exe"- "!:\sys\bin\ScummVM_A0000658.exe"
+"\epoc32\data\z\resource\apps\ScummVM_A0000658.rsc"- "!:\resource\apps\ScummVM_A0000658.rsc"
+"\epoc32\Data\Z\resource\apps\ScummVM_A0000658_loc.rsc"- "!:\resource\apps\ScummVM_A0000658_loc.rsc"
+"\epoc32\data\z\private\10003a3f\apps\scummvm_A0000658_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_A0000658_reg.rsc"
+
+"..\..\..\..\dists\pred.dic"-"c:\data\scummvm\pred.dic"
+
+; Scummvm Documentation
+"..\..\..\..\COPYRIGHT"-"!:\resource\apps\scummvm\COPYRIGHT", FT, TC
+"..\..\..\..\COPYING"-"!:\resource\apps\scummvm\COPYING", FT, TC
+"..\README"-"!:\resource\apps\scummvm\SYMBIAN_README", FT, TC
+"..\..\..\..\AUTHORS"-"!:\resource\apps\scummvm\AUTHORS"
+"..\..\..\..\README"-"!:\resource\apps\scummvm\README"
+"..\..\..\..\NEWS"-"!:\resource\apps\scummvm\NEWS"
+
+; Common datafiles needed for some games
+"..\..\..\..\dists\engine-data\kyra.dat"-"c:\data\scummvm\kyra.dat"
+"..\..\..\..\dists\engine-data\sky.cpt"-"c:\data\scummvm\sky.cpt"
+"..\..\..\..\dists\engine-data\hugo.dat"-"c:\data\scummvm\hugo.dat"
+"..\..\..\..\dists\engine-data\lure.dat"-"c:\data\scummvm\lure.dat"
+"..\..\..\..\dists\engine-data\drascula.dat"-"c:\data\scummvm\drascula.dat"
+"..\..\..\..\dists\engine-data\m4.dat"-"c:\data\scummvm\m4.dat"
+"..\..\..\..\dists\engine-data\teenagent.dat"-"c:\data\scummvm\teenagent.dat"
+"..\..\..\..\dists\engine-data\toon.dat"-"c:\data\scummvm\toon.dat"
+"..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\data\scummvm\vkeybd_default.zip"
+"..\..\..\..\gui\themes\translations.dat"-"c:\data\scummvm\translations.dat"
+"..\..\..\..\gui\themes\scummmodern.zip"-"c:\data\scummvm\scummmodern.zip"
+
+; Config/log files: 'empty' will automagically be removed on uninstall
+""-"c:\data\scummvm\scummvm.ini",FILENULL
+""-"c:\data\scummvm\scummvm.stdout.txt",FILENULL
+""-"c:\data\scummvm\scummvm.stderr.txt",FILENULL
+""-"c:\data\scummvm\sdl.ini",FILENULL
+
+; This install layout will let you upgrade to newer versions wihout loss of scummvm.ini.
+; It will remove the config file, std***.txt files & dirs on uninstall.
diff --git a/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
index e6f2b691ce..3bc93d8ce3 100644
--- a/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
+++ b/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
@@ -88,7 +88,7 @@ STATICLIBRARY esdl.lib
// *** Include paths
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\engines
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\engines
USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl ..\..\..\..\sound
SYSTEMINCLUDE \epoc32\include\ESDL
@@ -128,9 +128,13 @@ SOURCE gui\Dialog.cpp
// Common error
source common\error.cpp
+source common\quicktime.cpp
// Special for graphics
source graphics\iff.cpp
+source backends\graphics\symbiansdl\symbiansdl-graphics.cpp
+source backends\graphics\surfacesdl\surfacesdl-graphics.cpp
+source engines\obsolete.cpp
// *** Dynamic Libraries
LIBRARY cone.lib eikcore.lib
diff --git a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
index 3b6a3d9bd7..bd5016f8d1 100644
--- a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
+++ b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
@@ -88,7 +88,7 @@ STATICLIBRARY esdl.lib
// *** Include paths
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\engines
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\engines
USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl ..\..\..\..\sound
SYSTEMINCLUDE \epoc32\include\ESDL
@@ -128,9 +128,13 @@ SOURCE gui\Dialog.cpp
// Common error
source common\error.cpp
+source common\quicktime.cpp
// Special for graphics
source graphics\iff.cpp
+source backends\graphics\symbiansdl\symbiansdl-graphics.cpp
+source backends\graphics\surfacesdl\surfacesdl-graphics.cpp
+source engines\obsolete.cpp
// *** Dynamic Libraries
LIBRARY cone.lib eikcore.lib
diff --git a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg
index 2187a375a8..47e0ebbd09 100644
--- a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg
+++ b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg
@@ -32,7 +32,7 @@
:"ScummVM"
; UID is the app's UID
-#{"ScummVM UIQ3"},(0xA0000657),1,30,0
+#{"ScummVM UIQ3"},(0xA0000657),1,40,0
; ProductID for UIQ 3.0
; Product/platform version UID, Major, Minor, Build, Product ID
@@ -44,6 +44,7 @@
"\epoc32\Data\Z\resource\apps\scummvm_loc.rsc"- "!:\resource\apps\scummvm_loc.rsc"
"\epoc32\data\Z\resource\APPS\scummvm.MBM"- "!:\resource\apps\scummvm.MBM"
"\epoc32\data\z\private\10003a3f\apps\scummvm_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_reg.rsc"
+
"..\..\..\..\dists\pred.dic"-"c:\shared\scummvm\pred.dic"
; Scummvm Documentation
@@ -57,12 +58,15 @@
; Common datafiles needed for some games
"..\..\..\..\dists\engine-data\kyra.dat"-"c:\shared\scummvm\kyra.dat"
"..\..\..\..\dists\engine-data\sky.cpt"-"c:\shared\scummvm\sky.cpt"
+"..\..\..\..\dists\engine-data\hugo.dat"-"c:\shared\scummvm\hugo.dat"
"..\..\..\..\dists\engine-data\lure.dat"-"c:\shared\scummvm\lure.dat"
"..\..\..\..\dists\engine-data\drascula.dat"-"c:\shared\scummvm\drascula.dat"
"..\..\..\..\dists\engine-data\m4.dat"-"c:\shared\scummvm\m4.dat"
"..\..\..\..\dists\engine-data\teenagent.dat"-"c:\shared\scummvm\teenagent.dat"
+"..\..\..\..\dists\engine-data\toon.dat"-"c:\shared\scummvm\toon.dat"
"..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\shared\scummvm\vkeybd_default.zip"
"..\..\..\..\gui\themes\translations.dat"-"c:\shared\scummvm\translations.dat"
+"..\..\..\..\gui\themes\scummmodern.zip"-"c:\shared\scummvm\scummmodern.zip"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"c:\shared\scummvm\scummvm.ini",FILENULL
diff --git a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg
new file mode 100644
index 0000000000..fb9923fae0
--- /dev/null
+++ b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg
@@ -0,0 +1,86 @@
+; ScummVM - Graphic Adventure Engine
+;
+; ScummVM is the legal property of its developers, whose names
+; are too numerous to list here. Please refer to the COPYRIGHT
+; file distributed with this source distribution.
+;
+; This program is free software; you can redistribute it and/or
+; modify it under the terms of the GNU General Public License
+; as published by the Free Software Foundation; either version 2
+; of the License, or (at your option) any later version.
+
+; This program is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+; GNU General Public License for more details.
+
+; You should have received a copy of the GNU General Public License
+; along with this program; if not, write to the Free Software
+; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+;
+; $URL$
+; $Id$
+;
+;
+
+;;;
+;;; ScummVM .PKG file for .SIS gegeration
+;;;
+
+
+; List of localised vendor names - one per language. At least one must be provided (English [EN]).
+; List must correspond to list of languages specified elsewhere in the .pkg
+%{"ScummVM"}
+; The non-localised, globally unique vendor name (mandatory)
+:"ScummVM"
+
+; UID is the app's UID
+#{"ScummVM UIQ3"},(0xA0000657),1,40,0
+
+; ProductID for UIQ 3.0
+; Product/platform version UID, Major, Minor, Build, Product ID
+(0x101F6300), 3, 0, 0, {"UIQ30ProductID"}
+
+; Application, AIF & Resource file
+"\epoc32\release\gcce\urel\ScummVM.exe"- "!:\sys\bin\ScummVM.exe"
+"\epoc32\data\z\resource\apps\ScummVM.rsc"- "!:\resource\apps\ScummVM.rsc"
+"\epoc32\Data\Z\resource\apps\scummvm_loc.rsc"- "!:\resource\apps\scummvm_loc.rsc"
+"\epoc32\data\Z\resource\APPS\scummvm.MBM"- "!:\resource\apps\scummvm.MBM"
+"\epoc32\data\z\private\10003a3f\apps\scummvm_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_reg.rsc"
+
+"\epoc32\release\gcce\urel\ScummVM_A0000658.exe"- "!:\sys\bin\ScummVM_A0000658.exe"
+"\epoc32\data\z\resource\apps\ScummVM_A0000658.rsc"- "!:\resource\apps\ScummVM_A0000658.rsc"
+"\epoc32\Data\Z\resource\apps\ScummVM_A0000658_loc.rsc"- "!:\resource\apps\ScummVM_A0000658_loc.rsc"
+"\epoc32\data\z\private\10003a3f\apps\scummvm_A0000658_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_A0000658_reg.rsc"
+
+"..\..\..\..\dists\pred.dic"-"c:\shared\scummvm\pred.dic"
+
+; Scummvm Documentation
+"..\..\..\..\COPYRIGHT"-"!:\resource\apps\scummvm\COPYRIGHT", FT, TC
+"..\..\..\..\COPYING"-"!:\resource\apps\scummvm\COPYING", FT, TC
+"..\README"-"!:\system\apps\scummvm\SYMBIAN_README", FT, TC
+"..\..\..\..\AUTHORS"-"!:\resource\apps\scummvm\AUTHORS"
+"..\..\..\..\README"-"!:\resource\apps\scummvm\README"
+"..\..\..\..\NEWS"-"!:\resource\apps\scummvm\NEWS"
+
+; Common datafiles needed for some games
+"..\..\..\..\dists\engine-data\kyra.dat"-"c:\shared\scummvm\kyra.dat"
+"..\..\..\..\dists\engine-data\sky.cpt"-"c:\shared\scummvm\sky.cpt"
+"..\..\..\..\dists\engine-data\hugo.dat"-"c:\shared\scummvm\hugo.dat"
+"..\..\..\..\dists\engine-data\lure.dat"-"c:\shared\scummvm\lure.dat"
+"..\..\..\..\dists\engine-data\drascula.dat"-"c:\shared\scummvm\drascula.dat"
+"..\..\..\..\dists\engine-data\m4.dat"-"c:\shared\scummvm\m4.dat"
+"..\..\..\..\dists\engine-data\teenagent.dat"-"c:\shared\scummvm\teenagent.dat"
+"..\..\..\..\dists\engine-data\toon.dat"-"c:\shared\scummvm\toon.dat"
+"..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\shared\scummvm\vkeybd_default.zip"
+"..\..\..\..\gui\themes\translations.dat"-"c:\shared\scummvm\translations.dat"
+"..\..\..\..\gui\themes\scummmodern.zip"-"c:\shared\scummvm\scummmodern.zip"
+
+; Config/log files: 'empty' will automagically be removed on uninstall
+""-"c:\shared\scummvm\scummvm.ini",FILENULL
+""-"c:\shared\scummvm\scummvm.stdout.txt",FILENULL
+""-"c:\shared\scummvm\scummvm.stderr.txt",FILENULL
+""-"c:\shared\scummvm\sdl.ini",FILENULL
+
+; This install layout will let you upgrade to newer versions wihout loss of scummvm.ini.
+; It will remove the config file, std***.txt files & dirs on uninstall.
diff --git a/backends/platform/symbian/mmp/scummvm_agi.mmp.in b/backends/platform/symbian/mmp/scummvm_agi.mmp.in
index a7dcfb0bb5..5805d36133 100644
--- a/backends/platform/symbian/mmp/scummvm_agi.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_agi.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\agi
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_agos.mmp.in b/backends/platform/symbian/mmp/scummvm_agos.mmp.in
index 4708a040ec..236a62f1b8 100644
--- a/backends/platform/symbian/mmp/scummvm_agos.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_agos.mmp.in
@@ -62,6 +62,6 @@ SOURCEPATH ..\..\..\..\engines\agos
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_base.mmp.in b/backends/platform/symbian/mmp/scummvm_base.mmp.in
index 6a4bba8345..0387bfaf26 100644
--- a/backends/platform/symbian/mmp/scummvm_base.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_base.mmp.in
@@ -48,7 +48,7 @@ ALWAYS_BUILD_AS_ARM
// *** Include paths
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio
USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl
SYSTEMINCLUDE \epoc32\include\ESDL
diff --git a/backends/platform/symbian/mmp/scummvm_cine.mmp.in b/backends/platform/symbian/mmp/scummvm_cine.mmp.in
index aac7d8b5b1..e75ece95f1 100644
--- a/backends/platform/symbian/mmp/scummvm_cine.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_cine.mmp.in
@@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\cine
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_cruise.mmp.in b/backends/platform/symbian/mmp/scummvm_cruise.mmp.in
index fc60bfeace..a91d33b5f5 100644
--- a/backends/platform/symbian/mmp/scummvm_cruise.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_cruise.mmp.in
@@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\cruise
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_draci.mmp.in b/backends/platform/symbian/mmp/scummvm_draci.mmp.in
index d879a03797..044247fac7 100644
--- a/backends/platform/symbian/mmp/scummvm_draci.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_draci.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\draci
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_drascula.mmp.in b/backends/platform/symbian/mmp/scummvm_drascula.mmp.in
index f83bcdb68f..0561e494c1 100644
--- a/backends/platform/symbian/mmp/scummvm_drascula.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_drascula.mmp.in
@@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\drascula
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_gob.mmp.in b/backends/platform/symbian/mmp/scummvm_gob.mmp.in
index 900f862846..7c92611fd2 100644
--- a/backends/platform/symbian/mmp/scummvm_gob.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_gob.mmp.in
@@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\gob
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_groovie.mmp.in b/backends/platform/symbian/mmp/scummvm_groovie.mmp.in
index 1051e6adea..c0294b3b0d 100644
--- a/backends/platform/symbian/mmp/scummvm_groovie.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_groovie.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\groovie
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_hugo.mmp.in b/backends/platform/symbian/mmp/scummvm_hugo.mmp.in
index 31975d3107..66e22fc34b 100644
--- a/backends/platform/symbian/mmp/scummvm_hugo.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_hugo.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\hugo
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_kyra.mmp.in b/backends/platform/symbian/mmp/scummvm_kyra.mmp.in
index 453d41bdc1..d5f2ec951c 100644
--- a/backends/platform/symbian/mmp/scummvm_kyra.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_kyra.mmp.in
@@ -62,5 +62,5 @@ SOURCEPATH ..\..\..\..\engines\kyra
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in b/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in
index 5d0fe6de36..57efa31a85 100644
--- a/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\lastexpress
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_lure.mmp.in b/backends/platform/symbian/mmp/scummvm_lure.mmp.in
index add33d7d8b..2ac1f8f8ff 100644
--- a/backends/platform/symbian/mmp/scummvm_lure.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_lure.mmp.in
@@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\lure
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_m4.mmp.in b/backends/platform/symbian/mmp/scummvm_m4.mmp.in
index 6896dadf10..81ec94dbd4 100644
--- a/backends/platform/symbian/mmp/scummvm_m4.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_m4.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\m4
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_made.mmp.in b/backends/platform/symbian/mmp/scummvm_made.mmp.in
index c51d3ac618..dc24aee279 100644
--- a/backends/platform/symbian/mmp/scummvm_made.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_made.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\made
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in b/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in
index 296c458e39..cb5b18ba18 100644
--- a/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\mohawk
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in b/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in
index 4052a16693..e86473e47a 100644
--- a/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\parallaction
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_queen.mmp.in b/backends/platform/symbian/mmp/scummvm_queen.mmp.in
index ec4ccff939..b5326abe74 100644
--- a/backends/platform/symbian/mmp/scummvm_queen.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_queen.mmp.in
@@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\queen
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_saga.mmp.in b/backends/platform/symbian/mmp/scummvm_saga.mmp.in
index 44e222144c..55d89f7868 100644
--- a/backends/platform/symbian/mmp/scummvm_saga.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_saga.mmp.in
@@ -68,5 +68,5 @@ SOURCEPATH ..\..\..\..\engines\saga
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_sci.mmp.in b/backends/platform/symbian/mmp/scummvm_sci.mmp.in
index 12588495cb..dc06f44a5d 100644
--- a/backends/platform/symbian/mmp/scummvm_sci.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_sci.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\sci
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_scumm.mmp.in b/backends/platform/symbian/mmp/scummvm_scumm.mmp.in
index 381a6060dd..527ce75181 100644
--- a/backends/platform/symbian/mmp/scummvm_scumm.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_scumm.mmp.in
@@ -79,7 +79,7 @@ SOURCE smush/codec47ARM.s // ARM version: add ASM routines
// *** Include paths
USERINCLUDE ..\..\..\..\engines ..\..\..\..\engines\scumm\smush ..\..\..\..\engines\scumm\insane
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include\libc
diff --git a/backends/platform/symbian/mmp/scummvm_sky.mmp.in b/backends/platform/symbian/mmp/scummvm_sky.mmp.in
index f34c839076..eeb517ffcc 100644
--- a/backends/platform/symbian/mmp/scummvm_sky.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_sky.mmp.in
@@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\sky
// *** Include paths
USERINCLUDE ..\..\..\..\engines ..\..\..\..\engines\sky\music
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_sword1.mmp.in b/backends/platform/symbian/mmp/scummvm_sword1.mmp.in
index 58f9f8fa05..0adc156719 100644
--- a/backends/platform/symbian/mmp/scummvm_sword1.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_sword1.mmp.in
@@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\sword1
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_sword2.mmp.in b/backends/platform/symbian/mmp/scummvm_sword2.mmp.in
index 4a19be92ce..c8034c3015 100644
--- a/backends/platform/symbian/mmp/scummvm_sword2.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_sword2.mmp.in
@@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\sword2
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in b/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in
index 6b4812489e..f065bf4376 100644
--- a/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\teenagent
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_tinsel.mmp.in b/backends/platform/symbian/mmp/scummvm_tinsel.mmp.in
index bb56022f20..d61492de6b 100644
--- a/backends/platform/symbian/mmp/scummvm_tinsel.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_tinsel.mmp.in
@@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\tinsel
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_toon.mmp.in b/backends/platform/symbian/mmp/scummvm_toon.mmp.in
index 05742d5242..01924614b4 100644
--- a/backends/platform/symbian/mmp/scummvm_toon.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_toon.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\toon
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_touche.mmp.in b/backends/platform/symbian/mmp/scummvm_touche.mmp.in
index ea8dd2392c..b9cb53b4bf 100644
--- a/backends/platform/symbian/mmp/scummvm_touche.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_touche.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\touche
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_tsage.mmp.in b/backends/platform/symbian/mmp/scummvm_tsage.mmp.in
index b7eb3290b3..fa4968f704 100644
--- a/backends/platform/symbian/mmp/scummvm_tsage.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_tsage.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\tsage
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/mmp/scummvm_tucker.mmp.in b/backends/platform/symbian/mmp/scummvm_tucker.mmp.in
index 0aeb0dc4ec..1ea564c0c0 100644
--- a/backends/platform/symbian/mmp/scummvm_tucker.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_tucker.mmp.in
@@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\tucker
// *** Include paths
USERINCLUDE ..\..\..\..\engines
-USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src
+USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src
diff --git a/backends/platform/symbian/src/portdefs.h b/backends/platform/symbian/src/portdefs.h
index 86460e65c5..dd81080afe 100644
--- a/backends/platform/symbian/src/portdefs.h
+++ b/backends/platform/symbian/src/portdefs.h
@@ -32,7 +32,7 @@
#include <e32def.h>
#include <e32std.h>
-#include <math.h>
+#include <libc\math.h>
/* define pi */
#ifndef M_PI
@@ -157,6 +157,10 @@ void *scumm_bsearch(const void *key, const void *base, size_t nmemb, size_t size
#define FORBIDDEN_SYMBOL_EXCEPTION_FILE
#define FORBIDDEN_SYMBOL_EXCEPTION_fclose
#define FORBIDDEN_SYMBOL_EXCEPTION_fopen
+#define FORBIDDEN_SYMBOL_EXCEPTION_unlink
+#define FORBIDDEN_SYMBOL_EXCEPTION_getcwd
+#define FORBIDDEN_SYMBOL_EXCEPTION_stdout
+#define FORBIDDEN_SYMBOL_EXCEPTION_stderr
// we cannot include SymbianOS.h everywhere, but this works too (functions code is in SymbianOS.cpp)
namespace Symbian {
diff --git a/backends/platform/webos/webos.mk b/backends/platform/webos/webos.mk
index 37223ac56c..804b56de35 100644
--- a/backends/platform/webos/webos.mk
+++ b/backends/platform/webos/webos.mk
@@ -51,8 +51,8 @@
# Increment this number when the packaging of the app has been changed while
# ScummVM itself has the same version as before. The number can be reset to
-# 1 when the ScummVM version is increased.
-VER_PACKAGE = 5
+# 0 when the ScummVM version is increased.
+VER_PACKAGE = 0
PATH_DIST = $(srcdir)/dists/webos
PATH_MOJO = $(PATH_DIST)/mojo
@@ -60,10 +60,19 @@ APP_ID = $(shell basename $(prefix))
APP_VERSION = $(shell printf "%d.%d.%02d%02d" $(VER_MAJOR) $(VER_MINOR) $(VER_PATCH) $(VER_PACKAGE))
DESTDIR ?= staging
PORTDISTDIR ?= portdist
+ifeq ($(HOST_COMPILER),Darwin)
+ SED_DASH_I = "-i \"\""
+else
+ SED_DASH_I = "-i"
+endif
install: all
$(QUIET)$(INSTALL) -d "$(DESTDIR)$(prefix)"
+ifeq ($(HOST_COMPILER),Darwin)
+ $(QUIET)$(INSTALL) -m 0644 "$(PATH_MOJO)/"* "$(DESTDIR)$(prefix)/"
+else
$(QUIET)$(INSTALL) -m 0644 -t "$(DESTDIR)$(prefix)/" "$(PATH_MOJO)/"*
+endif
$(QUIET)$(INSTALL) -m 0755 "$(PATH_MOJO)/start" "$(DESTDIR)$(prefix)/"
$(QUIET)$(INSTALL) -d "$(DESTDIR)$(bindir)"
$(QUIET)$(INSTALL) -c -m 755 "./$(EXECUTABLE)" "$(DESTDIR)$(bindir)/$(EXECUTABLE)"
@@ -77,12 +86,12 @@ ifdef DYNAMIC_MODULES
$(QUIET)$(INSTALL) -c -m 644 $(PLUGINS) "$(DESTDIR)$(libdir)/"
$(QUIET)$(STRIP) "$(DESTDIR)$(libdir)/"*
endif
- $(QUIET)sed -i s/'APP_VERSION'/'$(APP_VERSION)'/ "$(DESTDIR)$(prefix)/appinfo.json"
- $(QUIET)sed -i s/'APP_ID'/'$(APP_ID)'/ "$(DESTDIR)$(prefix)/appinfo.json"
+ $(QUIET)sed $(SED_DASH_I) s/'APP_VERSION'/'$(APP_VERSION)'/ "$(DESTDIR)$(prefix)/appinfo.json"
+ $(QUIET)sed $(SED_DASH_I) s/'APP_ID'/'$(APP_ID)'/ "$(DESTDIR)$(prefix)/appinfo.json"
ifneq (,$(findstring -beta,$(APP_ID)))
- $(QUIET)sed -i s/'APP_TITLE'/'ScummVM Beta'/ "$(DESTDIR)$(prefix)/appinfo.json"
+ $(QUIET)sed $(SED_DASH_I) s/'APP_TITLE'/'ScummVM Beta'/ "$(DESTDIR)$(prefix)/appinfo.json"
else
- $(QUIET)sed -i s/'APP_TITLE'/'ScummVM'/ "$(DESTDIR)$(prefix)/appinfo.json"
+ $(QUIET)sed $(SED_DASH_I) s/'APP_TITLE'/'ScummVM'/ "$(DESTDIR)$(prefix)/appinfo.json"
endif
uninstall:
diff --git a/backends/platform/wince/README-WinCE.txt b/backends/platform/wince/README-WinCE.txt
index 60bcf710bb..11467fd482 100644
--- a/backends/platform/wince/README-WinCE.txt
+++ b/backends/platform/wince/README-WinCE.txt
@@ -1,18 +1,32 @@
ScummVM Windows CE FAQ
-Last updated: 2011-07-20
+Last updated: 2011-12-05
Release version: x.x.x
------------------------------------------------------------------------
New in this version
-------------------
x.x.x:
-- Changed default values for "high_sample_rate" & "FM_high_quality" to "true" as
- most devices today are fast enough to handle this. It's still possible to set
- this to "false" if you have a slower device.
+- Removed FLAC support for audio datafiles (now for real, this was originally
+ announced for 1.0.0, but the library was still included until now). This is
+ done because of size constrains of the executable and also FLAC on a mobile
+ device isn't really recommended - so please use MP3 or Ogg for your audio
+ datafiles.
+
+1.4.0:
+- Changed the memory management so that it is finally possible to break the
+ 32MB per process barrier on Windows CE. It should be possible now (finally)
+ to play nearly every game with the "big" binary (scummvm.exe, which includes
+ all game engines).
+- Changed default values for "high_sample_rate" & "FM_high_quality" to "true"
+ as most devices today are fast enough to handle this. It's still possible to
+ set this to "false" if you have a slower device.
- Fix for TeenAgent & Hugo engines (both weren't running at all, crashed right
at the beginning)
-- Replaced the game mass-adding functionality with the functionality used on all
- other platforms. It now shows progress while searching for games.
+- Discworld 2 is now playable (works now because of the new memory management)
+- Replaced the game mass-adding functionality with the functionality used on
+ all other platforms. It now shows progress while searching for games.
+- Mapped "Skip" button to F10 for AGI games
+- Mapped "Multi Function" to F10 in Simon 1 & 2 (enables hotspot highlighting)
1.3.1:
- Fix for Normal2xAspect scaler which was causing screen update issues in some
@@ -55,7 +69,7 @@ scummvm2.exe:
- agos, cine, drascula, gob, groovie, kyra, made, parallaction, saga,
teenagent, tucker
scummvm3.exe:
- - hugo, mohawk, sci, sword2, toon
+ - hugo, mohawk, sci, sword2, toon, tsage
There are no other port specific changes.
@@ -259,6 +273,7 @@ The following actions are available :
* Quit : quit ScummVM (without saving, be careful when using it)
* Skip : skip a non interactive sequence, the current dialog or
behaves like the ESC key on a regular keyboard
+ All AGI games -> F10 to quit full-screen dialogs
* Hide : hide or display the toolbar
* Keyboard : hide or display the virtual keyboard
* Sound : turns all sound effects and music off and on
@@ -277,6 +292,7 @@ The following actions are available :
Fate of Atlantis -> sucker punch (cheat)
Bargon -> F1 (start the game)
All AGI games -> bring up the predictive input dialog
+ Simon 1 & 2 -> highlight all hotspots in screen
* Bind keys map a key action to a device button
* Up,Down,Left :
Right, : emulate mouse/stylus behavior
diff --git a/backends/platform/wince/portdefs.h b/backends/platform/wince/portdefs.h
index 93df6cd39e..289406c2a4 100644
--- a/backends/platform/wince/portdefs.h
+++ b/backends/platform/wince/portdefs.h
@@ -73,6 +73,7 @@
#include <mmsystem.h>
#include <ctype.h>
//#include <direct.h>
+#include <new>
#ifdef __MINGW32CE__
void *bsearch(const void *, const void *, size_t, size_t, int (*x)(const void *, const void *));
diff --git a/backends/platform/wince/wince-sdl.cpp b/backends/platform/wince/wince-sdl.cpp
index 1abc3cb350..4e17827e5c 100644
--- a/backends/platform/wince/wince-sdl.cpp
+++ b/backends/platform/wince/wince-sdl.cpp
@@ -72,6 +72,50 @@
extern "C" _CRTIMP FILE *__cdecl _wfreopen(const wchar_t *, const wchar_t *, FILE *);
#endif
+#ifdef WRAP_MALLOC
+
+extern "C" void *__real_malloc(size_t size);
+extern "C" void __real_free(void *ptr);
+
+extern "C" void *__wrap_malloc(size_t size) {
+/*
+ void *ptr = __real_malloc(size);
+ printf("malloc(%d) = %p\n", size, ptr);
+ return ptr;
+*/
+ if (size < 64 * 1024) {
+ void *ptr = __real_malloc(size+4);
+// printf("malloc(%d) = %p\n", size, ptr);
+ if (ptr != NULL) {
+ *((HANDLE*)ptr) = 0;
+ return 4+(char*)ptr;
+ }
+ return NULL;
+ }
+ HANDLE H = CreateFileMapping((HANDLE)INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, size+4, 0);
+ void *ptr = MapViewOfFile(H, FILE_MAP_ALL_ACCESS, 0, 0, 0);
+ *((HANDLE*)ptr) = H;
+ return 4+(char*)ptr;
+}
+
+extern "C" void __wrap_free(void *ptr) {
+/*
+ __real_free(ptr);
+ printf("free(%p)\n", ptr);
+*/
+ if (ptr != NULL) {
+ HANDLE H = *(HANDLE*)((char *)ptr-4);
+ if (H == 0) {
+ __real_free((char*)ptr-4);
+ return;
+ }
+ UnmapViewOfFile((char *)ptr-4);
+ CloseHandle(H);
+ }
+}
+
+#endif
+
using namespace CEGUI;
// ********************************************************************************************
diff --git a/backends/platform/wince/wince.mk b/backends/platform/wince/wince.mk
index cac3ad4e8f..c5f3274747 100644
--- a/backends/platform/wince/wince.mk
+++ b/backends/platform/wince/wince.mk
@@ -1,3 +1,7 @@
+ifdef WRAP_MALLOC
+ LDFLAGS += -Wl,--wrap,malloc -Wl,--wrap,free
+endif
+
backends/platform/wince/PocketSCUMM.o: $(srcdir)/backends/platform/wince/PocketSCUMM.rc
$(QUIET)$(MKDIR) $(*D)
$(WINDRES) $(WINDRESFLAGS) -I$(srcdir)/backends/platform/wince $< $@