aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/symbian
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform/symbian')
-rw-r--r--backends/platform/symbian/README38
-rw-r--r--backends/platform/symbian/S60/scummvm-CVS-SymbianS60v1.pkg14
-rw-r--r--backends/platform/symbian/S60/scummvm-CVS-SymbianS60v2.pkg15
-rw-r--r--backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in4
-rw-r--r--backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg14
-rw-r--r--backends/platform/symbian/S80/scummvm-CVS-SymbianS80.pkg13
-rw-r--r--backends/platform/symbian/S90/scummvm-CVS-SymbianS90.pkg13
-rw-r--r--backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in1
-rw-r--r--backends/platform/symbian/UIQ2/scummvm-CVS-SymbianUIQ2.pkg13
-rw-r--r--backends/platform/symbian/UIQ2/scummvm-CVS-SymbianUIQ2_SE.pkg6
-rw-r--r--backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in4
-rw-r--r--backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg13
-rw-r--r--backends/platform/symbian/mmp/scummvm_agi.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_agos.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_base.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_cine.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_cruise.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_gob.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_kyra.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_lure.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_parallaction.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_queen.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_saga.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_scumm.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_sky.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_sword1.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_sword2.mmp.in1
-rw-r--r--backends/platform/symbian/mmp/scummvm_touche.mmp.in1
-rw-r--r--backends/platform/symbian/src/SymbianActions.cpp46
-rw-r--r--backends/platform/symbian/src/SymbianActions.h4
-rw-r--r--backends/platform/symbian/src/SymbianOS.cpp29
31 files changed, 194 insertions, 49 deletions
diff --git a/backends/platform/symbian/README b/backends/platform/symbian/README
index 3a4b6142ad..cbc6a12494 100644
--- a/backends/platform/symbian/README
+++ b/backends/platform/symbian/README
@@ -2,9 +2,9 @@
ScummVM - ScummVM ported to EPOC/SymbianOS
Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson
- Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson
- Copyright (C) 2005 Jurgen 'SumthinWicked' Braam
- Copyright (C) 2005 ScummVM Team
+ Copyright (C) 2007 Lars 'AnotherGuest' Persson
+ Copyright (C) 2007 Jurgen 'SumthinWicked' Braam
+ Copyright (C) 2007 ScummVM Team
$Id$
@@ -13,19 +13,35 @@ About ScummVM
--------------
The original ports (uptil 0.7.1) were made by Andreas Karlsson and Lars Persson.
The main transition to 0.8.0CVS and all relevant changes were done by Jurgen Braam.
- Jurgen and Lars are currently working together to finalize the transfer to CVS.
-
+ Jurgen and Lars have successfully transfered all needed changes into CVS, with additional helpful tools for Symbian OS
+
+ Release version: 0.10.0
+ * This version is only supported on Symbian OS 9 devices due to compiler constraints for older devices. (That means UIQ3 and S60V3 devices)
+ * Updated to SDL version 1.2.11 (previous version used was 1.2.8)
+ * Information about S60 devices can be found here http://wiki.scummvm.org/index.php/SymbianOS_S60
+ * Information about UIQ devices can be found here http://wiki.scummvm.org/index.php/SymbianOS_UIQ
+ * Best source of general information is the ScummVM forum, http://forums.scummvm.org
+ * SVN builds (not frequently updated) can be found at http://anotherguest.k0.se
+
+
+Games supported
+---------------
+ The Symbian port of ScumVM supports all but Sword1 & 2 games. Some games might not run properly due to screenresolution or memory constraints.
+
-Nescessary components
----------------------
+Building ScummVM
+---------------------
+
+ Nescessary components
+ ---------------------
Building ScummVM yourself using the UIQ 2.1/Nokia S60 SDK/Nokia S80 SDK/Nokia S90 SDK framework is not an easy task!
Lets just say the framework needs quite some time to set up and takes a while
to get used to. If you choose to continue you will need the following items:
- - UIQ 2.1 SDK (To build for UIQ devices);
+ - UIQ 2.1 SDK (To build for UIQ2 devices);
http://www.symbian.com/developer/sdks_uiq.asp
- - Nokia S60 1st, 2nd edition (3rd edition has not been tested) SDK (To build for S60 devices)
+ - Nokia S60 1st, 2nd edition,3rd edition SDK (To build for S60 devices)
- Nokia S80 SDK (To build for S80 devices)
@@ -58,8 +74,8 @@ Nescessary components
http://libmpeg2.sourceforge.net/
-Building ScummVM
------------------
+ Compiling ScummVM
+ -----------------
ECompXL: this is a tool that will compress your executable with GZIP and glue
it to a predefined loader app. The app will uncompress your application at
runtime and run it without you even knowing it. A really interesting byproduct
diff --git a/backends/platform/symbian/S60/scummvm-CVS-SymbianS60v1.pkg b/backends/platform/symbian/S60/scummvm-CVS-SymbianS60v1.pkg
index 8c001e2927..d15f549207 100644
--- a/backends/platform/symbian/S60/scummvm-CVS-SymbianS60v1.pkg
+++ b/backends/platform/symbian/S60/scummvm-CVS-SymbianS60v1.pkg
@@ -39,6 +39,20 @@
"\epoc32\release\armi\urel\ScummVM.aif"-"!:\system\apps\ScummVM\ScummVM.aif"
"\epoc32\release\armi\urel\ScummVM.rsc"-"!:\system\apps\ScummVM\ScummVM.rsc"
+"..\..\..\..\dists\pred.dic"-"c:\system\apps\scummvm\pred.dic"
+
+; Scummvm Documentation
+"..\..\..\..\COPYRIGHT"-"!:\system\apps\scummvm\COPYRIGHT", FT, TC
+"..\..\..\..\COPYING"-"!:\system\apps\scummvm\COPYING", FT, TC
+"..\README"-"!:\system\apps\scummvm\SYMBIAN_README", FT, TC
+"..\..\..\..\AUTHORS"-"!:\system\apps\scummvm\AUTHORS"
+"..\..\..\..\README"-"!:\system\apps\scummvm\README"
+"..\..\..\..\NEWS"-"!:\system\apps\scummvm\NEWS"
+
+; Common datafiles needed for some games
+"..\kyra.dat"-"!:\system\apps\scummvm\kyra.dat"
+"..\sky.cpt"-"!:\system\apps\scummvm\sky.cpt"
+
; Config/log files: 'empty' will automagically be removed on uninstall
""-"!:\system\apps\ScummVM\scummvm.ini",FILENULL
""-"!:\system\apps\ScummVM\scummvm.stdout.txt",FILENULL
diff --git a/backends/platform/symbian/S60/scummvm-CVS-SymbianS60v2.pkg b/backends/platform/symbian/S60/scummvm-CVS-SymbianS60v2.pkg
index b2eb086488..5e0c8bfdaa 100644
--- a/backends/platform/symbian/S60/scummvm-CVS-SymbianS60v2.pkg
+++ b/backends/platform/symbian/S60/scummvm-CVS-SymbianS60v2.pkg
@@ -6,7 +6,7 @@
;&EN
; UID is the app's UID
-#{"ScummVM S60v2"},(0x101f9b57),0,80,3
+#{"ScummVM S60v2"},(0x101f9b57),0,100,0
; Platform type
(0x101F6F88), 0, 0, 0, {"Series60ProductID"}
@@ -16,6 +16,19 @@
"\epoc32\release\armi\urel\ScummVM.exe"-"!:\system\apps\ScummVM\ScummVM.exe"
"\epoc32\data\z\system\apps\ScummVM\ScummVM.aif"-"!:\system\apps\ScummVM\ScummVM.aif"
"\epoc32\data\z\system\apps\ScummVM\ScummVM.rsc"-"!:\system\apps\ScummVM\ScummVM.rsc"
+"..\..\..\..\dists\pred.dic"-"c:\system\apps\scummvm\pred.dic"
+
+; Scummvm Documentation
+"..\..\..\..\COPYRIGHT"-"!:\system\apps\scummvm\COPYRIGHT", FT, TC
+"..\..\..\..\COPYING"-"!:\system\apps\scummvm\COPYING", FT, TC
+"..\README"-"!:\system\apps\scummvm\SYMBIAN_README", FT, TC
+"..\..\..\..\AUTHORS"-"!:\system\apps\scummvm\AUTHORS"
+"..\..\..\..\README"-"!:\system\apps\scummvm\README"
+"..\..\..\..\NEWS"-"!:\system\apps\scummvm\NEWS"
+
+; Common datafiles needed for some games
+"..\kyra.dat"-"!:\system\apps\scummvm\kyra.dat"
+"..\sky.cpt"-"!:\system\apps\scummvm\sky.cpt"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"!:\system\apps\ScummVM\scummvm.ini",FILENULL
diff --git a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
index eebd4764f5..4ba5d43bcd 100644
--- a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
+++ b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
@@ -62,12 +62,12 @@ SOURCE c24 ScummxLarge.bmp
SOURCE 8 ScummxLargeMask.bmp
END
-EPOCSTACKSIZE 0x0000F000
+EPOCSTACKSIZE 80000
EPOCHEAPSIZE 2048000 32000000
ALWAYS_BUILD_AS_ARM
MACRO S60
MACRO S60V3
-MACRO EPOC_AS_APP
+
//START_AUTO_MACROS_SLAVE//
// empty base file, will be updated by Perl build scripts
diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg
index 73cbad17cd..12d5b37be2 100644
--- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg
+++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg
@@ -48,6 +48,20 @@
"\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"
+"..\..\..\..\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
+"..\kyra.dat"-"c:\shared\scummvm\kyra.dat"
+"..\sky.cpt"-"c:\shared\scummvm\sky.cpt"
+
; Config/log files: 'empty' will automagically be removed on uninstall
""-"c:\data\scummvm\scummvm.ini",FILENULL
""-"c:\data\scummvm\scummvm.stdout.txt",FILENULL
diff --git a/backends/platform/symbian/S80/scummvm-CVS-SymbianS80.pkg b/backends/platform/symbian/S80/scummvm-CVS-SymbianS80.pkg
index 6daf9081c7..db94745b35 100644
--- a/backends/platform/symbian/S80/scummvm-CVS-SymbianS80.pkg
+++ b/backends/platform/symbian/S80/scummvm-CVS-SymbianS80.pkg
@@ -38,6 +38,19 @@
"\epoc32\release\armi\urel\ScummVM.exe"-"!:\system\apps\ScummVM\ScummVM.exe"
"\epoc32\data\z\system\apps\ScummVM\ScummVM.aif"-"!:\system\apps\ScummVM\ScummVM.aif"
"\epoc32\data\z\system\apps\ScummVM\ScummVM.rsc"-"!:\system\apps\ScummVM\ScummVM.rsc"
+"..\..\..\..\dists\pred.dic"-"c:\system\apps\scummvm\pred.dic"
+
+; Scummvm Documentation
+"..\..\..\..\COPYRIGHT"-"!:\system\apps\scummvm\COPYRIGHT", FT, TC
+"..\..\..\..\COPYING"-"!:\system\apps\scummvm\COPYING", FT, TC
+"..\README"-"!:\system\apps\scummvm\SYMBIAN_README", FT, TC
+"..\..\..\..\AUTHORS"-"!:\system\apps\scummvm\AUTHORS"
+"..\..\..\..\README"-"!:\system\apps\scummvm\README"
+"..\..\..\..\NEWS"-"!:\system\apps\scummvm\NEWS"
+
+; Common datafiles needed for some games
+"..\kyra.dat"-"!:\system\apps\scummvm\kyra.dat"
+"..\sky.cpt"-"!:\system\apps\scummvm\sky.cpt"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"!:\system\apps\ScummVM\scummvm.ini",FILENULL
diff --git a/backends/platform/symbian/S90/scummvm-CVS-SymbianS90.pkg b/backends/platform/symbian/S90/scummvm-CVS-SymbianS90.pkg
index 09ed915e35..6752bc3813 100644
--- a/backends/platform/symbian/S90/scummvm-CVS-SymbianS90.pkg
+++ b/backends/platform/symbian/S90/scummvm-CVS-SymbianS90.pkg
@@ -38,6 +38,19 @@
"\epoc32\release\armi\urel\ScummVM.exe"-"!:\system\apps\ScummVM\ScummVM.exe"
"\epoc32\data\z\system\apps\ScummVM\ScummVM.aif"-"!:\system\apps\ScummVM\ScummVM.aif"
"\epoc32\data\z\system\apps\ScummVM\ScummVM.rsc"-"!:\system\apps\ScummVM\ScummVM.rsc"
+"..\..\..\..\dists\pred.dic"-"c:\system\apps\scummvm\pred.dic"
+
+; Scummvm Documentation
+"..\..\..\..\COPYRIGHT"-"!:\system\apps\scummvm\COPYRIGHT", FT, TC
+"..\..\..\..\COPYING"-"!:\system\apps\scummvm\COPYING", FT, TC
+"..\README"-"!:\system\apps\scummvm\SYMBIAN_README", FT, TC
+"..\..\..\..\AUTHORS"-"!:\system\apps\scummvm\AUTHORS"
+"..\..\..\..\README"-"!:\system\apps\scummvm\README"
+"..\..\..\..\NEWS"-"!:\system\apps\scummvm\NEWS"
+
+; Common datafiles needed for some games
+"..\kyra.dat"-"!:\system\apps\scummvm\kyra.dat"
+"..\sky.cpt"-"!:\system\apps\scummvm\sky.cpt"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"!:\system\apps\ScummVM\scummvm.ini",FILENULL
diff --git a/backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in b/backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in
index c3ebae01d7..3e9c408c96 100644
--- a/backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in
+++ b/backends/platform/symbian/UIQ2/ScummVM_UIQ2.mmp.in
@@ -39,7 +39,6 @@ AIF ScummVm.Aif ..\res\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp
UID 0x100039ce 0x101f9b57
MACRO UIQ
-MACRO EPOC_AS_APP
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/UIQ2/scummvm-CVS-SymbianUIQ2.pkg b/backends/platform/symbian/UIQ2/scummvm-CVS-SymbianUIQ2.pkg
index f8aca7fd52..d55d70c823 100644
--- a/backends/platform/symbian/UIQ2/scummvm-CVS-SymbianUIQ2.pkg
+++ b/backends/platform/symbian/UIQ2/scummvm-CVS-SymbianUIQ2.pkg
@@ -37,6 +37,19 @@
"\epoc32\release\armi\urel\ScummVM.app"-"!:\system\apps\ScummVM\ScummVM.app"
"\epoc32\data\z\system\apps\ScummVM\ScummVM.aif"-"!:\system\apps\ScummVM\ScummVM.aif"
"\epoc32\data\z\system\apps\ScummVM\ScummVM.rsc"-"!:\system\apps\ScummVM\ScummVM.rsc"
+"..\..\..\..\dists\pred.dic"-"c:\system\apps\scummvm\pred.dic"
+
+; Scummvm Documentation
+"..\..\..\..\COPYRIGHT"-"!:\system\apps\scummvm\COPYRIGHT", FT, TC
+"..\..\..\..\COPYING"-"!:\system\apps\scummvm\COPYING", FT, TC
+"..\README"-"!:\system\apps\scummvm\SYMBIAN_README", FT, TC
+"..\..\..\..\AUTHORS"-"!:\system\apps\scummvm\AUTHORS"
+"..\..\..\..\README"-"!:\system\apps\scummvm\README"
+"..\..\..\..\NEWS"-"!:\system\apps\scummvm\NEWS"
+
+; Common datafiles needed for some games
+"..\kyra.dat"-"!:\system\apps\scummvm\kyra.dat"
+"..\sky.cpt"-"!:\system\apps\scummvm\sky.cpt"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"!:\system\apps\ScummVM\scummvm.ini",FILENULL
diff --git a/backends/platform/symbian/UIQ2/scummvm-CVS-SymbianUIQ2_SE.pkg b/backends/platform/symbian/UIQ2/scummvm-CVS-SymbianUIQ2_SE.pkg
index a07149b702..8783f25337 100644
--- a/backends/platform/symbian/UIQ2/scummvm-CVS-SymbianUIQ2_SE.pkg
+++ b/backends/platform/symbian/UIQ2/scummvm-CVS-SymbianUIQ2_SE.pkg
@@ -6,7 +6,7 @@
;&EN
; UID is the app's UID
-#{"ScummVM SE"},(0x101f9b57),0,80,3
+#{"ScummVM SE"},(0x101f9b57),0,100,0
; Platform type
(0x101F617B), 2, 0, 0, {"UIQ20ProductID"}
@@ -22,6 +22,10 @@
""-"!:\system\apps\ScummVM\scummvm.stderr.txt",FILENULL
""-"!:\system\apps\ScummVM\sdl.ini",FILENULL
+; Common datafiles needed for some games
+"..\kyra.dat"-"!:\system\apps\scummvm\kyra.dat"
+"..\sky.cpt"-"!:\system\apps\scummvm\sky.cpt"
+
; 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_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
index 8620237b3a..e6ba0ea743 100644
--- a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
+++ b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
@@ -46,7 +46,7 @@ TARGETPATH \Resource\Apps
LANG SC
END
-EPOCSTACKSIZE 0x0000FFFF
+EPOCSTACKSIZE 80000
EPOCHEAPSIZE 3000000 32000000
START BITMAP ScummVM.mbm
@@ -66,7 +66,7 @@ UID 0x100039ce 0xA0000657
MACRO UIQ
MACRO UIQ3
-MACRO EPOC_AS_APP
+
ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg
index 1e529127f9..f92b013cd7 100644
--- a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg
+++ b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg
@@ -46,6 +46,19 @@
"\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
+"..\..\..\..\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
+"..\kyra.dat"-"c:\shared\scummvm\kyra.dat"
+"..\sky.cpt"-"c:\shared\scummvm\sky.cpt"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"c:\shared\scummvm\scummvm.ini",FILENULL
diff --git a/backends/platform/symbian/mmp/scummvm_agi.mmp.in b/backends/platform/symbian/mmp/scummvm_agi.mmp.in
index f6b47c3458..66a743879a 100644
--- a/backends/platform/symbian/mmp/scummvm_agi.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_agi.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_agi.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_agos.mmp.in b/backends/platform/symbian/mmp/scummvm_agos.mmp.in
index 05ec375b51..f3f265d273 100644
--- a/backends/platform/symbian/mmp/scummvm_agos.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_agos.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_agos.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_base.mmp.in b/backends/platform/symbian/mmp/scummvm_base.mmp.in
index a1f3f1b261..dd9eb0d4ea 100644
--- a/backends/platform/symbian/mmp/scummvm_base.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_base.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_base.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
// Note: the LIB:*.lib statements are used by AdaptAllMMPs.pl, so don't remove them!
//START_AUTO_MACROS_MASTER//
diff --git a/backends/platform/symbian/mmp/scummvm_cine.mmp.in b/backends/platform/symbian/mmp/scummvm_cine.mmp.in
index d8dcd62718..18309f6f9d 100644
--- a/backends/platform/symbian/mmp/scummvm_cine.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_cine.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_CINE.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_cruise.mmp.in b/backends/platform/symbian/mmp/scummvm_cruise.mmp.in
index 05092777b0..43fc2cbf8a 100644
--- a/backends/platform/symbian/mmp/scummvm_cruise.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_cruise.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_cruise.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_gob.mmp.in b/backends/platform/symbian/mmp/scummvm_gob.mmp.in
index 34c4f82bd1..247ff33011 100644
--- a/backends/platform/symbian/mmp/scummvm_gob.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_gob.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_gob.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_kyra.mmp.in b/backends/platform/symbian/mmp/scummvm_kyra.mmp.in
index 899384003f..257eb92420 100644
--- a/backends/platform/symbian/mmp/scummvm_kyra.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_kyra.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_kyra.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_lure.mmp.in b/backends/platform/symbian/mmp/scummvm_lure.mmp.in
index 1a52efbc69..29afe56182 100644
--- a/backends/platform/symbian/mmp/scummvm_lure.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_lure.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_lure.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in b/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in
index 4c1bd99614..ad8b885ee1 100644
--- a/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_parallaction.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_queen.mmp.in b/backends/platform/symbian/mmp/scummvm_queen.mmp.in
index b5a65b6cef..5b90efd1d1 100644
--- a/backends/platform/symbian/mmp/scummvm_queen.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_queen.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_queen.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_saga.mmp.in b/backends/platform/symbian/mmp/scummvm_saga.mmp.in
index 4f6555a049..880c99fbb2 100644
--- a/backends/platform/symbian/mmp/scummvm_saga.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_saga.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_saga.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_scumm.mmp.in b/backends/platform/symbian/mmp/scummvm_scumm.mmp.in
index cdf454e663..16ae2e763a 100644
--- a/backends/platform/symbian/mmp/scummvm_scumm.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_scumm.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_scumm.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_sky.mmp.in b/backends/platform/symbian/mmp/scummvm_sky.mmp.in
index 8748956564..e07b918efb 100644
--- a/backends/platform/symbian/mmp/scummvm_sky.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_sky.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_sky.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_sword1.mmp.in b/backends/platform/symbian/mmp/scummvm_sword1.mmp.in
index 2bd6febc76..0bea7fdcb7 100644
--- a/backends/platform/symbian/mmp/scummvm_sword1.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_sword1.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_sword1.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_sword2.mmp.in b/backends/platform/symbian/mmp/scummvm_sword2.mmp.in
index ddd299ce75..a7eaa4c4f5 100644
--- a/backends/platform/symbian/mmp/scummvm_sword2.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_sword2.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_sword2.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/mmp/scummvm_touche.mmp.in b/backends/platform/symbian/mmp/scummvm_touche.mmp.in
index 787d9f33bf..84d9bd13fb 100644
--- a/backends/platform/symbian/mmp/scummvm_touche.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_touche.mmp.in
@@ -30,6 +30,7 @@ TARGET scummvm_touche.lib
TARGETTYPE lib
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
+ALWAYS_BUILD_AS_ARM
//START_AUTO_MACROS_SLAVE//
diff --git a/backends/platform/symbian/src/SymbianActions.cpp b/backends/platform/symbian/src/SymbianActions.cpp
index cb2652eac4..3809253032 100644
--- a/backends/platform/symbian/src/SymbianActions.cpp
+++ b/backends/platform/symbian/src/SymbianActions.cpp
@@ -47,7 +47,7 @@ const Common::String actionNames[] = {
"Save",
"Skip",
"Zone",
- "FT Cheat",
+ "Multi Function",
"Swap character",
"Skip text",
"Pause",
@@ -122,7 +122,7 @@ void SymbianActions::initInstanceMain(OSystem *mainSystem) {
// Skip
_action_enabled[ACTION_SKIP] = true;
- _key_action[ACTION_SKIP].setAscii(SDLK_ESCAPE);
+ _key_action[ACTION_SKIP].setKey(SDLK_ESCAPE);
}
void SymbianActions::initInstanceGame() {
@@ -138,7 +138,8 @@ void SymbianActions::initInstanceGame() {
bool is_cine = (gameid == "cine");
bool is_touche = (gameid == "touche");
bool is_agi = (gameid == "agi");
-
+ bool is_parallaction = (gameid == "parallaction");
+
Actions::initInstanceGame();
// Initialize keys for different actions
@@ -149,51 +150,58 @@ void SymbianActions::initInstanceGame() {
_action_enabled[ACTION_SAVE] = true;
if (is_queen) {
- _key_action[ACTION_SAVE].setAscii(SDLK_F1); // F1 key for FOTAQ
+ _key_action[ACTION_SAVE].setKey(Common::ASCII_F5, SDLK_F5); // F1 key for FOTAQ
} else if (is_sky) {
- _key_action[ACTION_SAVE].setAscii(63);
+ _key_action[ACTION_SAVE].setKey(Common::ASCII_F5, SDLK_F5);
} else if (is_cine) {
- _key_action[ACTION_SAVE].setAscii(SDLK_F10); // F10
+ _key_action[ACTION_SAVE].setKey(Common::ASCII_F10, SDLK_F10); // F10
} else if (is_agi) {
- _key_action[ACTION_SAVE].setAscii(SDLK_ESCAPE);
+ _key_action[ACTION_SAVE].setKey(Common::ASCII_ESCAPE, SDLK_ESCAPE);
+ } else if (is_parallaction) {
+ _key_action[ACTION_SAVE].setKey('s', SDLK_s);
} else {
- _key_action[ACTION_SAVE].setAscii(SDLK_F5); // F5 key
+ _key_action[ACTION_SAVE].setKey(Common::ASCII_F5, SDLK_F5); // F5 key
}
}
// Enable fast mode
_action_enabled[ACTION_FASTMODE] = true;
- _key_action[ACTION_FASTMODE].setAscii('f');
- _key_action[ACTION_FASTMODE].setFlags(KMOD_CTRL);
+ _key_action[ACTION_FASTMODE].setKey('f', SDLK_f, KMOD_CTRL);
// Swap character
_action_enabled[ACTION_SWAPCHAR] = true;
- _key_action[ACTION_SWAPCHAR].setAscii('b'); // b
+ _key_action[ACTION_SWAPCHAR].setKey('b'); // b
// Zone
_action_enabled[ACTION_ZONE] = true;
- // FT Cheat
- _action_enabled[ACTION_FT_CHEAT] = true;
- _key_action[ACTION_FT_CHEAT].setAscii(86); // shift-V
+ // Multi function key
+ _action_enabled[ACTION_MULTI] = true;
+ if (is_agi)
+ _key_action[ACTION_MULTI].setKey(SDLK_PAUSE); // agi: show predictive dialog
+ else if (is_gob)
+ _key_action[ACTION_MULTI].setKey(Common::ASCII_F1, SDLK_F1); // bargon : F1 to start
+ else if (gameid == "atlantis")
+ _key_action[ACTION_MULTI].setKey(0, SDLK_KP0); // fate of atlantis : Ins to sucker-punch
+ else
+ _key_action[ACTION_MULTI].setKey('V', SDLK_v, KMOD_SHIFT); // FT cheat : shift-V
// Enable debugger
_action_enabled[ACTION_DEBUGGER] = true;
- _key_action[ACTION_DEBUGGER].setAscii('d');
- _key_action[ACTION_DEBUGGER].setFlags(KMOD_CTRL);
+ _key_action[ACTION_DEBUGGER].setKey('d', SDLK_d, KMOD_CTRL);
// Skip text
if (!is_cine)
_action_enabled[ACTION_SKIP_TEXT] = true;
if (is_queen) {
- _key_action[ACTION_SKIP_TEXT].setAscii(SDLK_SPACE);
+ _key_action[ACTION_SKIP_TEXT].setKey(SDLK_SPACE);
} else {
- _key_action[ACTION_SKIP_TEXT].setAscii(SDLK_PERIOD);
+ _key_action[ACTION_SKIP_TEXT].setKey(SDLK_PERIOD);
}
// Pause
- _key_action[ACTION_PAUSE].setAscii(' ');
+ _key_action[ACTION_PAUSE].setKey(' ');
_action_enabled[ACTION_PAUSE] = true;
// Quit
diff --git a/backends/platform/symbian/src/SymbianActions.h b/backends/platform/symbian/src/SymbianActions.h
index 0facde763c..cbd333e500 100644
--- a/backends/platform/symbian/src/SymbianActions.h
+++ b/backends/platform/symbian/src/SymbianActions.h
@@ -34,7 +34,7 @@
namespace GUI {
-#define ACTION_VERSION 6
+#define ACTION_VERSION 7
enum actionType {
ACTION_UP = 0,
@@ -46,7 +46,7 @@ enum actionType {
ACTION_SAVE,
ACTION_SKIP,
ACTION_ZONE,
- ACTION_FT_CHEAT,
+ ACTION_MULTI,
ACTION_SWAPCHAR,
ACTION_SKIP_TEXT,
ACTION_PAUSE,
diff --git a/backends/platform/symbian/src/SymbianOS.cpp b/backends/platform/symbian/src/SymbianOS.cpp
index 737795182e..c992c97316 100644
--- a/backends/platform/symbian/src/SymbianOS.cpp
+++ b/backends/platform/symbian/src/SymbianOS.cpp
@@ -88,8 +88,10 @@ void OSystem_SDL_Symbian::setFeatureState(Feature f, bool enable) {
else {
}
-
- return;
+ break;
+ case kFeatureDisableKeyFiltering:
+ GUI::Actions::Instance()->beginMapping(enable);
+ break;;
default:
OSystem_SDL::setFeatureState(f, enable);
}
@@ -104,6 +106,7 @@ OSystem_SDL_Symbian::OSystem_SDL_Symbian() :_channels(0),_stereo_mix_buffer(0) {
}
void OSystem_SDL_Symbian::initBackend() {
+ ConfMan.set("extrapath", Symbian::GetExecutablePath());
ConfMan.setBool("FM_high_quality", false);
#if !defined(S60) || defined(S60V3) // S60 has low quality as default
ConfMan.setBool("FM_medium_quality", true);
@@ -143,7 +146,7 @@ bool OSystem_SDL_Symbian::setGraphicsMode(const char * /*name*/) {
return OSystem_SDL::setGraphicsMode(getDefaultGraphicsMode());
}
-void OSystem_SDL_Symbian::quitWithErrorMsg(const char *msg) {
+void OSystem_SDL_Symbian::quitWithErrorMsg(const char * /*aMsg*/) {
CEikonEnv::Static()->AlertWin(_L("quitWithErrorMsg()")) ;
@@ -345,16 +348,21 @@ bool OSystem_SDL_Symbian::remapKey(SDL_Event &ev, Common::Event &event) {
}
return true;
-
+ case GUI::ACTION_MULTI: {
+ GUI::Key &key = GUI::Actions::Instance()->getKeyAction(loop);
+ // if key code is pause, then change event to interactive or just fall through
+ if(key.keycode() == SDLK_PAUSE) {
+ event.type = Common::EVENT_PREDICTIVE_DIALOG;
+ return true;
+ }
+ }
case GUI::ACTION_SAVE:
case GUI::ACTION_SKIP:
- case GUI::ACTION_FT_CHEAT:
case GUI::ACTION_SKIP_TEXT:
case GUI::ACTION_PAUSE:
case GUI::ACTION_SWAPCHAR:
case GUI::ACTION_FASTMODE:
- case GUI::ACTION_DEBUGGER:
- {
+ case GUI::ACTION_DEBUGGER: {
GUI::Key &key = GUI::Actions::Instance()->getKeyAction(loop);
ev.key.keysym.sym = (SDLKey) key.ascii();
ev.key.keysym.scancode= key.keycode();
@@ -426,7 +434,7 @@ struct TSymbianFileEntry {
FILE* symbian_fopen(const char* name, const char* mode) {
TSymbianFileEntry* fileEntry = new TSymbianFileEntry;
-
+
if (fileEntry != NULL) {
TInt modeLen = strlen(mode);
@@ -446,7 +454,9 @@ FILE* symbian_fopen(const char* name, const char* mode) {
if ((modeLen > 1 && mode[1] == '+') || (modeLen > 2 && mode[2] == '+')) {
fileMode = fileMode| EFileWrite;
}
-
+
+ fileMode = fileMode| EFileShareAny;
+
switch(mode[0]) {
case 'a':
if (fileEntry->iFileHandle.Open(CEikonEnv::Static()->FsSession(), tempFileName, fileMode) != KErrNone) {
@@ -471,7 +481,6 @@ FILE* symbian_fopen(const char* name, const char* mode) {
break;
}
}
-
return (FILE*) fileEntry;
}