diff options
36 files changed, 178 insertions, 1069 deletions
diff --git a/backends/epoc/S60/ScummVMApp.cpp b/backends/epoc/S60/ScummVMApp.cpp deleted file mode 100644 index 917f997385..0000000000 --- a/backends/epoc/S60/ScummVMApp.cpp +++ /dev/null @@ -1,166 +0,0 @@ -/* 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-2006 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - */ - -#include "ScummVMapp.h" -#include <scummvms60.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(); - TApaTaskList taskList(iEikonEnv->WsSession()); - TApaTask myTask=taskList.FindApp(TUid::Uid(0x101f9b57)); - myTask.SendToBackground(); - - TBuf<128> startFile; - startFile = iEikonEnv->EikAppUi()->Application()->AppFullName(); - TParse parser; - parser.Set(startFile, NULL, NULL); - - startFile = parser.DriveAndPath(); -#ifndef __WINS__ - startFile.Append( _L("ScummVM.exe")); -#else - startFile.Append( _L("ScummVM.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 - - 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/S60/ScummVMApp.h b/backends/epoc/S60/ScummVMApp.h deleted file mode 100644 index cccef76c8c..0000000000 --- a/backends/epoc/S60/ScummVMApp.h +++ /dev/null @@ -1,85 +0,0 @@ -/* 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-2006 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - */ - -#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(CEikApplication &aApplicaiton); - ~CScummVMDoc(); - - CEikAppUi *CreateAppUiL(); - void ConstructL(); -}; - -#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/S60/ScummVMS60.rss b/backends/epoc/S60/ScummVMS60.rss deleted file mode 100644 index 0b699ea305..0000000000 --- a/backends/epoc/S60/ScummVMS60.rss +++ /dev/null @@ -1,62 +0,0 @@ -/* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $Header: - */ - -// ScummVM.RSS - -NAME SCUM - -// Include definitions of resource STRUCTS used by this -// resource script -#include <eikon.rh> -#include "..\src\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/S60/ScummVM_S60_App.mmp b/backends/epoc/S60/ScummVM_S60_App.mmp index 44bbf1a2a0..030175b286 100644 --- a/backends/epoc/S60/ScummVM_S60_App.mmp +++ b/backends/epoc/S60/ScummVM_S60_App.mmp @@ -25,22 +25,23 @@ // MAKEFILE.MMP S60 ScummVM Launcher // -TARGET ScummVMS60.app -TARGETPATH system\apps\ScummVMS60 +TARGET ScummVM.app +TARGETPATH system\apps\ScummVM TARGETTYPE app UID 0x100039ce 0x101f9b57 -RESOURCE SCUMMVMS60.rss +sourcepath ..\res +RESOURCE SCUMMVM.rss -SOURCEPATH . -USERINCLUDE . +USERINCLUDE ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc // app source +sourcepath ..\src SOURCE ScummVMApp.cpp sourcepath .. -AIF ScummVmS60.Aif ..\res\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp +AIF ScummVm.Aif ..\res\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // libraries LIBRARY cone.lib EIKCORE.lib diff --git a/backends/epoc/S60v3/ScummVM.rss b/backends/epoc/S60v3/ScummVM.rss deleted file mode 100644 index 41aa0a59e2..0000000000 --- a/backends/epoc/S60v3/ScummVM.rss +++ /dev/null @@ -1,46 +0,0 @@ -/* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - */ - -// ScummVM.RSS - -NAME SCUM - -// Include definitions of resource STRUCTS used by this -// resource script -#include <eikon.rh> -#include "..\src\Scummvm.hrh" -// Include the standard Eikon resource ids -#include <eikon.rsg> - - -RESOURCE RSS_SIGNATURE - { - } - -RESOURCE TBUF16 { buf=""; } - -RESOURCE EIK_APP_INFO - { - } - diff --git a/backends/epoc/S60v3/ScummVMApp.cpp b/backends/epoc/S60v3/ScummVMApp.cpp deleted file mode 100644 index 33e3614059..0000000000 --- a/backends/epoc/S60v3/ScummVMApp.cpp +++ /dev/null @@ -1,165 +0,0 @@ -/* 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-2006 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - */ - -#include "ScummVMapp.h" -#include <scummvms60.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(); - TApaTaskList taskList(iEikonEnv->WsSession()); - TApaTask myTask=taskList.FindApp(TUid::Uid(0x101f9b57)); - myTask.SendToBackground(); - - TBuf<128> startFile; - startFile = iEikonEnv->EikAppUi()->Application()->AppFullName(); - TParse parser; - parser.Set(startFile,NULL,NULL); - - startFile = parser.DriveAndPath(); -#ifndef __WINS__ - startFile.Append( _L("ScummVM.exe")); -#else - startFile.Append( _L("ScummVM.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 - 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/S60v3/ScummVMApp.h b/backends/epoc/S60v3/ScummVMApp.h deleted file mode 100644 index 5ffeeee46a..0000000000 --- a/backends/epoc/S60v3/ScummVMApp.h +++ /dev/null @@ -1,80 +0,0 @@ -/* 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-2006 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - */ - -#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/S60v3/ScummVM_Loc.rss b/backends/epoc/S60v3/ScummVM_Loc.rss new file mode 100644 index 0000000000..83a8cfcc4c --- /dev/null +++ b/backends/epoc/S60v3/ScummVM_Loc.rss @@ -0,0 +1,22 @@ +#include <AppInfo.rh> + +// This file localise the applications icons and caption +RESOURCE LOCALISABLE_APP_INFO + { + caption_and_icon = + { + CAPTION_AND_ICON_INFO + { + // The caption text is defined in the rls file + caption = "ScummVM"; + // Icons are used to represent applications in the + // application launcher and application title bar. + // The number_of_icons value identifies how many icons + // that exist in the icon_file. + number_of_icons = 3; + // Using the application icons. + icon_file = "\\Resource\\Apps\\ScummVM.mbm"; + } + }; + } + diff --git a/backends/epoc/S60v3/scummvm-CVS-SymbianS60v3.pkg b/backends/epoc/S60v3/scummvm-CVS-SymbianS60v3.pkg index dc73df4b63..a2e1a56e1a 100644 --- a/backends/epoc/S60v3/scummvm-CVS-SymbianS60v3.pkg +++ b/backends/epoc/S60v3/scummvm-CVS-SymbianS60v3.pkg @@ -6,16 +6,17 @@ ;&EN ; UID is the app's UID -#{"ScummVM S60v3"},(0x101f9b57),0,80,3 +#{"ScummVM S60v3"},(0xA0000657),0,82.0 ; Platform type (0x101F6F88), 0, 0, 0, {"Series60ProductID"} ; Launcher, Application, AIF & Resource file -"\epoc32\release\armi\urel\ScummVM.app"-"!:\system\apps\ScummVM\ScummVM.app" -"\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" +"\s60v3\epoc32\release\gcce\urel\ScummVM.exe"- "!:\sys\bin\ScummVM.exe" +"\s60v3\epoc32\data\z\resource\apps\ScummVM.rsc"- "!:\resource\apps\ScummVM.rsc" +"\s60v3\epoc32\Data\Z\resource\apps\scummvm_loc.rsc"- "!:\resource\apps\scummvm_loc.rsc" +"\s60v3\epoc32\data\Z\resource\APPS\scummvm.MBM"- "!:\resource\apps\scummvm.MBM" +"\s60v3\epoc32\data\z\private\10003a3f\apps\scummvm_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_reg.rsc" ; Config/log files: 'empty' will automagically be removed on uninstall ""-"!:\system\apps\ScummVM\scummvm.ini",FILENULL diff --git a/backends/epoc/S60v3/scummvm_reg.rss b/backends/epoc/S60v3/scummvm_reg.rss new file mode 100644 index 0000000000..df99094b2e --- /dev/null +++ b/backends/epoc/S60v3/scummvm_reg.rss @@ -0,0 +1,18 @@ +// All registration files need to #include appinfo.rh. +#include <AppInfo.rh> + +// All registration files must define UID2, which is always +// KUidAppRegistrationResourceFile, and UID3, which is the application's UID. +UID2 KUidAppRegistrationResourceFile +UID3 0xA0000657 // application UID + +// Registration file need to containo an APP_REGISTRATION_INFO resource that +// minimally needs to provide the name of the application binary (using the +// app_file statement). +RESOURCE APP_REGISTRATION_INFO + { + app_file = "ScummVM"; // filename of application binary (minus extension) + // Specify the location of the localisable icon/caption definition file + localisable_resource_file = "\\Resource\\Apps\\ScummVM_loc"; + } + diff --git a/backends/epoc/S80/ScummVMApp.cpp b/backends/epoc/S80/ScummVMApp.cpp deleted file mode 100644 index f835de5d0c..0000000000 --- a/backends/epoc/S80/ScummVMApp.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/* 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-2006 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - */ - -#include "ScummVMapp.h" -#include <scummvms80.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("ScummVM.exe")); -#else - startFile.Append( _L("ScummVM.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/S80/ScummVM_S80_App.mmp b/backends/epoc/S80/ScummVM_S80_App.mmp index 268fd18a40..6cc6d044c4 100644 --- a/backends/epoc/S80/ScummVM_S80_App.mmp +++ b/backends/epoc/S80/ScummVM_S80_App.mmp @@ -25,22 +25,24 @@ // MAKEFILE.MMP S80 ScummVM Launcher // -TARGET ScummVMS80.app -TARGETPATH system\apps\ScummVMS80 +TARGET ScummVM.app +TARGETPATH system\apps\ScummVM TARGETTYPE app UID 0x100039ce 0x101f9b57 -RESOURCE SCUMMVMS80.rss +sourcepath ..\res +RESOURCE SCUMMVM.rss SOURCEPATH . -USERINCLUDE . +USERINCLUDE ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc // app source +sourcepath ..\src SOURCE ScummVMApp.cpp sourcepath .. -AIF ScummVmS80.Aif ..\res\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp +AIF ScummVm.Aif ..\res\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // libraries LIBRARY cone.lib EIKCORE.lib diff --git a/backends/epoc/S80/ScummvmS80.rss b/backends/epoc/S80/ScummvmS80.rss deleted file mode 100644 index 73988dab42..0000000000 --- a/backends/epoc/S80/ScummvmS80.rss +++ /dev/null @@ -1,62 +0,0 @@ -/* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $Header: - */ - -// ScummVM.RSS - -NAME SCUM - -// Include definitions of resource STRUCTS used by this -// resource script -#include <eikon.rh> -#include "..\src\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/S80/scummvm-CVS-SymbianS80.pkg b/backends/epoc/S80/scummvm-CVS-SymbianS80.pkg index 5f72d6d905..e48d37b08e 100644 --- a/backends/epoc/S80/scummvm-CVS-SymbianS80.pkg +++ b/backends/epoc/S80/scummvm-CVS-SymbianS80.pkg @@ -8,8 +8,8 @@ ; UID is the app's UID #{"ScummVM S80"},(0x101f9b57),0,80,3 -; Platform type -(0x101F8ED2), 0, 0, 0, {"Series80ProductID"} +; Platform type -- disabled: seems to be causing trouble +;(0x101F8ED2), 0, 0, 0, {"Series80ProductID"} ; Launcher, Application, AIF & Resource file "\epoc32\release\armi\urel\ScummVM.app"-"!:\system\apps\ScummVM\ScummVM.app" diff --git a/backends/epoc/S90/ScummVMApp.h b/backends/epoc/S90/ScummVMApp.h deleted file mode 100644 index 096cbc6f1d..0000000000 --- a/backends/epoc/S90/ScummVMApp.h +++ /dev/null @@ -1,84 +0,0 @@ -/* 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-2006 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - */ - -#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(CEikApplication &aApplicaiton); - ~CScummVMDoc(); - - CEikAppUi *CreateAppUiL(); - void ConstructL(); -}; - -#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/S90/ScummvmS90.rss b/backends/epoc/S90/ScummvmS90.rss deleted file mode 100644 index 73988dab42..0000000000 --- a/backends/epoc/S90/ScummvmS90.rss +++ /dev/null @@ -1,62 +0,0 @@ -/* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $Header: - */ - -// ScummVM.RSS - -NAME SCUM - -// Include definitions of resource STRUCTS used by this -// resource script -#include <eikon.rh> -#include "..\src\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/S90/Scummvm_S90_App.mmp b/backends/epoc/S90/Scummvm_S90_App.mmp index a3bed01978..4fdd245a51 100644 --- a/backends/epoc/S90/Scummvm_S90_App.mmp +++ b/backends/epoc/S90/Scummvm_S90_App.mmp @@ -25,22 +25,24 @@ // MAKEFILE.MMP S90 ScummVM Launcher // -TARGET ScummVMS90.app -TARGETPATH system\apps\ScummVMS90 +TARGET ScummVM.app +TARGETPATH system\apps\ScummVM TARGETTYPE app UID 0x100039ce 0x101f9b57 -RESOURCE SCUMMVMS90.rss +sourcepath ..\res +RESOURCE SCUMMVM.rss SOURCEPATH . USERINCLUDE . SYSTEMINCLUDE \epoc32\include \epoc32\include\libc // app source +sourcepath ..\src SOURCE ScummVMApp.cpp sourcepath .. -AIF ScummVmS90.Aif ..\res\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp +AIF ScummVm.Aif ..\res\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // libraries LIBRARY cone.lib EIKCORE.lib diff --git a/backends/epoc/S90/scummvm-CVS-SymbianS90.pkg b/backends/epoc/S90/scummvm-CVS-SymbianS90.pkg index 1471a02f0b..a913bd15ec 100644 --- a/backends/epoc/S90/scummvm-CVS-SymbianS90.pkg +++ b/backends/epoc/S90/scummvm-CVS-SymbianS90.pkg @@ -8,8 +8,8 @@ ; UID is the app's UID #{"ScummVM S90"},(0x101f9b57),0,80,3 -; Platform type -(0x101FBE04), 0, 0, 0, {"Series90ProductID"} +; Platform type -- disabled: seems to be causing trouble +;(0x101FBE04), 0, 0, 0, {"Series90ProductID"} ; Launcher, Application, AIF & Resource file "\epoc32\release\armi\urel\ScummVM.app"-"!:\system\apps\ScummVM\ScummVM.app" diff --git a/backends/epoc/UIQ3/scummvm-CVS-SymbianUIQ3.pkg b/backends/epoc/UIQ3/scummvm-CVS-SymbianUIQ3.pkg index 6c1f21cd95..2574cd99cf 100644 --- a/backends/epoc/UIQ3/scummvm-CVS-SymbianUIQ3.pkg +++ b/backends/epoc/UIQ3/scummvm-CVS-SymbianUIQ3.pkg @@ -18,16 +18,16 @@ ; Application, AIF & Resource file "\uiq3\epoc32\release\gcce\urel\ScummVM.exe"-"!:\sys\bin\ScummVM.exe" -"\uiq3\epoc32\data\z\resource\apps\ScummVM.rsc"-"!:\resource\apps\ScummVM\ScummVM.rsc" +"\uiq3\epoc32\data\z\resource\apps\ScummVM.rsc"- "!:\resource\apps\ScummVM.rsc" "\uiq3\epoc32\Data\Z\resource\apps\scummvm_loc.rsc"-"!:\resource\apps\scummvm_loc.rsc" "\uiq3\epoc32\data\Z\resource\APPS\scummvm.MBM"-"!:\resource\apps\scummvm.MBM" "\uiq3\epoc32\data\z\private\10003a3f\apps\scummvm_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_reg.rsc" ; Config/log files: 'empty' will automagically be removed on uninstall -""-"!:\shared\ScummVM\scummvm.ini",FILENULL -""-"!:\shared\ScummVM\scummvm.stdout.txt",FILENULL -""-"!:\shared\ScummVM\scummvm.stderr.txt",FILENULL -""-"!:\shared\ScummVM\ScummVM\sdl.ini",FILENULL +""-"d:\shared\ScummVM\scummvm.ini",FILENULL +""-"d:\shared\ScummVM\scummvm.stdout.txt",FILENULL +""-"d:\shared\ScummVM\scummvm.stderr.txt",FILENULL +""-"d:\shared\ScummVM\sdl.ini",FILENULL ; This install layout will let you upgrade to newer versions wihout loss of scummvm.ini. ; It will remove the config file, std***.txt files & dirs on uninstall.
\ No newline at end of file diff --git a/backends/epoc/mmp/initial_mmps.zip b/backends/epoc/mmp/initial_mmps.zip Binary files differindex 4509dffb2c..0a64eb577a 100644 --- a/backends/epoc/mmp/initial_mmps.zip +++ b/backends/epoc/mmp/initial_mmps.zip diff --git a/backends/epoc/res/ScummSmall.bmp b/backends/epoc/res/ScummSmall.bmp Binary files differnew file mode 100644 index 0000000000..029fbb3412 --- /dev/null +++ b/backends/epoc/res/ScummSmall.bmp diff --git a/backends/epoc/res/scummLarge.bmp b/backends/epoc/res/scummLarge.bmp Binary files differnew file mode 100644 index 0000000000..834c8ca008 --- /dev/null +++ b/backends/epoc/res/scummLarge.bmp diff --git a/backends/epoc/res/scummLargeMask.bmp b/backends/epoc/res/scummLargeMask.bmp Binary files differnew file mode 100644 index 0000000000..088ebb2fcb --- /dev/null +++ b/backends/epoc/res/scummLargeMask.bmp diff --git a/backends/epoc/res/scummSmallMask.bmp b/backends/epoc/res/scummSmallMask.bmp Binary files differnew file mode 100644 index 0000000000..0b5fac21f8 --- /dev/null +++ b/backends/epoc/res/scummSmallMask.bmp diff --git a/backends/epoc/S60v3/ScummVMS60.rss b/backends/epoc/res/scummvm.rss index 0b699ea305..f47c643fb4 100644 --- a/backends/epoc/S60v3/ScummVMS60.rss +++ b/backends/epoc/res/scummvm.rss @@ -18,7 +18,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - * $Header: + * $URL$ */ // ScummVM.RSS diff --git a/backends/epoc/res/scummxLarge.bmp b/backends/epoc/res/scummxLarge.bmp Binary files differnew file mode 100644 index 0000000000..3ace76b58a --- /dev/null +++ b/backends/epoc/res/scummxLarge.bmp diff --git a/backends/epoc/res/scummxLargeMask.bmp b/backends/epoc/res/scummxLargeMask.bmp Binary files differnew file mode 100644 index 0000000000..358112569f --- /dev/null +++ b/backends/epoc/res/scummxLargeMask.bmp diff --git a/backends/epoc/src/ScummApp.cpp b/backends/epoc/src/ScummApp.cpp index 55cd274962..09edfb3215 100644 --- a/backends/epoc/src/ScummApp.cpp +++ b/backends/epoc/src/ScummApp.cpp @@ -27,7 +27,7 @@ #include "backends/epoc/src/ScummVM.hrh" #define _PAGESIZE_ 0x1000 -#if defined (__WINS__) +#if defined (__WINS__) && !defined (__SERIES60_30__) extern "C" int _chkstk(int /*a*/) { _asm { push ecx @@ -63,16 +63,31 @@ _asm { #endif #ifdef EPOC_AS_APP -// this function is called by Symbian to deliver the new CApaApplication object -EXPORT_C CApaApplication *NewApplication() { + +// this function is called automatically by the SymbianOS to deliver the new CApaApplication object +#if !defined (UIQ3) +EXPORT_C +#endif +CApaApplication* NewApplication() { // Return pointer to newly created CQMApp - return (new CScummApp); + return new CScummApp; +} + +#if defined (UIQ3) || defined (__SERIES60_30__) +#include <eikstart.h> +// E32Main() contains the program's start up code, the entry point for an EXE. +GLDEF_C TInt E32Main() { + return EikStart::RunApplication(NewApplication); } #endif +#endif // EPOC_AS_APP + +#if !defined (UIQ3) && !defined (__SERIES60_30__) GLDEF_C TInt E32Dll(TDllReason) { return KErrNone; } +#endif CScummApp::CScummApp() { } diff --git a/backends/epoc/src/ScummApp.h b/backends/epoc/src/ScummApp.h index 1bcf92522c..56ca8b68c3 100644 --- a/backends/epoc/src/ScummApp.h +++ b/backends/epoc/src/ScummApp.h @@ -28,7 +28,8 @@ #include <eikapp.h> #include <e32base.h> #include <sdlapp.h> -#ifdef EPOC_AS_APP + +#if defined (EPOC_AS_APP) && !defined (UIQ3) && !(__SERIES60_30__) #include "ECompXL.h" #endif @@ -38,8 +39,10 @@ public: ~CScummApp(); TUid AppDllUid() const; -#ifdef EPOC_AS_APP +#if defined (EPOC_AS_APP) && !defined (UIQ3) && !(__SERIES60_30__) TECompXL iECompXL; #endif }; #endif + + diff --git a/backends/epoc/S90/ScummVMApp.cpp b/backends/epoc/src/ScummVMApp.cpp index c958321b1c..e30cb62e87 100644 --- a/backends/epoc/S90/ScummVMApp.cpp +++ b/backends/epoc/src/ScummVMApp.cpp @@ -18,12 +18,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - * $URL$ - * $Id$ */ #include "ScummVMapp.h" -#include <scummvms90.rsg> +#include <scummvm.rsg> #include <apgcli.h> #include <eikdll.h> #include <apgtask.h> diff --git a/backends/epoc/S80/ScummVMApp.h b/backends/epoc/src/ScummVMApp.h index 096cbc6f1d..0c422ad178 100644 --- a/backends/epoc/S80/ScummVMApp.h +++ b/backends/epoc/src/ScummVMApp.h @@ -18,12 +18,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - * $URL$ - * $Id$ */ -#ifndef ScummVMapps60h -#define ScummVMapps60h +#ifndef ScummVMapph +#define ScummVMapph #include <eikapp.h> #include <e32base.h> diff --git a/backends/epoc/src/ScummVm.hrh b/backends/epoc/src/ScummVm.hrh index f62ef1b789..3f7bfc19d6 100644 --- a/backends/epoc/src/ScummVm.hrh +++ b/backends/epoc/src/ScummVm.hrh @@ -2,7 +2,7 @@ * 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 + * Copyright (C) 2005-2006 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 @@ -18,12 +18,13 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - * $Header$ */ #ifndef ScummHRH #define ScummHRH - +#if defined (UIQ3) || defined (__SERIES60_30__) +#define ScummUid 0xA0000657 +#else #define ScummUid 0x101f9b57 - +#endif #endif diff --git a/backends/epoc/src/SymbianOS.cpp b/backends/epoc/src/SymbianOS.cpp index 07199c5cfa..dc8a79fe47 100644 --- a/backends/epoc/src/SymbianOS.cpp +++ b/backends/epoc/src/SymbianOS.cpp @@ -24,27 +24,26 @@ #include "backends/epoc/src/SymbianOS.h" #include "backends/epoc/src/SymbianActions.h" +#include "common/config-manager.h" #include "gui/Actions.h" #include "gui/Key.h" #include "gui/message.h" -#include <eikenv.h> // for CEikonEnv::Static() @ SymbianFatalError() +#include <eikenv.h> // for CEikonEnv::Static() @ Symbian::FatalError() +#include "ESDL/sdlapp.h" // for CSDLApp::GetExecutablePathCStr() @ Symbian::GetExecutablePath() -#include "common/config-manager.h" +////////// extern "C" /////////////////////////////////////////////////// extern Common::ConfigManager *g_config; -static const OSystem::GraphicsMode s_supportedGraphicsModes[] = { - {"1x", "Fullscreen", GFX_NORMAL}, - {0, 0, 0} -}; - OSystem *OSystem_SymbianOS_create() { return new OSystem_SDL_Symbian(); } +namespace Symbian { + // Show a simple Symbian Info win with Msg & exit -void SymbianFatalError(const char *msg) { +void FatalError(const char *msg) { TPtrC8 msgPtr((const TUint8 *)msg); TBuf<512> msg16Bit; msg16Bit.Copy(msgPtr); @@ -54,6 +53,21 @@ void SymbianFatalError(const char *msg) { g_system->quit(); } +// make this easily available everywhere +char* GetExecutablePath() +{ + return CSDLApp::GetExecutablePathCStr(); +} + +} // namespace Symbian { + +////////// OSystem_SDL_Symbian ////////////////////////////////////////// + +static const OSystem::GraphicsMode s_supportedGraphicsModes[] = { + {"1x", "Fullscreen", GFX_NORMAL}, + {0, 0, 0} +}; + bool OSystem_SDL_Symbian::hasFeature(Feature f) { switch(f) { case kFeatureFullscreenMode: diff --git a/backends/epoc/UIQ3/ScummVM.rss b/backends/epoc/src/main_features.inl index 41aa0a59e2..b17b0b4feb 100644 --- a/backends/epoc/UIQ3/ScummVM.rss +++ b/backends/epoc/src/main_features.inl @@ -2,7 +2,7 @@ * 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 + * Copyright (C) 2005-2006 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 @@ -18,29 +18,39 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - * $URL$ - * $Id$ */ -// ScummVM.RSS - -NAME SCUM - -// Include definitions of resource STRUCTS used by this -// resource script -#include <eikon.rh> -#include "..\src\Scummvm.hrh" -// Include the standard Eikon resource ids -#include <eikon.rsg> - - -RESOURCE RSS_SIGNATURE - { - } - -RESOURCE TBUF16 { buf=""; } - -RESOURCE EIK_APP_INFO - { - } - +#ifdef USE_VIBRA_SE_PXXX + "Vibra " +#endif + "\n" + +// we want a list of supported engines visible in the program, +// because we also release special builds with only one engine +#ifndef DISABLE_SCUMM + "SCUMM " +#endif +#ifndef DISABLE_SIMON + "Simon " +#endif +#ifndef DISABLE_SKY + "Sky " +#endif +#ifndef DISABLE_QUEEN + "Queen " +#endif +#ifndef DISABLE_GOB + "Gob " +#endif +#ifndef DISABLE_SAGA + "Saga " +#endif +#ifndef DISABLE_KYRA + "Kyra " +#endif +#ifndef DISABLE_SWORD1 + "Sword1 " +#endif +#ifndef DISABLE_SWORD2 + "Sword2 " +#endif diff --git a/backends/epoc/src/portdefs.h b/backends/epoc/src/portdefs.h index a97d971d60..d84db8cdd9 100644 --- a/backends/epoc/src/portdefs.h +++ b/backends/epoc/src/portdefs.h @@ -34,8 +34,6 @@ #include <e32std.h> #include <math.h> -// the place in Symbian FS where scummvm.ini & std***.txt are saved -#define SYMBIAN32_DOC_DIR "C:\\documents\\ScummVM\\" // includes final \\! #define DISABLE_SCALERS // we only need 1x #if defined(USE_TREMOR) && !defined(USE_VORBIS) @@ -136,7 +134,8 @@ void inline *scumm_bsearch(const void *key, const void *base, size_t nmemb, size } #define bsearch scumm_bsearch -// make sure SymbianFatalError() @ SymbianOS.cpp is known in error() @ engine.cpp -extern void SymbianFatalError(const char *msg) ; - - +// we cannot include SymbianOS.h everywhere, but this works too (functions code is in SymbianOS.cpp) +namespace Symbian { +extern void FatalError(const char *msg); +extern char* GetExecutablePath(); +} diff --git a/backends/fs/symbian/symbian-fs.cpp b/backends/fs/symbian/symbian-fs.cpp index 7a26a0f437..0e9cbba86c 100644 --- a/backends/fs/symbian/symbian-fs.cpp +++ b/backends/fs/symbian/symbian-fs.cpp @@ -114,6 +114,7 @@ FSList SymbianFilesystemNode::listDir(ListMode mode) const { RFs fs = CEikonEnv::Static()->FsSession(); TInt driveNumber; TChar driveLetter; + TUint driveLetterValue; TVolumeInfo volumeInfo; TBuf8<30> driveLabel8; TBuf8<30> driveString8; @@ -122,12 +123,16 @@ FSList SymbianFilesystemNode::listDir(ListMode mode) const { TInt err = fs.Volume(volumeInfo, driveNumber); if (err != KErrNone) continue; - User::LeaveIfError(fs.DriveToChar(driveNumber,driveLetter)); + if(fs.DriveToChar(driveNumber,driveLetter) != KErrNone) + continue; + + driveLetterValue = driveLetter; + if(volumeInfo.iName.Length() > 0) { driveLabel8.Copy(volumeInfo.iName); // 16 to 8bit des // enabling this line alone gives KERN-EXEC 3 with non-optimized GCC? WHY? grrr - driveString8.Format(_L8("Drive %c: (%S)"), driveLetter, &driveLabel8); + driveString8.Format(_L8("Drive %c: (%S)"), driveLetterValue, &driveLabel8); } else { - driveString8.Format(_L8("Drive %c:"), driveLetter); + driveString8.Format(_L8("Drive %c:"), driveLetterValue); } char path[10]; |