mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-05 00:36:57 +00:00
* New and tested builds for S60V3 and UIQ3
* New upscaled icons for UIQ3/S60V3. SVG/Scalable version needed for S60V3 for proper good looks * Critical bug in Symbian-fs fixed (exception for UIQ3/S60V3) *Removed duplicate files for easier maintanence *New handling for Symbian error messages, save paths etc *All naming now is ScummVM for all apps and targets svn-id: r20585
This commit is contained in:
parent
80cf2fa46f
commit
37f433a7ad
@ -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;
|
||||
}
|
@ -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
|
@ -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";}
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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
|
||||
{
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
@ -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
|
22
backends/epoc/S60v3/ScummVM_Loc.rss
Normal file
22
backends/epoc/S60v3/ScummVM_Loc.rss
Normal file
@ -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";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
18
backends/epoc/S60v3/scummvm_reg.rss
Normal file
18
backends/epoc/S60v3/scummvm_reg.rss
Normal file
@ -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";
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
@ -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
|
||||
|
@ -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";}
|
||||
};
|
||||
}
|
@ -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"
|
||||
|
@ -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
|
@ -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";}
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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.
|
Binary file not shown.
BIN
backends/epoc/res/ScummSmall.bmp
Normal file
BIN
backends/epoc/res/ScummSmall.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
backends/epoc/res/scummLarge.bmp
Normal file
BIN
backends/epoc/res/scummLarge.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.7 KiB |
BIN
backends/epoc/res/scummLargeMask.bmp
Normal file
BIN
backends/epoc/res/scummLargeMask.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 382 B |
BIN
backends/epoc/res/scummSmallMask.bmp
Normal file
BIN
backends/epoc/res/scummSmallMask.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
@ -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
|
BIN
backends/epoc/res/scummxLarge.bmp
Normal file
BIN
backends/epoc/res/scummxLarge.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
backends/epoc/res/scummxLargeMask.bmp
Normal file
BIN
backends/epoc/res/scummxLargeMask.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 574 B |
@ -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() {
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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>
|
@ -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>
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
@ -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();
|
||||
}
|
||||
|
@ -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];
|
||||
|
Loading…
Reference in New Issue
Block a user