diff options
Diffstat (limited to 'backends/epoc/src/ScummApp.cpp')
-rw-r--r-- | backends/epoc/src/ScummApp.cpp | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/backends/epoc/src/ScummApp.cpp b/backends/epoc/src/ScummApp.cpp new file mode 100644 index 0000000000..9e53587a40 --- /dev/null +++ b/backends/epoc/src/ScummApp.cpp @@ -0,0 +1,92 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL + * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System + * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer + * Copyright (C) 2005 The ScummVM project + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + */ + +#include "backends/epoc/src/ScummApp.h" + +#include "backends/epoc/src/ScummVM.hrh" +#define _PAGESIZE_ 0x1000 + +#if defined (__WINS__) +extern "C" int _chkstk(int /*a*/) { +_asm { + push ecx + cmp eax,_PAGESIZE_ + lea ecx,[esp] + 8 + jb short lastpage + + probepages: + sub ecx,_PAGESIZE_ + sub eax,_PAGESIZE_ + + test dword ptr [ecx],eax + + cmp eax,_PAGESIZE_ + jae short probepages + + lastpage: + sub ecx,eax + mov eax,esp + + test dword ptr [ecx],eax + + mov esp,ecx + + mov ecx,dword ptr [eax] + mov eax,dword ptr [eax + 4] + + push eax + ret + } + return 1; +} +#endif + +#ifdef EPOC_AS_APP +// this function is called by Symbian to deliver the new CApaApplication object +EXPORT_C CApaApplication *NewApplication() { + // Return pointer to newly created CQMApp + return (new CScummApp); +} +#endif + +GLDEF_C TInt E32Dll(TDllReason) { + return KErrNone; +} + +CScummApp::CScummApp() { +} + +CScummApp::~CScummApp() { +} + +/** + * Responsible for returning the unique UID of this application + * @return unique UID for this application in a TUid + **/ +TUid CScummApp::AppDllUid() const { + return TUid::Uid(ScummUid); +} + +///////////////////////////////////////////////////////////////////////////////////////////////// + + |