[Scummvm-cvs-logs] CVS: scummvm/backends/epoc/S60 ScummVMApp.cpp,NONE,1.1 ScummVMApp.h,NONE,1.1 ScummVMS60.rss,NONE,1.1 ScummVM_S60_App.mmp,NONE,1.1 scummvm-CVS-SymbianS60v1.pkg,NONE,1.1 scummvm-CVS-SymbianS60v2.pkg,NONE,1.1
Lars Persson
anotherguest at users.sourceforge.net
Sat Dec 3 13:30:02 CET 2005
Update of /cvsroot/scummvm/scummvm/backends/epoc/S60
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31925/backends/epoc/S60
Added Files:
ScummVMApp.cpp ScummVMApp.h ScummVMS60.rss ScummVM_S60_App.mmp
scummvm-CVS-SymbianS60v1.pkg scummvm-CVS-SymbianS60v2.pkg
Log Message:
1. New build structure for Symbian builds to allow easier build and project updates
2. Updated framework files for new structure
3. Uncommented Debug statements in vorbis.cpp (Should probably be removed alltogether.
4. Incorporated Sevs code formatting changes in the new Symbian source structure.
5. Removed/Changed EScummVM to ScummVM instead, hopefully most cases covered.
6. Beginning vibration support to be used for Scumm shake effects (Work ongoing by SumthinWicked)
7. Replaced the ScummVM icon for the FavIcon and upscaled the icon to 32x32. I think it looks ok, comments are welcome.
8. Built for S60V1 and UIQ2 targets from the cvs
9. Updated Readme with new build instructions.
Any comments are welcome. Hopefully the other builds are not affected by this and all Sevs code updates are also incorporated.
--- NEW FILE: ScummVMApp.cpp ---
/* ScummVM - Scumm Interpreter
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
* Copyright (C) 2005 The ScummVM project
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Header: /cvsroot/scummvm/scummvm/backends/epoc/S60/ScummVMApp.cpp,v 1.1 2005/12/03 21:29:12 anotherguest Exp $
*/
#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;
}
--- NEW FILE: ScummVMApp.h ---
/* ScummVM - Scumm Interpreter
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
* Copyright (C) 2005 The ScummVM project
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Header: /cvsroot/scummvm/scummvm/backends/epoc/S60/ScummVMApp.h,v 1.1 2005/12/03 21:29:12 anotherguest Exp $
*/
#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
--- NEW FILE: ScummVMS60.rss ---
/* 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";}
};
}
--- NEW FILE: ScummVM_S60_App.mmp ---
/* 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:
*/
//
// MAKEFILE.MMP S60 ScummVM Launcher
//
TARGET ScummVMS60.app
TARGETPATH system\apps\ScummVMS60
TARGETTYPE app
UID 0x100039ce 0x101f9b57
RESOURCE SCUMMVMS60.rss
SOURCEPATH .
USERINCLUDE .
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc
// app source
SOURCE ScummVMApp.cpp
sourcepath ..
AIF ScummVmS60.Aif ..\res\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp
// libraries
LIBRARY cone.lib EIKCORE.lib
LIBRARY euser.lib apparc.lib
LIBRARY efsrv.lib apgrfx.lib
LIBRARY avkon.lib
--- NEW FILE: scummvm-CVS-SymbianS60v1.pkg ---
;;;
;;; ScummVM .PKG file for .SIS gegeration
;;;
; Languages
;&EN
; UID is the app's UID
#{"ScummVM S60"},(0x101f9b57),0,80,0
; Platform type
(0x101F6F88), 0, 0, 0, {"Series60ProductID"}
; Application file Launcher and actual exe
"\epoc32\release\armi\urel\ScummVMS60.app"-"!:\system\apps\ScummVMS60\ScummVMS60.app"
"\epoc32\release\armi\urel\ScummVM.exe"-"!:\system\apps\ScummVMS60\ScummVM.exe"
; AIF application information file
"\epoc32\release\armi\urel\ScummVMS60.aif"-"!:\system\apps\ScummVMS60\ScummVMS60.aif"
; Resource file
"\epoc32\release\armi\urel\ScummVMS60.rsc"-"!:\system\apps\ScummVMS60\ScummVMS60.rsc"
; Empty .placeholder file, ensures creation of c:\documents\ScummVM\ for future file saves
"..\.placeholder"-"c:\documents\ScummVM\.placeholder"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"c:\documents\ScummVM\scummvm.ini",FILENULL
""-"c:\documents\ScummVM\scummvm.stdout.txt",FILENULL
""-"c:\documents\ScummVM\scummvm.stderr.txt",FILENULL
""-"!:\system\apps\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.
--- NEW FILE: scummvm-CVS-SymbianS60v2.pkg ---
;;;
;;; ScummVM .PKG file for .SIS gegeration
;;;
; Languages
;&EN
; UID is the app's UID
#{"ScummVM S60"},(0x101f9b57),0,80,3
; Platform type
(0x101F6F88), 0, 0, 0, {"Series60ProductID"}
; Application file Launcher and actual exe
"\epoc32\release\armi\urel\ScummVMS60.app"-"!:\system\apps\ScummVMS60\ScummVMS60.app"
"\epoc32\release\armi\urel\ScummVM.exe"-"!:\system\apps\ScummVMS60\ScummVM.exe"
; AIF application information file
"\epoc32\data\z\system\apps\ScummVMS60\ScummVMS60.aif"-"!:\system\apps\ScummVMS60\ScummVMS60.aif"
; Resource file
"\epoc32\data\z\system\apps\ScummVMS60\ScummVMS60.rsc"-"!:\system\apps\ScummVMS60\ScummVMS60.rsc"
; Empty .placeholder file, ensures creation of c:\documents\ScummVM\ for future file saves
"..\.placeholder"-"c:\documents\ScummVM\.placeholder"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"c:\documents\ScummVM\scummvm.ini",FILENULL
""-"c:\documents\ScummVM\scummvm.stdout.txt",FILENULL
""-"c:\documents\ScummVM\scummvm.stderr.txt",FILENULL
""-"!:\system\apps\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.
More information about the Scummvm-git-logs
mailing list