aboutsummaryrefslogtreecommitdiff
path: root/backends/epoc/build
diff options
context:
space:
mode:
authorLars Persson2005-06-21 20:19:39 +0000
committerLars Persson2005-06-21 20:19:39 +0000
commit7bded41f194331f309388afa5a30035927655f5d (patch)
tree394c4111912f6bb328ef0c0669aa4f7e9335fe11 /backends/epoc/build
parentfd8c94a2f372e64593657b1d02776d208af62bd0 (diff)
downloadscummvm-rg350-7bded41f194331f309388afa5a30035927655f5d.tar.gz
scummvm-rg350-7bded41f194331f309388afa5a30035927655f5d.tar.bz2
scummvm-rg350-7bded41f194331f309388afa5a30035927655f5d.zip
This is the submission of the Epoc/Symbian build files for
UIQ 2.1 UI Series 60 Series 80 Series 90/Nokia 7710 There is a dependency on ESdl for these devices. svn-id: r18427
Diffstat (limited to 'backends/epoc/build')
-rw-r--r--backends/epoc/build/.placeholder1
-rw-r--r--backends/epoc/build/S60/BLD.INF12
-rw-r--r--backends/epoc/build/S60/EScummVMS60.rss62
-rw-r--r--backends/epoc/build/S60/EScummVM_080.pkg36
-rw-r--r--backends/epoc/build/S60/EScummVM_S60.mmp113
-rw-r--r--backends/epoc/build/S60/EScummVM_S60_App.mmp47
-rw-r--r--backends/epoc/build/S60/ScummVMApp.cpp163
-rw-r--r--backends/epoc/build/S60/ScummVMApp.h79
-rw-r--r--backends/epoc/build/S80/BLD.INF12
-rw-r--r--backends/epoc/build/S80/EScummVM_080.pkg36
-rw-r--r--backends/epoc/build/S80/EScummVM_S80.mmp112
-rw-r--r--backends/epoc/build/S80/EScummVM_S80_App.mmp46
-rw-r--r--backends/epoc/build/S80/EScummvmS80.rss62
-rw-r--r--backends/epoc/build/S80/ScummVMApp.cpp163
-rw-r--r--backends/epoc/build/S80/ScummVMApp.h78
-rw-r--r--backends/epoc/build/S90/BLD.INF12
-rw-r--r--backends/epoc/build/S90/EScummVM_080.pkg36
-rw-r--r--backends/epoc/build/S90/EScummvmS90.rss62
-rw-r--r--backends/epoc/build/S90/EScummvm_S90.mmp112
-rw-r--r--backends/epoc/build/S90/EScummvm_S90_App.mmp46
-rw-r--r--backends/epoc/build/S90/ScummVMApp.cpp163
-rw-r--r--backends/epoc/build/S90/ScummVMApp.h78
-rw-r--r--backends/epoc/build/ScummVmAif.rss44
-rw-r--r--backends/epoc/build/UIQ/BLD.INF13
-rw-r--r--backends/epoc/build/UIQ/EScummVM.cer26
-rw-r--r--backends/epoc/build/UIQ/EScummVM.key20
-rw-r--r--backends/epoc/build/UIQ/EScummVM.rss62
-rw-r--r--backends/epoc/build/UIQ/EScummVM_080.pkg35
-rw-r--r--backends/epoc/build/UIQ/EScummVM_UIQ.mmp110
-rw-r--r--backends/epoc/build/epoc-libmad.zipbin0 -> 1564 bytes
-rw-r--r--backends/epoc/build/epoc-zlib.zipbin0 -> 1408 bytes
-rw-r--r--backends/epoc/build/make.bat46
-rw-r--r--backends/epoc/build/scummL.bmpbin0 -> 3126 bytes
-rw-r--r--backends/epoc/build/scummLm.bmpbin0 -> 630 bytes
-rw-r--r--backends/epoc/build/scummS.bmpbin0 -> 822 bytes
-rw-r--r--backends/epoc/build/scummSm.bmpbin0 -> 246 bytes
-rw-r--r--backends/epoc/build/scummvm_base.mmp136
-rw-r--r--backends/epoc/build/scummvm_gob.mmp69
-rw-r--r--backends/epoc/build/scummvm_queen.mmp69
-rw-r--r--backends/epoc/build/scummvm_scumm.mmp142
-rw-r--r--backends/epoc/build/scummvm_simon.mmp64
-rw-r--r--backends/epoc/build/scummvm_sky.mmp71
-rw-r--r--backends/epoc/build/updateMMPs.pl156
43 files changed, 2594 insertions, 0 deletions
diff --git a/backends/epoc/build/.placeholder b/backends/epoc/build/.placeholder
new file mode 100644
index 0000000000..dcf4d34a62
--- /dev/null
+++ b/backends/epoc/build/.placeholder
@@ -0,0 +1 @@
+>> SumthinWicked *grins* << \ No newline at end of file
diff --git a/backends/epoc/build/S60/BLD.INF b/backends/epoc/build/S60/BLD.INF
new file mode 100644
index 0000000000..25d2d236ca
--- /dev/null
+++ b/backends/epoc/build/S60/BLD.INF
@@ -0,0 +1,12 @@
+PRJ_PLATFORMS
+WINS ARMI // ARM4 THUMB
+
+PRJ_MMPFILES
+..\scummvm_base.mmp
+..\scummvm_scumm.mmp
+..\scummvm_simon.mmp
+..\scummvm_sky.mmp
+..\scummvm_queen.mmp
+..\scummvm_gob.mmp
+.\EScummVM_S60.mmp
+.\EScummVM_S60_App.mmp
diff --git a/backends/epoc/build/S60/EScummVMS60.rss b/backends/epoc/build/S60/EScummVMS60.rss
new file mode 100644
index 0000000000..0d1fe28bde
--- /dev/null
+++ b/backends/epoc/build/S60/EScummVMS60.rss
@@ -0,0 +1,62 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+// ScummVM.RSS
+
+NAME SCUM
+
+// Include definitions of resource STRUCTS used by this
+// resource script
+#include <eikon.rh>
+#include "..\..\Scummvm.hrh"
+// Include the standard Eikon resource ids
+#include <eikon.rsg>
+
+
+RESOURCE RSS_SIGNATURE
+ {
+ }
+
+RESOURCE TBUF16 { buf=""; }
+
+RESOURCE EIK_APP_INFO
+ {
+ menubar = r_scum_menubar;
+ }
+
+RESOURCE MENU_BAR r_scum_menubar // *** Menu bar
+{
+ titles =
+ {
+ MENU_TITLE { menu_pane = r_scum_menu; txt = "ScummVM"; }
+ };
+}
+
+RESOURCE MENU_PANE r_scum_menu // *** Submenu
+{
+ items =
+ {
+
+ MENU_ITEM{command = EEikCmdExit;txt = "Exit";}
+ };
+}
diff --git a/backends/epoc/build/S60/EScummVM_080.pkg b/backends/epoc/build/S60/EScummVM_080.pkg
new file mode 100644
index 0000000000..51cb3e394c
--- /dev/null
+++ b/backends/epoc/build/S60/EScummVM_080.pkg
@@ -0,0 +1,36 @@
+;;;
+;;; EScummVM .PKG file for .SIS gegeration
+;;;
+
+; Languages
+;&EN
+
+; UID is the app's UID
+#{"EScummVM S60"},(0x101f9b57),0,80,3
+
+; Platform type
+(0x101F6F88), 0, 0, 0, {"Series60ProductID"}
+
+; Signature
+*"EScummVM.key","EScummVM.cer"
+
+; Application file Launcher and actual exe
+"..\..\\epoc32\release\armi\urel\EScummVMS60.app"-"!:\system\apps\EScummVMS60\EScummVMS60.app"
+"\epoc32\release\armi\urel\EScummVM.exe"-":\system\apps\EScummVMS60\EScummVM.exe"
+
+; AIF application information file
+"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.aif"-"!:\system\apps\EScummVMS60\EScummVMS60.aif"
+
+; Resource file
+"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.rsc"-"!:\system\apps\EScummVMS60\EScummVMS60.rsc"
+
+; Empty .placeholder file, ensures creation of c:\documents\EScummVM\ for future file saves
+".placeholder"-"c:\documents\EScummVM\.placeholder"
+
+; Config/log files: 'empty' will automagically be removed on uninstall
+""-"c:\documents\EScummVM\scummvm.ini",FN
+""-"c:\documents\EScummVM\scummvm.stdout.txt",FN
+""-"c:\documents\EScummVM\scummvm.stderr.txt",FN
+
+; 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. \ No newline at end of file
diff --git a/backends/epoc/build/S60/EScummVM_S60.mmp b/backends/epoc/build/S60/EScummVM_S60.mmp
new file mode 100644
index 0000000000..9fe8e1e9c7
--- /dev/null
+++ b/backends/epoc/build/S60/EScummVM_S60.mmp
@@ -0,0 +1,113 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+//
+// EPOC S60 MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+#if defined(WINS)
+ TARGET EScummVM.dll
+#else
+ TARGET EScummVM.exe
+#endif
+TARGETPATH system\apps\EScummVMs60
+TARGETTYPE EXEDLL
+ // /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 MSVC /QIfist /Ob1 /Oy /GF
+//OPTION GCC -O3 -funroll-loops -finline-functions -ffast-math -frerun-loop-opt -fconserve-space -fexpensive-optimizations -Wno-multichar -Wno-reorder
+sourcepath ..\
+EPOCSTACKSIZE 0x00008000
+
+EPOCHEAPSIZE 1024 5242880
+
+MACRO S60
+MACRO NONSTANDARD_PORT
+
+// these need too high a resolution
+MACRO DISABLE_SWORD1
+MACRO DISABLE_SWORD2
+// these are not ready to be released
+MACRO DISABLE_SAGA
+MACRO DISABLE_KYRA
+// these work, so don't disable them :)
+//MACRO DISABLE_SIMON
+//MACRO DISABLE_SKY
+//MACRO DISABLE_QUEEN
+//MACRO DISABLE_GOB
+
+// *** Static Libraries
+
+STATICLIBRARY scummvm_scumm.lib
+STATICLIBRARY scummvm_simon.lib
+STATICLIBRARY scummvm_sky.lib
+STATICLIBRARY scummvm_queen.lib
+STATICLIBRARY scummvm_gob.lib
+STATICLIBRARY scummvm_base.lib
+
+STATICLIBRARY libmad.lib
+STATICLIBRARY zlib.lib
+STATICLIBRARY esdl.lib
+#if !defined(WINS)
+STATICLIBRARY egcc.lib // for __fixunsdfsi
+#endif
+// *** Include paths
+
+USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui
+USERINCLUDE ..\..\..\..\backends\fs ..\..\..\..\backends\epoc ..\..\..\..\backends\sdl ..\..\..\..\sound
+
+SYSTEMINCLUDE \epoc32\include\ESDL
+SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
+SYSTEMINCLUDE \epoc32\include\libc
+SYSTEMINCLUDE \epoc32\include
+SYSTEMINCLUDE ..\..\..\..\backends\epoc // for portdefs.h
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..\..
+
+//START_AUTO_OBJECTS_BASE_// Updated @ Tue May 31 18:35:38 2005
+SOURCE base\engine.cpp
+SOURCE base\gameDetector.cpp
+SOURCE base\main.cpp
+SOURCE base\plugins.cpp
+//STOP_AUTO_OBJECTS_BASE_//
+
+// backend EPOC/SDL/ESDL specific includes
+SOURCE backends\sdl\events.cpp
+SOURCE backends\sdl\graphics.cpp
+SOURCE backends\sdl\sdl.cpp
+SOURCE backends\fs\symbian\symbian-fs.cpp
+SOURCE backends\epoc\SymbianOS.cpp
+SOURCE backends\epoc\ScummApp.cpp
+
+// *** Dynamic Libraries
+
+LIBRARY cone.lib eikcore.lib
+LIBRARY euser.lib apparc.lib fbscli.lib
+LIBRARY estlib.lib apgrfx.lib
+LIBRARY gdi.lib hal.lib bitgdi.lib
+LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib
+LIBRARY AVKON.LIB
+
diff --git a/backends/epoc/build/S60/EScummVM_S60_App.mmp b/backends/epoc/build/S60/EScummVM_S60_App.mmp
new file mode 100644
index 0000000000..0664320027
--- /dev/null
+++ b/backends/epoc/build/S60/EScummVM_S60_App.mmp
@@ -0,0 +1,47 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+//
+// MAKEFILE.MMP S60 ScummVM Launcher
+//
+
+TARGET EScummVMS60.app
+TARGETPATH system\apps\EScummVMS60
+TARGETTYPE app
+
+UID 0x100039ce 0x101f9b57
+RESOURCE ESCUMMVMS60.rss
+
+SOURCEPATH .
+USERINCLUDE .
+SYSTEMINCLUDE \epoc32\include \epoc32\include\libc
+
+// app source
+SOURCE ScummVMApp.cpp
+sourcepath ..
+AIF EScummVmS60.Aif ..\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // still fails?
+// libraries
+LIBRARY cone.lib EIKCORE.lib
+LIBRARY euser.lib apparc.lib
+LIBRARY efsrv.lib apgrfx.lib
+LIBRARY avkon.lib \ No newline at end of file
diff --git a/backends/epoc/build/S60/ScummVMApp.cpp b/backends/epoc/build/S60/ScummVMApp.cpp
new file mode 100644
index 0000000000..1702a88ba7
--- /dev/null
+++ b/backends/epoc/build/S60/ScummVMApp.cpp
@@ -0,0 +1,163 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ */
+
+#include "ScummVMapp.h"
+#include <escummvms60.rsg>
+#include <apgcli.h>
+#include <eikdll.h>
+
+EXPORT_C CApaApplication* NewApplication() {
+ return (new CScummVM);
+}
+
+CScummVM::CScummVM() {
+}
+
+CScummVM::~CScummVM() {
+}
+
+CApaDocument* CScummVM::CreateDocumentL()
+{
+ return new (ELeave) CScummVMDoc(*this);
+}
+
+TUid CScummVM::AppDllUid() const
+{
+ return TUid::Uid(0x101f9b57);
+}
+
+CScummVMDoc::CScummVMDoc(CEikApplication& aApp):CAknDocument(aApp) {
+}
+
+CScummVMDoc::~CScummVMDoc() {
+}
+
+CEikAppUi* CScummVMDoc::CreateAppUiL() {
+ return new (ELeave) CScummVMUi;
+}
+
+void CScummVMUi::HandleForegroundEventL(TBool aForeground) {
+ if(aForeground) {
+ BringUpEmulatorL();
+ }
+}
+
+CScummVMUi::CScummVMUi() {
+}
+
+CScummVMUi::~CScummVMUi() {
+ if(iWatcher) {
+ iThreadWatch.LogonCancel(iWatcher->iStatus);
+ iWatcher->Cancel();
+ }
+ delete iWatcher;
+
+ iThreadWatch.Close();
+}
+
+void CScummVMUi::ConstructL() {
+ BaseConstructL();
+ TBuf<128> startFile;
+ startFile = iEikonEnv->EikAppUi()->Application()->AppFullName();
+ TParse parser;
+ parser.Set(startFile,NULL,NULL);
+
+ startFile = parser.DriveAndPath();
+#ifndef __WINS__
+ startFile.Append( _L("EScummVM.exe"));
+#else
+ startFile.Append( _L("EScummVM.dll"));
+#endif
+ CApaCommandLine* cmdLine=CApaCommandLine::NewLC(startFile);
+ RApaLsSession lsSession;
+ lsSession.Connect();
+ CleanupClosePushL(lsSession);
+ lsSession.StartApp(*cmdLine,iThreadId);
+ CleanupStack::PopAndDestroy();//close lsSession
+ CleanupStack::PopAndDestroy(cmdLine);
+
+ TApaTaskList taskList(iEikonEnv->WsSession());
+ TApaTask myTask=taskList.FindApp(TUid::Uid(0x101f9b57));
+ myTask.SendToBackground();
+ TApaTask exeTask=taskList.FindByPos(0);
+ iExeWgId=exeTask.WgId();
+
+ if(iExeWgId == myTask.WgId()) { // Should n't be the same
+ Exit();
+ }
+ if(iThreadWatch.Open(iThreadId)==KErrNone) {
+ iWatcher = new (ELeave)CScummWatcher;
+ iWatcher->iAppUi=this;
+ iThreadWatch.Logon(iWatcher->iStatus);
+ }
+}
+
+CScummWatcher::CScummWatcher():CActive(EPriorityStandard) {
+ CActiveScheduler::Add(this);
+ iStatus=KRequestPending;
+ SetActive();
+}
+
+CScummWatcher::~CScummWatcher() {
+}
+
+void CScummWatcher::DoCancel() {
+}
+
+void CScummWatcher::RunL() {
+ iAppUi->HandleCommandL(EEikCmdExit);
+}
+
+void CScummVMUi::BringUpEmulatorL() {
+ RThread thread;
+ if(thread.Open(iThreadId)==KErrNone) {
+ thread.Close();
+ TApaTask apaTask(iEikonEnv->WsSession());
+ apaTask.SetWgId(iExeWgId);
+ apaTask.BringToForeground();
+ }
+ else
+ {
+ iExeWgId=-1;
+ }
+}
+
+void CScummVMUi::HandleCommandL(TInt aCommand) {
+ switch(aCommand) {
+ case EEikCmdExit:
+ {
+ RThread thread;
+ if(thread.Open(iThreadId)==KErrNone)
+ {
+ thread.Terminate(0);
+ thread.Close();
+ }
+ Exit();
+ }
+ break;
+ }
+}
+
+GLDEF_C TInt E32Dll(TDllReason) {
+ return KErrNone;
+}
diff --git a/backends/epoc/build/S60/ScummVMApp.h b/backends/epoc/build/S60/ScummVMApp.h
new file mode 100644
index 0000000000..9cf8623835
--- /dev/null
+++ b/backends/epoc/build/S60/ScummVMApp.h
@@ -0,0 +1,79 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ */
+
+#ifndef ScummVMapps60h
+#define ScummVMapps60h
+
+#include <aknapp.h>
+#include <eikapp.h>
+#include <e32base.h>
+#include <coecntrl.h>
+#include <eikenv.h>
+#include <coeview.h>
+#include <eikappui.h>
+
+class CScummVM:public CEikApplication {
+public:
+ CScummVM();
+ ~CScummVM();
+ CApaDocument* CreateDocumentL();
+ TUid AppDllUid() const;
+};
+
+
+#include <AKNdoc.h>
+
+class CScummVMDoc:public CAknDocument {
+public:
+ ~CScummVMDoc();
+ CEikAppUi* CreateAppUiL();
+ void ConstructL();
+ CScummVMDoc(CEikApplication& aApplicaiton);
+};
+
+#include <aknappui.h>
+class CScummVMUi;
+class CScummWatcher:public CActive {
+public:
+ CScummWatcher();
+ ~CScummWatcher();
+ void DoCancel();
+ void RunL();
+ CScummVMUi* iAppUi;
+};
+
+class CScummVMUi:public CAknAppUi {
+public:
+ CScummVMUi();
+ ~CScummVMUi();
+ void ConstructL();
+ void HandleCommandL(TInt aCommand);
+ void HandleForegroundEventL(TBool aForeground);
+ void BringUpEmulatorL();
+private:
+ TThreadId iThreadId;
+ TInt iExeWgId;
+ RThread iThreadWatch;
+ CScummWatcher* iWatcher;
+};
+#endif
diff --git a/backends/epoc/build/S80/BLD.INF b/backends/epoc/build/S80/BLD.INF
new file mode 100644
index 0000000000..72207eb096
--- /dev/null
+++ b/backends/epoc/build/S80/BLD.INF
@@ -0,0 +1,12 @@
+PRJ_PLATFORMS
+WINS ARMI // ARM4 THUMB
+
+PRJ_MMPFILES
+..\scummvm_base.mmp
+..\scummvm_scumm.mmp
+..\scummvm_simon.mmp
+..\scummvm_sky.mmp
+..\scummvm_queen.mmp
+..\scummvm_gob.mmp
+.\EScummVM_S80.mmp
+.\EScummVM_S80_App.mmp
diff --git a/backends/epoc/build/S80/EScummVM_080.pkg b/backends/epoc/build/S80/EScummVM_080.pkg
new file mode 100644
index 0000000000..51cb3e394c
--- /dev/null
+++ b/backends/epoc/build/S80/EScummVM_080.pkg
@@ -0,0 +1,36 @@
+;;;
+;;; EScummVM .PKG file for .SIS gegeration
+;;;
+
+; Languages
+;&EN
+
+; UID is the app's UID
+#{"EScummVM S60"},(0x101f9b57),0,80,3
+
+; Platform type
+(0x101F6F88), 0, 0, 0, {"Series60ProductID"}
+
+; Signature
+*"EScummVM.key","EScummVM.cer"
+
+; Application file Launcher and actual exe
+"..\..\\epoc32\release\armi\urel\EScummVMS60.app"-"!:\system\apps\EScummVMS60\EScummVMS60.app"
+"\epoc32\release\armi\urel\EScummVM.exe"-":\system\apps\EScummVMS60\EScummVM.exe"
+
+; AIF application information file
+"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.aif"-"!:\system\apps\EScummVMS60\EScummVMS60.aif"
+
+; Resource file
+"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.rsc"-"!:\system\apps\EScummVMS60\EScummVMS60.rsc"
+
+; Empty .placeholder file, ensures creation of c:\documents\EScummVM\ for future file saves
+".placeholder"-"c:\documents\EScummVM\.placeholder"
+
+; Config/log files: 'empty' will automagically be removed on uninstall
+""-"c:\documents\EScummVM\scummvm.ini",FN
+""-"c:\documents\EScummVM\scummvm.stdout.txt",FN
+""-"c:\documents\EScummVM\scummvm.stderr.txt",FN
+
+; 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. \ No newline at end of file
diff --git a/backends/epoc/build/S80/EScummVM_S80.mmp b/backends/epoc/build/S80/EScummVM_S80.mmp
new file mode 100644
index 0000000000..4b12e269b7
--- /dev/null
+++ b/backends/epoc/build/S80/EScummVM_S80.mmp
@@ -0,0 +1,112 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+//
+// EPOC S80 MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+#if defined(WINS)
+ TARGET EScummVM.dll
+#else
+ TARGET EScummVM.exe
+#endif
+TARGETPATH system\apps\EScummVMs80
+TARGETTYPE EXEDLL
+ // /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 MSVC /QIfist /Ob1 /Oy /GF
+//OPTION GCC -O3 -funroll-loops -finline-functions -ffast-math -frerun-loop-opt -fconserve-space -fexpensive-optimizations -Wno-multichar -Wno-reorder
+sourcepath ..\
+EPOCSTACKSIZE 0x00008000
+
+EPOCHEAPSIZE 1024 5242880
+
+MACRO S80
+MACRO NONSTANDARD_PORT
+
+// these need too high a resolution
+MACRO DISABLE_SWORD1
+MACRO DISABLE_SWORD2
+// these are not ready to be released
+MACRO DISABLE_SAGA
+MACRO DISABLE_KYRA
+// these work, so don't disable them :)
+//MACRO DISABLE_SIMON
+//MACRO DISABLE_SKY
+//MACRO DISABLE_QUEEN
+//MACRO DISABLE_GOB
+
+// *** Static Libraries
+
+STATICLIBRARY scummvm_scumm.lib
+STATICLIBRARY scummvm_simon.lib
+STATICLIBRARY scummvm_sky.lib
+STATICLIBRARY scummvm_queen.lib
+STATICLIBRARY scummvm_gob.lib
+STATICLIBRARY scummvm_base.lib
+
+STATICLIBRARY libmad.lib
+STATICLIBRARY zlib.lib
+STATICLIBRARY esdl.lib
+#if !defined(WINS)
+STATICLIBRARY egcc.lib // for __fixunsdfsi
+#endif
+// *** Include paths
+
+USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui
+USERINCLUDE ..\..\..\..\backends\fs ..\..\..\..\backends\epoc ..\..\..\..\backends\sdl ..\..\..\..\sound
+
+SYSTEMINCLUDE \epoc32\include\ESDL
+SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
+SYSTEMINCLUDE \epoc32\include\libc
+SYSTEMINCLUDE \epoc32\include
+SYSTEMINCLUDE ..\..\..\..\backends\epoc // for portdefs.h
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..\..
+
+//START_AUTO_OBJECTS_BASE_// Updated @ Tue May 31 18:35:38 2005
+SOURCE base\engine.cpp
+SOURCE base\gameDetector.cpp
+SOURCE base\main.cpp
+SOURCE base\plugins.cpp
+//STOP_AUTO_OBJECTS_BASE_//
+
+// backend EPOC/SDL/ESDL specific includes
+SOURCE backends\sdl\events.cpp
+SOURCE backends\sdl\graphics.cpp
+SOURCE backends\sdl\sdl.cpp
+SOURCE backends\fs\symbian\symbian-fs.cpp
+SOURCE backends\epoc\SymbianOS.cpp
+SOURCE backends\epoc\ScummApp.cpp
+
+// *** Dynamic Libraries
+
+LIBRARY cone.lib eikcore.lib
+LIBRARY euser.lib apparc.lib fbscli.lib
+LIBRARY estlib.lib apgrfx.lib
+LIBRARY gdi.lib hal.lib bitgdi.lib
+LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib
+
diff --git a/backends/epoc/build/S80/EScummVM_S80_App.mmp b/backends/epoc/build/S80/EScummVM_S80_App.mmp
new file mode 100644
index 0000000000..05f14b703a
--- /dev/null
+++ b/backends/epoc/build/S80/EScummVM_S80_App.mmp
@@ -0,0 +1,46 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+//
+// MAKEFILE.MMP S80 ScummVM Launcher
+//
+
+TARGET EScummVMS80.app
+TARGETPATH system\apps\EScummVMS80
+TARGETTYPE app
+
+UID 0x100039ce 0x101f9b57
+RESOURCE ESCUMMVMS80.rss
+
+SOURCEPATH .
+USERINCLUDE .
+SYSTEMINCLUDE \epoc32\include \epoc32\include\libc
+
+// app source
+SOURCE ScummVMApp.cpp
+sourcepath ..
+AIF EScummVmS80.Aif ..\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // still fails?
+// libraries
+LIBRARY cone.lib EIKCORE.lib
+LIBRARY euser.lib apparc.lib
+LIBRARY efsrv.lib apgrfx.lib \ No newline at end of file
diff --git a/backends/epoc/build/S80/EScummvmS80.rss b/backends/epoc/build/S80/EScummvmS80.rss
new file mode 100644
index 0000000000..1f116a7bf7
--- /dev/null
+++ b/backends/epoc/build/S80/EScummvmS80.rss
@@ -0,0 +1,62 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+// ScummVM.RSS
+
+NAME SCUM
+
+// Include definitions of resource STRUCTS used by this
+// resource script
+#include <eikon.rh>
+#include "..\..\Scummvm.hrh"
+// Include the standard Eikon resource ids
+#include <eikon.rsg>
+
+
+RESOURCE RSS_SIGNATURE
+ {
+ }
+
+RESOURCE TBUF16 { buf=""; }
+
+RESOURCE EIK_APP_INFO
+ {
+ menubar = r_scum_menubar;
+ }
+
+RESOURCE MENU_BAR r_scum_menubar // *** Menu bar
+{
+ titles =
+ {
+ MENU_TITLE { menu_pane = r_scum_menu; txt = "ScummVM"; }
+ };
+}
+
+RESOURCE MENU_PANE r_scum_menu // *** Submenu
+{
+ items =
+ {
+
+ MENU_ITEM{command = EEikCmdExit;txt = "Exit";}
+ };
+}
diff --git a/backends/epoc/build/S80/ScummVMApp.cpp b/backends/epoc/build/S80/ScummVMApp.cpp
new file mode 100644
index 0000000000..f0e0860216
--- /dev/null
+++ b/backends/epoc/build/S80/ScummVMApp.cpp
@@ -0,0 +1,163 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ */
+
+#include "ScummVMapp.h"
+#include <escummvms80.rsg>
+#include <apgcli.h>
+#include <eikdll.h>
+#include <apgtask.h>
+EXPORT_C CApaApplication* NewApplication() {
+ return (new CScummVM);
+}
+
+CScummVM::CScummVM() {
+}
+
+CScummVM::~CScummVM() {
+}
+
+CApaDocument* CScummVM::CreateDocumentL()
+{
+ return new (ELeave) CScummVMDoc(*this);
+}
+
+TUid CScummVM::AppDllUid() const
+{
+ return TUid::Uid(0x101f9b57);
+}
+
+CScummVMDoc::CScummVMDoc(CEikApplication& aApp):CEikDocument(aApp) {
+}
+
+CScummVMDoc::~CScummVMDoc() {
+}
+
+CEikAppUi* CScummVMDoc::CreateAppUiL() {
+ return new (ELeave) CScummVMUi;
+}
+
+void CScummVMUi::HandleForegroundEventL(TBool aForeground) {
+ if(aForeground) {
+ BringUpEmulatorL();
+ }
+}
+
+CScummVMUi::CScummVMUi() {
+}
+
+CScummVMUi::~CScummVMUi() {
+ if(iWatcher) {
+ iThreadWatch.LogonCancel(iWatcher->iStatus);
+ iWatcher->Cancel();
+ }
+ delete iWatcher;
+
+ iThreadWatch.Close();
+}
+
+void CScummVMUi::ConstructL() {
+ BaseConstructL();
+ TBuf<128> startFile;
+ startFile = iEikonEnv->EikAppUi()->Application()->AppFullName();
+ TParse parser;
+ parser.Set(startFile,NULL,NULL);
+
+ startFile = parser.DriveAndPath();
+#ifndef __WINS__
+ startFile.Append( _L("EScummVM.exe"));
+#else
+ startFile.Append( _L("EScummVM.dll"));
+#endif
+ CApaCommandLine* cmdLine=CApaCommandLine::NewLC(startFile);
+ RApaLsSession lsSession;
+ lsSession.Connect();
+ CleanupClosePushL(lsSession);
+ lsSession.StartApp(*cmdLine,iThreadId);
+ CleanupStack::PopAndDestroy();//close lsSession
+ CleanupStack::PopAndDestroy(cmdLine);
+ User::After(500000);// Let the application start
+ TApaTaskList taskList(iEikonEnv->WsSession());
+ TApaTask myTask=taskList.FindApp(TUid::Uid(0x101f9b57));
+ myTask.SendToBackground();
+ TApaTask exeTask=taskList.FindByPos(0);
+ iExeWgId=exeTask.WgId();
+ exeTask.BringToForeground();
+ if(iExeWgId == myTask.WgId()) { // Should n't be the same
+ Exit();
+ }
+ if(iThreadWatch.Open(iThreadId)==KErrNone) {
+ iWatcher = new (ELeave)CScummWatcher;
+ iWatcher->iAppUi=this;
+ iThreadWatch.Logon(iWatcher->iStatus);
+ }
+}
+
+CScummWatcher::CScummWatcher():CActive(EPriorityStandard) {
+ CActiveScheduler::Add(this);
+ iStatus=KRequestPending;
+ SetActive();
+}
+
+CScummWatcher::~CScummWatcher() {
+}
+
+void CScummWatcher::DoCancel() {
+}
+
+void CScummWatcher::RunL() {
+ iAppUi->HandleCommandL(EEikCmdExit);
+}
+
+void CScummVMUi::BringUpEmulatorL() {
+ RThread thread;
+ if(thread.Open(iThreadId)==KErrNone) {
+ thread.Close();
+ TApaTask apaTask(iEikonEnv->WsSession());
+ apaTask.SetWgId(iExeWgId);
+ apaTask.BringToForeground();
+ }
+ else
+ {
+ iExeWgId=-1;
+ }
+}
+
+void CScummVMUi::HandleCommandL(TInt aCommand) {
+ switch(aCommand) {
+ case EEikCmdExit:
+ {
+ RThread thread;
+ if(thread.Open(iThreadId)==KErrNone)
+ {
+ thread.Terminate(0);
+ thread.Close();
+ }
+ Exit();
+ }
+ break;
+ }
+}
+
+GLDEF_C TInt E32Dll(TDllReason) {
+ return KErrNone;
+}
diff --git a/backends/epoc/build/S80/ScummVMApp.h b/backends/epoc/build/S80/ScummVMApp.h
new file mode 100644
index 0000000000..71732f2ec0
--- /dev/null
+++ b/backends/epoc/build/S80/ScummVMApp.h
@@ -0,0 +1,78 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ */
+
+#ifndef ScummVMapps60h
+#define ScummVMapps60h
+
+#include <eikapp.h>
+#include <e32base.h>
+#include <coecntrl.h>
+#include <eikenv.h>
+#include <coeview.h>
+#include <eikappui.h>
+
+class CScummVM:public CEikApplication {
+public:
+ CScummVM();
+ ~CScummVM();
+ CApaDocument* CreateDocumentL();
+ TUid AppDllUid() const;
+};
+
+
+#include <eikdoc.h>
+
+class CScummVMDoc:public CEikDocument {
+public:
+ ~CScummVMDoc();
+ CEikAppUi* CreateAppUiL();
+ void ConstructL();
+ CScummVMDoc(CEikApplication& aApplicaiton);
+};
+
+#include <eikappui.h>
+class CScummVMUi;
+class CScummWatcher:public CActive {
+public:
+ CScummWatcher();
+ ~CScummWatcher();
+ void DoCancel();
+ void RunL();
+ CScummVMUi* iAppUi;
+};
+
+class CScummVMUi:public CEikAppUi {
+public:
+ CScummVMUi();
+ ~CScummVMUi();
+ void ConstructL();
+ void HandleCommandL(TInt aCommand);
+ void HandleForegroundEventL(TBool aForeground);
+ void BringUpEmulatorL();
+private:
+ TThreadId iThreadId;
+ TInt iExeWgId;
+ RThread iThreadWatch;
+ CScummWatcher* iWatcher;
+};
+#endif
diff --git a/backends/epoc/build/S90/BLD.INF b/backends/epoc/build/S90/BLD.INF
new file mode 100644
index 0000000000..62c19024cb
--- /dev/null
+++ b/backends/epoc/build/S90/BLD.INF
@@ -0,0 +1,12 @@
+PRJ_PLATFORMS
+WINS ARMI // ARM4 THUMB
+
+PRJ_MMPFILES
+..\scummvm_base.mmp
+..\scummvm_scumm.mmp
+..\scummvm_simon.mmp
+..\scummvm_sky.mmp
+..\scummvm_queen.mmp
+..\scummvm_gob.mmp
+.\EScummVM_S90.mmp
+.\EScummVM_S90_App.mmp
diff --git a/backends/epoc/build/S90/EScummVM_080.pkg b/backends/epoc/build/S90/EScummVM_080.pkg
new file mode 100644
index 0000000000..51cb3e394c
--- /dev/null
+++ b/backends/epoc/build/S90/EScummVM_080.pkg
@@ -0,0 +1,36 @@
+;;;
+;;; EScummVM .PKG file for .SIS gegeration
+;;;
+
+; Languages
+;&EN
+
+; UID is the app's UID
+#{"EScummVM S60"},(0x101f9b57),0,80,3
+
+; Platform type
+(0x101F6F88), 0, 0, 0, {"Series60ProductID"}
+
+; Signature
+*"EScummVM.key","EScummVM.cer"
+
+; Application file Launcher and actual exe
+"..\..\\epoc32\release\armi\urel\EScummVMS60.app"-"!:\system\apps\EScummVMS60\EScummVMS60.app"
+"\epoc32\release\armi\urel\EScummVM.exe"-":\system\apps\EScummVMS60\EScummVM.exe"
+
+; AIF application information file
+"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.aif"-"!:\system\apps\EScummVMS60\EScummVMS60.aif"
+
+; Resource file
+"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.rsc"-"!:\system\apps\EScummVMS60\EScummVMS60.rsc"
+
+; Empty .placeholder file, ensures creation of c:\documents\EScummVM\ for future file saves
+".placeholder"-"c:\documents\EScummVM\.placeholder"
+
+; Config/log files: 'empty' will automagically be removed on uninstall
+""-"c:\documents\EScummVM\scummvm.ini",FN
+""-"c:\documents\EScummVM\scummvm.stdout.txt",FN
+""-"c:\documents\EScummVM\scummvm.stderr.txt",FN
+
+; 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. \ No newline at end of file
diff --git a/backends/epoc/build/S90/EScummvmS90.rss b/backends/epoc/build/S90/EScummvmS90.rss
new file mode 100644
index 0000000000..1f116a7bf7
--- /dev/null
+++ b/backends/epoc/build/S90/EScummvmS90.rss
@@ -0,0 +1,62 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+// ScummVM.RSS
+
+NAME SCUM
+
+// Include definitions of resource STRUCTS used by this
+// resource script
+#include <eikon.rh>
+#include "..\..\Scummvm.hrh"
+// Include the standard Eikon resource ids
+#include <eikon.rsg>
+
+
+RESOURCE RSS_SIGNATURE
+ {
+ }
+
+RESOURCE TBUF16 { buf=""; }
+
+RESOURCE EIK_APP_INFO
+ {
+ menubar = r_scum_menubar;
+ }
+
+RESOURCE MENU_BAR r_scum_menubar // *** Menu bar
+{
+ titles =
+ {
+ MENU_TITLE { menu_pane = r_scum_menu; txt = "ScummVM"; }
+ };
+}
+
+RESOURCE MENU_PANE r_scum_menu // *** Submenu
+{
+ items =
+ {
+
+ MENU_ITEM{command = EEikCmdExit;txt = "Exit";}
+ };
+}
diff --git a/backends/epoc/build/S90/EScummvm_S90.mmp b/backends/epoc/build/S90/EScummvm_S90.mmp
new file mode 100644
index 0000000000..6327b93c74
--- /dev/null
+++ b/backends/epoc/build/S90/EScummvm_S90.mmp
@@ -0,0 +1,112 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+//
+// EPOC S90 MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+#if defined(WINS)
+ TARGET EScummVM.dll
+#else
+ TARGET EScummVM.exe
+#endif
+TARGETPATH system\apps\EScummVMs90
+TARGETTYPE EXEDLL
+ // /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 MSVC /QIfist /Ob1 /Oy /GF
+//OPTION GCC -O3 -funroll-loops -finline-functions -ffast-math -frerun-loop-opt -fconserve-space -fexpensive-optimizations -Wno-multichar -Wno-reorder
+sourcepath ..\
+EPOCSTACKSIZE 0x00008000
+
+EPOCHEAPSIZE 1024 5242880
+
+MACRO S90
+MACRO NONSTANDARD_PORT
+
+// these need too high a resolution
+MACRO DISABLE_SWORD1
+MACRO DISABLE_SWORD2
+// these are not ready to be released
+MACRO DISABLE_SAGA
+MACRO DISABLE_KYRA
+// these work, so don't disable them :)
+//MACRO DISABLE_SIMON
+//MACRO DISABLE_SKY
+//MACRO DISABLE_QUEEN
+//MACRO DISABLE_GOB
+
+// *** Static Libraries
+
+STATICLIBRARY scummvm_scumm.lib
+STATICLIBRARY scummvm_simon.lib
+STATICLIBRARY scummvm_sky.lib
+STATICLIBRARY scummvm_queen.lib
+STATICLIBRARY scummvm_gob.lib
+STATICLIBRARY scummvm_base.lib
+
+STATICLIBRARY libmad.lib
+STATICLIBRARY zlib.lib
+STATICLIBRARY esdl.lib
+#if !defined(WINS)
+STATICLIBRARY egcc.lib // for __fixunsdfsi
+#endif
+// *** Include paths
+
+USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui
+USERINCLUDE ..\..\..\..\backends\fs ..\..\..\..\backends\epoc ..\..\..\..\backends\sdl ..\..\..\..\sound
+
+SYSTEMINCLUDE \epoc32\include\ESDL
+SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
+SYSTEMINCLUDE \epoc32\include\libc
+SYSTEMINCLUDE \epoc32\include
+SYSTEMINCLUDE ..\..\..\..\backends\epoc // for portdefs.h
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..\..
+
+//START_AUTO_OBJECTS_BASE_// Updated @ Tue May 31 18:35:38 2005
+SOURCE base\engine.cpp
+SOURCE base\gameDetector.cpp
+SOURCE base\main.cpp
+SOURCE base\plugins.cpp
+//STOP_AUTO_OBJECTS_BASE_//
+
+// backend EPOC/SDL/ESDL specific includes
+SOURCE backends\sdl\events.cpp
+SOURCE backends\sdl\graphics.cpp
+SOURCE backends\sdl\sdl.cpp
+SOURCE backends\fs\symbian\symbian-fs.cpp
+SOURCE backends\epoc\SymbianOS.cpp
+SOURCE backends\epoc\ScummApp.cpp
+
+// *** Dynamic Libraries
+
+LIBRARY cone.lib eikcore.lib
+LIBRARY euser.lib apparc.lib fbscli.lib
+LIBRARY estlib.lib apgrfx.lib
+LIBRARY gdi.lib hal.lib bitgdi.lib
+LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib
+
diff --git a/backends/epoc/build/S90/EScummvm_S90_App.mmp b/backends/epoc/build/S90/EScummvm_S90_App.mmp
new file mode 100644
index 0000000000..b070a317e1
--- /dev/null
+++ b/backends/epoc/build/S90/EScummvm_S90_App.mmp
@@ -0,0 +1,46 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+//
+// MAKEFILE.MMP S90 ScummVM Launcher
+//
+
+TARGET EScummVMS90.app
+TARGETPATH system\apps\EScummVMS90
+TARGETTYPE app
+
+UID 0x100039ce 0x101f9b57
+RESOURCE ESCUMMVMS90.rss
+
+SOURCEPATH .
+USERINCLUDE .
+SYSTEMINCLUDE \epoc32\include \epoc32\include\libc
+
+// app source
+SOURCE ScummVMApp.cpp
+sourcepath ..
+AIF EScummVmS90.Aif ..\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // still fails?
+// libraries
+LIBRARY cone.lib EIKCORE.lib
+LIBRARY euser.lib apparc.lib
+LIBRARY efsrv.lib apgrfx.lib \ No newline at end of file
diff --git a/backends/epoc/build/S90/ScummVMApp.cpp b/backends/epoc/build/S90/ScummVMApp.cpp
new file mode 100644
index 0000000000..95ab6d3b84
--- /dev/null
+++ b/backends/epoc/build/S90/ScummVMApp.cpp
@@ -0,0 +1,163 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ */
+
+#include "ScummVMapp.h"
+#include <escummvms90.rsg>
+#include <apgcli.h>
+#include <eikdll.h>
+#include <apgtask.h>
+EXPORT_C CApaApplication* NewApplication() {
+ return (new CScummVM);
+}
+
+CScummVM::CScummVM() {
+}
+
+CScummVM::~CScummVM() {
+}
+
+CApaDocument* CScummVM::CreateDocumentL()
+{
+ return new (ELeave) CScummVMDoc(*this);
+}
+
+TUid CScummVM::AppDllUid() const
+{
+ return TUid::Uid(0x101f9b57);
+}
+
+CScummVMDoc::CScummVMDoc(CEikApplication& aApp):CEikDocument(aApp) {
+}
+
+CScummVMDoc::~CScummVMDoc() {
+}
+
+CEikAppUi* CScummVMDoc::CreateAppUiL() {
+ return new (ELeave) CScummVMUi;
+}
+
+void CScummVMUi::HandleForegroundEventL(TBool aForeground) {
+ if(aForeground) {
+ BringUpEmulatorL();
+ }
+}
+
+CScummVMUi::CScummVMUi() {
+}
+
+CScummVMUi::~CScummVMUi() {
+ if(iWatcher) {
+ iThreadWatch.LogonCancel(iWatcher->iStatus);
+ iWatcher->Cancel();
+ }
+ delete iWatcher;
+
+ iThreadWatch.Close();
+}
+
+void CScummVMUi::ConstructL() {
+ BaseConstructL();
+ TBuf<128> startFile;
+ startFile = iEikonEnv->EikAppUi()->Application()->AppFullName();
+ TParse parser;
+ parser.Set(startFile,NULL,NULL);
+
+ startFile = parser.DriveAndPath();
+#ifndef __WINS__
+ startFile.Append( _L("EScummVM.exe"));
+#else
+ startFile.Append( _L("EScummVM.dll"));
+#endif
+ CApaCommandLine* cmdLine=CApaCommandLine::NewLC(startFile);
+ RApaLsSession lsSession;
+ lsSession.Connect();
+ CleanupClosePushL(lsSession);
+ lsSession.StartApp(*cmdLine,iThreadId);
+ CleanupStack::PopAndDestroy();//close lsSession
+ CleanupStack::PopAndDestroy(cmdLine);
+ User::After(500000);// Let the application start
+ TApaTaskList taskList(iEikonEnv->WsSession());
+ TApaTask myTask=taskList.FindApp(TUid::Uid(0x101f9b57));
+ myTask.SendToBackground();
+ TApaTask exeTask=taskList.FindByPos(0);
+ iExeWgId=exeTask.WgId();
+ exeTask.BringToForeground();
+ if(iExeWgId == myTask.WgId()) { // Should n't be the same
+ Exit();
+ }
+ if(iThreadWatch.Open(iThreadId)==KErrNone) {
+ iWatcher = new (ELeave)CScummWatcher;
+ iWatcher->iAppUi=this;
+ iThreadWatch.Logon(iWatcher->iStatus);
+ }
+}
+
+CScummWatcher::CScummWatcher():CActive(EPriorityStandard) {
+ CActiveScheduler::Add(this);
+ iStatus=KRequestPending;
+ SetActive();
+}
+
+CScummWatcher::~CScummWatcher() {
+}
+
+void CScummWatcher::DoCancel() {
+}
+
+void CScummWatcher::RunL() {
+ iAppUi->HandleCommandL(EEikCmdExit);
+}
+
+void CScummVMUi::BringUpEmulatorL() {
+ RThread thread;
+ if(thread.Open(iThreadId)==KErrNone) {
+ thread.Close();
+ TApaTask apaTask(iEikonEnv->WsSession());
+ apaTask.SetWgId(iExeWgId);
+ apaTask.BringToForeground();
+ }
+ else
+ {
+ iExeWgId=-1;
+ }
+}
+
+void CScummVMUi::HandleCommandL(TInt aCommand) {
+ switch(aCommand) {
+ case EEikCmdExit:
+ {
+ RThread thread;
+ if(thread.Open(iThreadId)==KErrNone)
+ {
+ thread.Terminate(0);
+ thread.Close();
+ }
+ Exit();
+ }
+ break;
+ }
+}
+
+GLDEF_C TInt E32Dll(TDllReason) {
+ return KErrNone;
+}
diff --git a/backends/epoc/build/S90/ScummVMApp.h b/backends/epoc/build/S90/ScummVMApp.h
new file mode 100644
index 0000000000..71732f2ec0
--- /dev/null
+++ b/backends/epoc/build/S90/ScummVMApp.h
@@ -0,0 +1,78 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ */
+
+#ifndef ScummVMapps60h
+#define ScummVMapps60h
+
+#include <eikapp.h>
+#include <e32base.h>
+#include <coecntrl.h>
+#include <eikenv.h>
+#include <coeview.h>
+#include <eikappui.h>
+
+class CScummVM:public CEikApplication {
+public:
+ CScummVM();
+ ~CScummVM();
+ CApaDocument* CreateDocumentL();
+ TUid AppDllUid() const;
+};
+
+
+#include <eikdoc.h>
+
+class CScummVMDoc:public CEikDocument {
+public:
+ ~CScummVMDoc();
+ CEikAppUi* CreateAppUiL();
+ void ConstructL();
+ CScummVMDoc(CEikApplication& aApplicaiton);
+};
+
+#include <eikappui.h>
+class CScummVMUi;
+class CScummWatcher:public CActive {
+public:
+ CScummWatcher();
+ ~CScummWatcher();
+ void DoCancel();
+ void RunL();
+ CScummVMUi* iAppUi;
+};
+
+class CScummVMUi:public CEikAppUi {
+public:
+ CScummVMUi();
+ ~CScummVMUi();
+ void ConstructL();
+ void HandleCommandL(TInt aCommand);
+ void HandleForegroundEventL(TBool aForeground);
+ void BringUpEmulatorL();
+private:
+ TThreadId iThreadId;
+ TInt iExeWgId;
+ RThread iThreadWatch;
+ CScummWatcher* iWatcher;
+};
+#endif
diff --git a/backends/epoc/build/ScummVmAif.rss b/backends/epoc/build/ScummVmAif.rss
new file mode 100644
index 0000000000..cc4424f7cb
--- /dev/null
+++ b/backends/epoc/build/ScummVmAif.rss
@@ -0,0 +1,44 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+#include <aiftool.rh>
+
+
+RESOURCE AIF_DATA
+ {
+ app_uid= 0x101f9b57;
+ //
+ hidden=KAppNotHidden;
+ embeddability=KAppNotEmbeddable;
+ caption_list=
+ {
+ CAPTION { code=ELangEnglish; caption="EScummVM"; },
+ CAPTION { code=ELangAmerican; caption="EScummVM"; },
+ CAPTION { code=ELangOther; caption="EScummVM"; }
+ };
+ //
+ num_icons=2;
+ }
+
+
+
diff --git a/backends/epoc/build/UIQ/BLD.INF b/backends/epoc/build/UIQ/BLD.INF
new file mode 100644
index 0000000000..870189a4d0
--- /dev/null
+++ b/backends/epoc/build/UIQ/BLD.INF
@@ -0,0 +1,13 @@
+PRJ_PLATFORMS
+WINS ARMI // ARM4 THUMB
+
+PRJ_MMPFILES
+..\scummvm_scumm.mmp
+..\scummvm_simon.mmp
+..\scummvm_sky.mmp
+..\scummvm_queen.mmp
+..\scummvm_gob.mmp
+..\scummvm_base.mmp
+.\EScummVM_UIQ.mmp
+
+prj_testmmpfiles
diff --git a/backends/epoc/build/UIQ/EScummVM.cer b/backends/epoc/build/UIQ/EScummVM.cer
new file mode 100644
index 0000000000..8a366f1cab
--- /dev/null
+++ b/backends/epoc/build/UIQ/EScummVM.cer
@@ -0,0 +1,26 @@
+-----BEGIN CERTIFICATE-----
+MIIEfDCCBDqgAwIBAgIBADALBgcqhkjOOAQDBQAwYTEQMA4GA1UEChMHU2N1bW1W
+TTEQMA4GA1UECxMHRGV2VGVhbTEQMA4GA1UEAxMHU2N1bW1WTTEpMCcGCSqGSIb3
+DQEJARYac3VtdGhpbndpY2tlZEB1c2Vycy5zZi5uZXQwHhcNMDUwNDI1MDIxNTA1
+WhcNMDYwNDI1MDIxNTA1WjBhMRAwDgYDVQQKEwdTY3VtbVZNMRAwDgYDVQQLEwdE
+ZXZUZWFtMRAwDgYDVQQDEwdTY3VtbVZNMSkwJwYJKoZIhvcNAQkBFhpzdW10aGlu
+d2lja2VkQHVzZXJzLnNmLm5ldDCCAzswggIuBgcqhkjOOAQBMIICIQKCAQEA84zz
+w3SAZSHUvmpEKn/o+RBhgs+Spxr1vIX4K7nc27dTl8Q8OWw+2kWUsySkzbhcwzV4
+r2exWSUjKeAMhVnnV5bhlTlHQITTEhIm5XkbWWgBnqjxa990YAfU2vSFV//Yq9IP
+eBtsx0Rc3M1QYAuBSZUA9n0J6omc2XrYqHNiqjlkgr0oVX1Y9acFNg2A4hoI0ltK
+0ARqlv+s/yAntg+p2c3abiIFceFpnF0pI/veoyXFASqebUNvquYryiUdSxYxamMF
+PB7i35VRY0WuOcDQsg6gMdAePC+oENBeEGAOaBrJ+M5KFRohcU8H4RF+FqaegtsA
+dHECDoQMfQNynaAMrwIVAL8RRcz9e50iVWpUWeLf19EdQ2crAoIBAQDZZ6z5JfNz
+f/ItU8/0Lo6lmFlC0axYhM5+MKBLGBE/Xo+tqUiwIhVBWGEZN0B8DGD7OnljPqWd
+2LzapsfGfoMh22oQTXljwS13So1akeJK0OaKZS699Nl5YrM0oFa6pLj9wbwPgd0I
+HwaVS4YZhrJyPAKiHZlz7YGIqEvCFjDWBsPMZ1gbTIGrvkhFNvClP7U5gBVj6ASQ
+gLwnuD7oApXfEbyEzPg0EmxD1zHsnvmwtQT66tmnVsgIe9gsF3XL2rlJIxogbM4/
+zKPzWiQaypdqzgdGT/F8fonumN8QA1GR+SHLh6LnxWVGQwXOueXdlZPH8ELg4mYv
+SgRTU+UYDc6YA4IBBQACggEAQ69uT4wfbkrXWu1uozU8yWNTpO1pq/eQdnz70dBr
+iO5wWD0ojEj6IOp968p5DbWCRn/xAl+aNAFlxaMvJrhjcKCPjYENQkPdRhrgB/tO
+B/LzK64RjPswAkOkwLX7GK6N3m0Yt2BW02t8j13f1Ckg1dvX7JKAD2xqAKIap94P
+CbF/URAYGKFNechB3MlJK9/zW9huk9PQ/ulsDrZ0itZuTR+24P7co8hAhGnVL6TC
+zQzL6WHF3MPirr5T0tvquryZKiX3shOJtsRRCjkJS4oEuFAwQx+q7HtCA/6+MmQF
+0odo9lzNa44SVBGkD9M8tRYrO4OaLuU24f4AeUx7VSflnDALBgcqhkjOOAQDBQAD
+LwAwLAIUUS6s1EFzzhP0ZyJ1GE0asFJtkVoCFBbw9qDXTT3mTyCVvmSwCB9YtCuz
+-----END CERTIFICATE-----
diff --git a/backends/epoc/build/UIQ/EScummVM.key b/backends/epoc/build/UIQ/EScummVM.key
new file mode 100644
index 0000000000..9002105043
--- /dev/null
+++ b/backends/epoc/build/UIQ/EScummVM.key
@@ -0,0 +1,20 @@
+-----BEGIN DSA PRIVATE KEY-----
+MIIDPgIBAAKCAQEA84zzw3SAZSHUvmpEKn/o+RBhgs+Spxr1vIX4K7nc27dTl8Q8
+OWw+2kWUsySkzbhcwzV4r2exWSUjKeAMhVnnV5bhlTlHQITTEhIm5XkbWWgBnqjx
+a990YAfU2vSFV//Yq9IPeBtsx0Rc3M1QYAuBSZUA9n0J6omc2XrYqHNiqjlkgr0o
+VX1Y9acFNg2A4hoI0ltK0ARqlv+s/yAntg+p2c3abiIFceFpnF0pI/veoyXFASqe
+bUNvquYryiUdSxYxamMFPB7i35VRY0WuOcDQsg6gMdAePC+oENBeEGAOaBrJ+M5K
+FRohcU8H4RF+FqaegtsAdHECDoQMfQNynaAMrwIVAL8RRcz9e50iVWpUWeLf19Ed
+Q2crAoIBAQDZZ6z5JfNzf/ItU8/0Lo6lmFlC0axYhM5+MKBLGBE/Xo+tqUiwIhVB
+WGEZN0B8DGD7OnljPqWd2LzapsfGfoMh22oQTXljwS13So1akeJK0OaKZS699Nl5
+YrM0oFa6pLj9wbwPgd0IHwaVS4YZhrJyPAKiHZlz7YGIqEvCFjDWBsPMZ1gbTIGr
+vkhFNvClP7U5gBVj6ASQgLwnuD7oApXfEbyEzPg0EmxD1zHsnvmwtQT66tmnVsgI
+e9gsF3XL2rlJIxogbM4/zKPzWiQaypdqzgdGT/F8fonumN8QA1GR+SHLh6LnxWVG
+QwXOueXdlZPH8ELg4mYvSgRTU+UYDc6YAoIBAEOvbk+MH25K11rtbqM1PMljU6Tt
+aav3kHZ8+9HQa4jucFg9KIxI+iDqfevKeQ21gkZ/8QJfmjQBZcWjLya4Y3Cgj42B
+DUJD3UYa4Af7Tgfy8yuuEYz7MAJDpMC1+xiujd5tGLdgVtNrfI9d39QpINXb1+yS
+gA9sagCiGqfeDwmxf1EQGBihTXnIQdzJSSvf81vYbpPT0P7pbA62dIrWbk0ftuD+
+3KPIQIRp1S+kws0My+lhxdzD4q6+U9Lb6rq8mSol97ITibbEUQo5CUuKBLhQMEMf
+qux7QgP+vjJkBdKHaPZczWuOElQRpA/TPLUWKzuDmi7lNuH+AHlMe1Un5ZwCFBoc
+P3MxHDcW4ZTIXdJxxCylT+ix
+-----END DSA PRIVATE KEY-----
diff --git a/backends/epoc/build/UIQ/EScummVM.rss b/backends/epoc/build/UIQ/EScummVM.rss
new file mode 100644
index 0000000000..470e819220
--- /dev/null
+++ b/backends/epoc/build/UIQ/EScummVM.rss
@@ -0,0 +1,62 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ */
+
+// ScummVM.RSS
+
+NAME SCUM
+
+// Include definitions of resource STRUCTS used by this
+// resource script
+#include <eikon.rh>
+#include "..\backends\epoc\Scummvm.hrh"
+// Include the standard Eikon resource ids
+#include <eikon.rsg>
+
+
+RESOURCE RSS_SIGNATURE
+ {
+ }
+
+RESOURCE TBUF16 { buf=""; }
+
+RESOURCE EIK_APP_INFO
+ {
+ menubar = r_scum_menubar;
+ }
+
+RESOURCE MENU_BAR r_scum_menubar // *** Menu bar
+{
+ titles =
+ {
+ MENU_TITLE { menu_pane = r_scum_menu; txt = "ScummVM"; }
+ };
+}
+
+RESOURCE MENU_PANE r_scum_menu // *** Submenu
+{
+ items =
+ {
+
+ MENU_ITEM{command = EEikCmdExit;txt = "Exit";}
+ };
+}
diff --git a/backends/epoc/build/UIQ/EScummVM_080.pkg b/backends/epoc/build/UIQ/EScummVM_080.pkg
new file mode 100644
index 0000000000..7dabed2d08
--- /dev/null
+++ b/backends/epoc/build/UIQ/EScummVM_080.pkg
@@ -0,0 +1,35 @@
+;;;
+;;; EScummVM .PKG file for .SIS gegeration
+;;;
+
+; Languages
+;&EN
+
+; UID is the app's UID
+#{"EScummVM"},(0x101f9b57),0,80,3
+
+; Platform type
+(0x101F617B), 2, 0, 0, {"UIQ20ProductID"}
+
+; Signature
+*"EScummVM.key","EScummVM.cer"
+
+; Application file
+"..\..\..\..\UIQ_21\epoc32\release\armi\urel\EScummVM.app"-"!:\system\apps\EScummVM\EScummVM.app"
+
+; AIF application information file
+"..\..\..\..\UIQ_21\epoc32\data\z\system\apps\EScummVM\EScummVM.aif"-"!:\system\apps\EScummVM\EScummVM.aif"
+
+; Resource file
+"..\..\..\..\UIQ_21\epoc32\data\z\system\apps\EScummVM\EScummVM.rsc"-"!:\system\apps\EScummVM\EScummVM.rsc"
+
+; Empty .placeholder file, ensures creation of c:\documents\EScummVM\ for future file saves
+".placeholder"-"c:\documents\EScummVM\.placeholder"
+
+; Config/log files: 'empty' will automagically be removed on uninstall
+""-"c:\documents\EScummVM\scummvm.ini",FN
+""-"c:\documents\EScummVM\scummvm.stdout.txt",FN
+""-"c:\documents\EScummVM\scummvm.stderr.txt",FN
+
+; 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. \ No newline at end of file
diff --git a/backends/epoc/build/UIQ/EScummVM_UIQ.mmp b/backends/epoc/build/UIQ/EScummVM_UIQ.mmp
new file mode 100644
index 0000000000..c0ad2e1bef
--- /dev/null
+++ b/backends/epoc/build/UIQ/EScummVM_UIQ.mmp
@@ -0,0 +1,110 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+//
+// EPOC UIQ MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+TARGET ESCUMMVM.APP
+TARGETPATH system\apps\EScummVM
+TARGETTYPE app
+
+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
+
+RESOURCE EScummVM.rss
+EPOCSTACKSIZE 0x80008000 // this enables ECompXL app compression
+AIF EScummVm.Aif ..\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // still fails?
+UID 0x100039ce 0x101f9b57
+
+MACRO UIQ
+MACRO NONSTANDARD_PORT
+
+// these need too high a resolution
+MACRO DISABLE_SWORD1
+MACRO DISABLE_SWORD2
+// these are not ready to be released
+MACRO DISABLE_SAGA
+MACRO DISABLE_KYRA
+// these work, so don't disable them, left here because during dev you might wanna turn them off once in a while :)
+//MACRO DISABLE_SIMON
+//MACRO DISABLE_SKY
+//MACRO DISABLE_QUEEN
+//MACRO DISABLE_GOB
+
+// *** Static Libraries
+
+STATICLIBRARY scummvm_scumm.lib
+STATICLIBRARY scummvm_simon.lib
+STATICLIBRARY scummvm_sky.lib
+STATICLIBRARY scummvm_queen.lib
+STATICLIBRARY scummvm_gob.lib
+STATICLIBRARY scummvm_base.lib
+
+STATICLIBRARY libmad.lib
+STATICLIBRARY zlib.lib
+STATICLIBRARY esdl.lib
+#if !defined(WINS)
+STATICLIBRARY egcc.lib // for __fixunsdfsi
+#endif
+
+// *** Include paths
+
+USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui
+USERINCLUDE ..\..\..\..\backends\fs ..\..\..\..\backends\epoc ..\..\..\..\backends\sdl ..\..\..\..\sound
+
+SYSTEMINCLUDE \epoc32\include\ESDL
+SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
+SYSTEMINCLUDE \epoc32\include\libc
+SYSTEMINCLUDE \epoc32\include
+SYSTEMINCLUDE ..\..\..\..\backends\epoc // for portdefs.h
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..\..\
+
+//START_AUTO_OBJECTS_BASE_// Updated @ Tue May 31 18:35:38 2005
+SOURCE base\engine.cpp
+SOURCE base\gameDetector.cpp
+SOURCE base\main.cpp
+SOURCE base\plugins.cpp
+//STOP_AUTO_OBJECTS_BASE_//
+
+// backend EPOC/SDL/ESDL specific includes
+SOURCE backends\sdl\events.cpp
+SOURCE backends\sdl\graphics.cpp
+SOURCE backends\sdl\sdl.cpp
+SOURCE backends\fs\symbian\symbian-fs.cpp
+SOURCE backends\epoc\SymbianOS.cpp
+SOURCE backends\epoc\ScummApp.cpp
+
+// *** Dynamic Libraries
+
+LIBRARY cone.lib eikcore.lib
+LIBRARY euser.lib apparc.lib fbscli.lib
+LIBRARY estlib.lib apgrfx.lib
+LIBRARY gdi.lib hal.lib
+LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib
+LIBRARY qikctl.lib
diff --git a/backends/epoc/build/epoc-libmad.zip b/backends/epoc/build/epoc-libmad.zip
new file mode 100644
index 0000000000..dec1a8eb69
--- /dev/null
+++ b/backends/epoc/build/epoc-libmad.zip
Binary files differ
diff --git a/backends/epoc/build/epoc-zlib.zip b/backends/epoc/build/epoc-zlib.zip
new file mode 100644
index 0000000000..efae82d6b3
--- /dev/null
+++ b/backends/epoc/build/epoc-zlib.zip
Binary files differ
diff --git a/backends/epoc/build/make.bat b/backends/epoc/build/make.bat
new file mode 100644
index 0000000000..a6ea619763
--- /dev/null
+++ b/backends/epoc/build/make.bat
@@ -0,0 +1,46 @@
+@ECHO OFF
+
+SET target=%2
+
+if "%1"=="clean" goto clean
+if "%1"=="test" goto test
+if "%1"=="fast" goto fast
+if "%1"=="--help" goto help
+if "%1"=="-h" goto help
+
+SET platform=armi
+if "%1"=="" goto build
+SET platform=%1
+
+:build
+echo ---------------------------------------------------
+@ECHO ON
+call abld build %platform% urel %target%
+goto End
+
+:fast
+echo ---------------------------------------------------
+REM @ECHO ON
+call abld library %platform% urel %target%
+REM call abld resource %platform% urel %target%
+call abld target %platform% urel %target%
+goto End
+
+:test
+echo ---------------------------------------------------
+@ECHO ON
+call abld test build armi urel %target%
+goto End
+
+:clean
+abld clean %target%
+goto End
+
+:help
+echo Usage: make clean
+echo make [armi|wins] [target]
+goto End
+
+:End
+echo ---------------------------------------------------
+
diff --git a/backends/epoc/build/scummL.bmp b/backends/epoc/build/scummL.bmp
new file mode 100644
index 0000000000..4cb8bd3228
--- /dev/null
+++ b/backends/epoc/build/scummL.bmp
Binary files differ
diff --git a/backends/epoc/build/scummLm.bmp b/backends/epoc/build/scummLm.bmp
new file mode 100644
index 0000000000..f4f35e48f2
--- /dev/null
+++ b/backends/epoc/build/scummLm.bmp
Binary files differ
diff --git a/backends/epoc/build/scummS.bmp b/backends/epoc/build/scummS.bmp
new file mode 100644
index 0000000000..457ef4d241
--- /dev/null
+++ b/backends/epoc/build/scummS.bmp
Binary files differ
diff --git a/backends/epoc/build/scummSm.bmp b/backends/epoc/build/scummSm.bmp
new file mode 100644
index 0000000000..9ddfee2a85
--- /dev/null
+++ b/backends/epoc/build/scummSm.bmp
Binary files differ
diff --git a/backends/epoc/build/scummvm_base.mmp b/backends/epoc/build/scummvm_base.mmp
new file mode 100644
index 0000000000..e7c0a5f3de
--- /dev/null
+++ b/backends/epoc/build/scummvm_base.mmp
@@ -0,0 +1,136 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+
+//
+// EPOC MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+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
+
+MACRO NONSTANDARD_PORT
+MACRO USE_MAD
+MACRO USE_ZLIB
+
+// these need too high a resolution
+MACRO DISABLE_SWORD1
+MACRO DISABLE_SWORD2
+// these are not ready to be released
+MACRO DISABLE_SAGA
+MACRO DISABLE_KYRA
+// these work, so don't disable them :)
+//MACRO DISABLE_SIMON
+//MACRO DISABLE_SKY
+//MACRO DISABLE_QUEEN
+//MACRO DISABLE_GOB
+
+// *** Include paths
+
+USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound
+USERINCLUDE ..\..\..\backends\fs ..\..\..\backends\epoc ..\..\..\backends\sdl
+
+SYSTEMINCLUDE \epoc32\include\ESDL
+SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
+SYSTEMINCLUDE \epoc32\include\libc
+SYSTEMINCLUDE \epoc32\include
+SYSTEMINCLUDE ..\..\..\backends\epoc // for portdefs.h
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..
+
+//START_AUTO_OBJECTS_COMMON_// Updated @ Mon Jun 6 23:07:22 2005
+SOURCE common\config-file.cpp
+SOURCE common\config-manager.cpp
+SOURCE common\file.cpp
+SOURCE common\md5.cpp
+SOURCE common\mutex.cpp
+SOURCE common\str.cpp
+SOURCE common\stream.cpp
+SOURCE common\timer.cpp
+SOURCE common\util.cpp
+SOURCE common\savefile.cpp
+SOURCE common\system.cpp
+//STOP_AUTO_OBJECTS_COMMON_//
+
+//START_AUTO_OBJECTS_GRAPHICS_// Updated @ Mon Jun 6 23:07:22 2005
+SOURCE graphics\animation.cpp
+SOURCE graphics\consolefont.cpp
+SOURCE graphics\font.cpp
+SOURCE graphics\fontman.cpp
+SOURCE graphics\newfont.cpp
+SOURCE graphics\newfont_big.cpp
+SOURCE graphics\primitives.cpp
+SOURCE graphics\scummfont.cpp
+SOURCE graphics\surface.cpp
+//STOP_AUTO_OBJECTS_GRAPHICS_//
+
+//START_AUTO_OBJECTS_GUI_// Updated @ Mon Jun 6 23:07:22 2005
+SOURCE gui\about.cpp
+SOURCE gui\browser.cpp
+SOURCE gui\chooser.cpp
+SOURCE gui\console.cpp
+SOURCE gui\dialog.cpp
+SOURCE gui\editable.cpp
+SOURCE gui\EditTextWidget.cpp
+SOURCE gui\launcher.cpp
+SOURCE gui\ListWidget.cpp
+SOURCE gui\message.cpp
+SOURCE gui\newgui.cpp
+SOURCE gui\options.cpp
+SOURCE gui\PopUpWidget.cpp
+SOURCE gui\ScrollBarWidget.cpp
+SOURCE gui\TabWidget.cpp
+SOURCE gui\widget.cpp
+//STOP_AUTO_OBJECTS_GUI_//
+
+//START_AUTO_OBJECTS_SOUND_// Updated @ Mon Jun 6 23:07:22 2005
+SOURCE sound\adpcm.cpp
+SOURCE sound\audiocd.cpp
+SOURCE sound\audiostream.cpp
+SOURCE sound\flac.cpp
+SOURCE sound\fmopl.cpp
+SOURCE sound\mididrv.cpp
+SOURCE sound\midiparser.cpp
+SOURCE sound\midiparser_smf.cpp
+SOURCE sound\midiparser_xmidi.cpp
+SOURCE sound\mixer.cpp
+SOURCE sound\mp3.cpp
+SOURCE sound\mpu401.cpp
+SOURCE sound\rate.cpp
+SOURCE sound\voc.cpp
+SOURCE sound\vorbis.cpp
+SOURCE sound\wave.cpp
+SOURCE sound\softsynth\adlib.cpp
+SOURCE sound\softsynth\ym2612.cpp
+//STOP_AUTO_OBJECTS_SOUND_//
+
+// backend specific includes
+SOURCE backends\midi\null.cpp
+SOURCE backends\fs\fs.cpp
+// backend specific includes
diff --git a/backends/epoc/build/scummvm_gob.mmp b/backends/epoc/build/scummvm_gob.mmp
new file mode 100644
index 0000000000..c580f4bb0c
--- /dev/null
+++ b/backends/epoc/build/scummvm_gob.mmp
@@ -0,0 +1,69 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+//
+// EPOC MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+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
+
+MACRO NONSTANDARD_PORT
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..
+
+//START_AUTO_OBJECTS_GOB_// Updated @ Mon Jun 6 23:07:22 2005
+SOURCE gob\anim.cpp
+SOURCE gob\cdrom.cpp
+SOURCE gob\dataio.cpp
+SOURCE gob\draw.cpp
+SOURCE gob\driver_vga.cpp
+SOURCE gob\game.cpp
+SOURCE gob\global.cpp
+SOURCE gob\goblin.cpp
+SOURCE gob\init.cpp
+SOURCE gob\inter.cpp
+SOURCE gob\map.cpp
+SOURCE gob\mult.cpp
+SOURCE gob\pack.cpp
+SOURCE gob\palanim.cpp
+SOURCE gob\parse.cpp
+SOURCE gob\scenery.cpp
+SOURCE gob\util.cpp
+SOURCE gob\video.cpp
+SOURCE gob\sound.cpp
+SOURCE gob\timer.cpp
+SOURCE gob\gob.cpp
+//STOP_AUTO_OBJECTS_GOB_//
+
+// *** Include paths
+
+USERINCLUDE ..\..\..\gob
+USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound ..\..\..\backends\epoc
+SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\..\..\backends\epoc
diff --git a/backends/epoc/build/scummvm_queen.mmp b/backends/epoc/build/scummvm_queen.mmp
new file mode 100644
index 0000000000..699a004f7b
--- /dev/null
+++ b/backends/epoc/build/scummvm_queen.mmp
@@ -0,0 +1,69 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+//
+// EPOC MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+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
+
+MACRO NONSTANDARD_PORT
+MACRO USE_MAD
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..
+
+//START_AUTO_OBJECTS_QUEEN_// Updated @ Mon Jun 6 23:07:22 2005
+SOURCE queen\bankman.cpp
+SOURCE queen\command.cpp
+SOURCE queen\credits.cpp
+SOURCE queen\cutaway.cpp
+SOURCE queen\debug.cpp
+SOURCE queen\display.cpp
+SOURCE queen\graphics.cpp
+SOURCE queen\grid.cpp
+SOURCE queen\input.cpp
+SOURCE queen\journal.cpp
+SOURCE queen\logic.cpp
+SOURCE queen\music.cpp
+SOURCE queen\musicdata.cpp
+SOURCE queen\queen.cpp
+SOURCE queen\resource.cpp
+SOURCE queen\restables.cpp
+SOURCE queen\sound.cpp
+SOURCE queen\state.cpp
+SOURCE queen\talk.cpp
+SOURCE queen\walk.cpp
+//STOP_AUTO_OBJECTS_QUEEN_//
+
+// *** Include paths
+
+USERINCLUDE ..\..\..\queen
+USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound ..\..\..\backends\epoc
+SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\..\..\backends\epoc
diff --git a/backends/epoc/build/scummvm_scumm.mmp b/backends/epoc/build/scummvm_scumm.mmp
new file mode 100644
index 0000000000..9760985f2a
--- /dev/null
+++ b/backends/epoc/build/scummvm_scumm.mmp
@@ -0,0 +1,142 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+
+//
+// EPOC MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+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
+
+MACRO NONSTANDARD_PORT
+MACRO USE_MAD
+MACRO USE_ZLIB
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..
+
+//START_AUTO_OBJECTS_SCUMM_// Updated @ Mon Jun 6 23:07:22 2005
+SOURCE scumm\actor.cpp
+SOURCE scumm\akos.cpp
+SOURCE scumm\base-costume.cpp
+SOURCE scumm\bomp.cpp
+SOURCE scumm\boxes.cpp
+SOURCE scumm\camera.cpp
+SOURCE scumm\charset.cpp
+SOURCE scumm\costume.cpp
+SOURCE scumm\cursor.cpp
+SOURCE scumm\debugger.cpp
+SOURCE scumm\dialogs.cpp
+SOURCE scumm\gfx.cpp
+SOURCE scumm\imuse.cpp
+SOURCE scumm\imuse_player.cpp
+SOURCE scumm\input.cpp
+SOURCE scumm\instrument.cpp
+SOURCE scumm\help.cpp
+SOURCE scumm\midiparser_ro.cpp
+SOURCE scumm\midiparser_eup.cpp
+SOURCE scumm\nut_renderer.cpp
+SOURCE scumm\object.cpp
+SOURCE scumm\palette.cpp
+SOURCE scumm\player_mod.cpp
+SOURCE scumm\player_v1.cpp
+SOURCE scumm\player_nes.cpp
+SOURCE scumm\player_v2.cpp
+SOURCE scumm\player_v2a.cpp
+SOURCE scumm\player_v3a.cpp
+SOURCE scumm\resource.cpp
+SOURCE scumm\resource_v2.cpp
+SOURCE scumm\resource_v3.cpp
+SOURCE scumm\resource_v4.cpp
+SOURCE scumm\room.cpp
+SOURCE scumm\saveload.cpp
+SOURCE scumm\script.cpp
+SOURCE scumm\script_c64.cpp
+SOURCE scumm\script_v2.cpp
+SOURCE scumm\script_v5.cpp
+SOURCE scumm\script_v6.cpp
+SOURCE scumm\script_v6he.cpp
+SOURCE scumm\scumm.cpp
+SOURCE scumm\sound.cpp
+SOURCE scumm\string.cpp
+SOURCE scumm\usage_bits.cpp
+SOURCE scumm\util.cpp
+SOURCE scumm\vars.cpp
+SOURCE scumm\verbs.cpp
+SOURCE scumm\thumbnail.cpp
+//STOP_AUTO_OBJECTS_SCUMM_//
+
+//START_AUTO_OBJECTS_SCUMM_DISABLE_SCUMM_7_8// Updated @ Mon Jun 6 23:03:34 2005
+SOURCE scumm\script_v8.cpp
+SOURCE scumm\imuse_digi\dimuse.cpp
+SOURCE scumm\imuse_digi\dimuse_bndmgr.cpp
+SOURCE scumm\imuse_digi\dimuse_codecs.cpp
+SOURCE scumm\imuse_digi\dimuse_music.cpp
+SOURCE scumm\imuse_digi\dimuse_sndmgr.cpp
+SOURCE scumm\imuse_digi\dimuse_script.cpp
+SOURCE scumm\imuse_digi\dimuse_track.cpp
+SOURCE scumm\imuse_digi\dimuse_tables.cpp
+SOURCE scumm\insane\insane.cpp
+SOURCE scumm\insane\insane_ben.cpp
+SOURCE scumm\insane\insane_enemy.cpp
+SOURCE scumm\insane\insane_scenes.cpp
+SOURCE scumm\insane\insane_iact.cpp
+SOURCE scumm\smush\chunk.cpp
+SOURCE scumm\smush\codec1.cpp
+SOURCE scumm\smush\codec37.cpp
+SOURCE scumm\smush\codec47.cpp
+SOURCE scumm\smush\imuse_channel.cpp
+SOURCE scumm\smush\smush_player.cpp
+SOURCE scumm\smush\saud_channel.cpp
+SOURCE scumm\smush\smush_mixer.cpp
+SOURCE scumm\smush\smush_font.cpp
+//STOP_AUTO_OBJECTS_SCUMM_DISABLE_SCUMM_7_8//
+
+//START_AUTO_OBJECTS_SCUMM_DISABLE_HE// Updated @ Mon Jun 6 23:03:34 2005
+SOURCE scumm\logic_he.cpp
+SOURCE scumm\palette_he.cpp
+SOURCE scumm\resource_v7he.cpp
+SOURCE scumm\script_v7he.cpp
+SOURCE scumm\script_v72he.cpp
+SOURCE scumm\script_v80he.cpp
+SOURCE scumm\script_v90he.cpp
+SOURCE scumm\script_v100he.cpp
+SOURCE scumm\sprite_he.cpp
+SOURCE scumm\wiz_he.cpp
+//STOP_AUTO_OBJECTS_SCUMM_DISABLE_HE//
+
+// *** Include paths
+
+USERINCLUDE ..\..\..\scumm ..\..\..\scumm\smush ..\..\..\scumm\insane
+USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound ..\..\..\backends\epoc
+
+SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
+SYSTEMINCLUDE \epoc32\include\libc
+SYSTEMINCLUDE \epoc32\include
+SYSTEMINCLUDE ..\..\..\backends\epoc // for portdefs.h
diff --git a/backends/epoc/build/scummvm_simon.mmp b/backends/epoc/build/scummvm_simon.mmp
new file mode 100644
index 0000000000..ed9fbd8679
--- /dev/null
+++ b/backends/epoc/build/scummvm_simon.mmp
@@ -0,0 +1,64 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+
+//
+// EPOC MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+TARGET scummvm_simon.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
+
+MACRO NONSTANDARD_PORT
+MACRO USE_MAD
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..
+
+//START_AUTO_OBJECTS_SIMON_// Updated @ Mon Jun 6 23:07:22 2005
+SOURCE simon\charset.cpp
+SOURCE simon\cursor.cpp
+SOURCE simon\debug.cpp
+SOURCE simon\debugger.cpp
+SOURCE simon\icons.cpp
+SOURCE simon\items.cpp
+SOURCE simon\midi.cpp
+SOURCE simon\midiparser_s1d.cpp
+SOURCE simon\res.cpp
+SOURCE simon\saveload.cpp
+SOURCE simon\sound.cpp
+SOURCE simon\simon.cpp
+SOURCE simon\verb.cpp
+SOURCE simon\vga.cpp
+//STOP_AUTO_OBJECTS_SIMON_//
+
+// *** Include paths
+
+USERINCLUDE ..\..\..\simon
+USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound ..\..\..\backends\epoc
+SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\..\..\backends\epoc
diff --git a/backends/epoc/build/scummvm_sky.mmp b/backends/epoc/build/scummvm_sky.mmp
new file mode 100644
index 0000000000..985b0f8d0b
--- /dev/null
+++ b/backends/epoc/build/scummvm_sky.mmp
@@ -0,0 +1,71 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
+ * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
+ * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
+ * Copyright (C) 2005 The ScummVM project
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header:
+ */
+
+
+//
+// EPOC MMP makefile project for ScummVM
+//
+
+// *** Definitions
+
+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
+
+MACRO NONSTANDARD_PORT
+MACRO USE_MAD
+
+// *** SOURCE files
+
+SOURCEPATH ..\..\..
+
+//START_AUTO_OBJECTS_SKY_// Updated @ Mon Jun 6 23:07:22 2005
+SOURCE sky\autoroute.cpp
+SOURCE sky\compact.cpp
+SOURCE sky\control.cpp
+SOURCE sky\debug.cpp
+SOURCE sky\disk.cpp
+SOURCE sky\grid.cpp
+SOURCE sky\hufftext.cpp
+SOURCE sky\intro.cpp
+SOURCE sky\logic.cpp
+SOURCE sky\mouse.cpp
+SOURCE sky\rnc_deco.cpp
+SOURCE sky\screen.cpp
+SOURCE sky\sky.cpp
+SOURCE sky\sound.cpp
+SOURCE sky\text.cpp
+SOURCE sky\music\adlibchannel.cpp
+SOURCE sky\music\adlibmusic.cpp
+SOURCE sky\music\gmchannel.cpp
+SOURCE sky\music\gmmusic.cpp
+SOURCE sky\music\mt32music.cpp
+SOURCE sky\music\musicbase.cpp
+//STOP_AUTO_OBJECTS_SKY_//
+
+// *** Include paths
+
+USERINCLUDE ..\..\..\sky ..\..\..\sky\music
+USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound ..\..\..\backends\epoc
+SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\..\..\backends\epoc
diff --git a/backends/epoc/build/updateMMPs.pl b/backends/epoc/build/updateMMPs.pl
new file mode 100644
index 0000000000..fc7108c3e6
--- /dev/null
+++ b/backends/epoc/build/updateMMPs.pl
@@ -0,0 +1,156 @@
+
+use Cwd;
+
+print "
+=======================================================================================
+Preparing to update all the Symbian MMP project files with objects from module.mk files
+=======================================================================================
+
+";
+
+$buildDir = getcwd();
+chdir("../../../");
+
+my @std = (""); # section standard, no #ifdef
+#my @sec = ("", "DISABLE_SCUMM_7_8", "DISABLE_HE"); # sections for scumm DISABLED_s
+my @exc = ("mt32","fluidsynth"); # exclusions for sound
+
+#arseModule(mmpStr, dirStr, ifdefArray, [exclusionsArray])
+#ParseModule("_base", "base", \@std); # now in EScummVM_TRG.mmp, these never change anyways...
+ParseModule("_base", "common", \@std);
+ParseModule("_base", "gui", \@std);
+ParseModule("_base", "graphics", \@std);
+ParseModule("_base", "sound", \@std, \@exc);
+
+ParseModule("_scumm", "scumm", \@std); #\@sec # no more: enabled all again
+ParseModule("_queen", "queen", \@std);
+ParseModule("_simon", "simon", \@std);
+ParseModule("_sky", "sky", \@std);
+ParseModule("_gob", "gob", \@std);
+
+print "
+=======================================================================================
+Done. Enjoy :P
+=======================================================================================
+";
+# parses multiple sections per mmp/module
+sub ParseModule
+{
+ my ($mmp,$module,$sections,$exclusions) = @_;
+ my @sections = @{$sections};
+ my @exclusions = @{$exclusions};
+
+ foreach $section (@sections)
+ {
+ CheckForModuleMK($module, $section, @exclusions);
+ UpdateProjectFile($mmp, $module, $section);
+ }
+}
+
+# parses all module.mk files in a dir and its subdirs
+sub CheckForModuleMK
+{
+ my ($item,$section,@exclusions) = @_;
+
+ if (-d $item)
+ {
+ #print "$item\n";
+
+ opendir DIR, $item;
+ #my @Files = readdir DIR;
+ my @Files = grep s/^([^\.].*)$/$1/, readdir DIR;
+ closedir DIR;
+
+ foreach $entry (@Files)
+ {
+ CheckForModuleMK("$item/$entry", $section, @exclusions);
+ }
+ }
+
+ if (-f $item and $item =~ /.*\/module.mk$/)
+ {
+ my $sec = "";
+ my $secnum = 0;
+
+ print "Parsing $item for section '$section' ... ";
+
+ open FILE, $item;
+ my @lines = <FILE>;
+ close FILE;
+
+ my $count = @lines;
+ print "$count lines";
+
+ A: foreach $line (@lines)
+ {
+ # found a section? reset
+ if ($line =~ /^ifndef (.*)/)
+ {
+ $sec = $1;
+ }
+
+ # found an object? Not uncommented!
+ if (!($line =~ /^#/) && $line =~ s/\.o/.cpp/)
+ {
+ # handle this section?
+ if ($sec eq $section)
+ {
+ $line =~ s/^\s*//g; # remove possible leading whitespace
+ $line =~ s/ \\//; # remove possible trailing ' \'
+ $line =~ s/\//\\/g; # replace / with \
+ chop($line); # remove \n
+
+ # do we need to skip this file?
+ foreach $exclusion (@exclusions)
+ {
+ if ($line =~ /$exclusion/)
+ {
+ #print "\n !$line (excluded)";
+ next A;
+ }
+ }
+
+ $secnum++;
+ #print "\n $line";
+ $output .= "SOURCE $line\n";
+ }
+ }
+ }
+ print " -- $secnum objects selected\n";
+ }
+}
+
+# update an MMP project file with the new objects
+sub UpdateProjectFile
+{
+ my ($mmp,$module,$section) = @_;
+ my $n = "AUTO_OBJECTS_".uc($module)."_$section";
+ my $a = "\/\/START_$n\/\/";
+ my $b = "\/\/STOP_$n\/\/";
+ my $name = "scummvm$mmp.mmp";
+ my $file = "$buildDir/$name";
+ my $updated = " Updated @ ".localtime();
+
+ print " ===>Updating backends/epoc/build/$name @ $n ... ";
+
+ open FILE, "$file";
+ my @lines = <FILE>;
+ close FILE;
+
+# open FILE, ">$file~";
+# print FILE @lines;
+# close FILE;
+
+ my $onestr = join("",@lines);
+ $onestr =~ s/$a.*$b/$a$updated\n$output$b/s;
+
+ open FILE, ">$file";
+ print FILE $onestr;
+ close FILE;
+
+ print "done.\n";
+
+ $output = "";
+}
+
+ \ No newline at end of file