mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-15 22:28:10 +00:00
This is the submission of the Epoc/Symbian build files for
UIQ 2.1 UI Series 60 Series 80 Series 90/Nokia 7710 There is a dependency on ESdl for these devices. svn-id: r18427
This commit is contained in:
parent
fd8c94a2f3
commit
7bded41f19
124
backends/epoc/README
Normal file
124
backends/epoc/README
Normal file
@ -0,0 +1,124 @@
|
||||
|
||||
EScummVM - ScummVM ported to EPOC/SymbianOS
|
||||
|
||||
Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson
|
||||
Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson
|
||||
Copyright (C) 2005 Jurgen 'SumthinWicked' Braam
|
||||
Copyright (C) 2005 ScummVM Team
|
||||
|
||||
$Id$
|
||||
|
||||
|
||||
About EScummVM
|
||||
--------------
|
||||
The original ports (uptil 0.7.1) were made by Andreas Karlsson and Lars Persson.
|
||||
The main transition to 0.8.0CVS and all relevant changes were done by Jurgen Braam.
|
||||
Jurgen and Lars are currently working together to finalize the transfer to CVS.
|
||||
|
||||
|
||||
Nescessary components
|
||||
---------------------
|
||||
Building EScummVM yourself using the UIQ 2.1 framework is not an easy task!
|
||||
Lets just say the framework needs quite some time to set up and takes a while
|
||||
to get used to. If you choose to continue you will need the following items:
|
||||
|
||||
- Symbian UIQ 2.1 Framework
|
||||
http://www.symbian.com/developer/sdks_uiq.asp
|
||||
|
||||
- ECompXL, an EPOC application compression library
|
||||
http://www.yipton.demon.co.uk/ecompxl/latest/readme.html
|
||||
|
||||
- libsdl, Simple Directmedia Layer, a cross-platform multimedia library
|
||||
http://www.libsdl.org/ (see note about ESDL below)
|
||||
|
||||
- libmad, a high-quality MPEG audio decoder
|
||||
http://www.underbit.com/products/mad/
|
||||
|
||||
- zlib, a massively spiffy yet delicately unobtrusive compression library
|
||||
http://www.zlib.net/
|
||||
|
||||
These are probably too heavy-duty for your phone:
|
||||
|
||||
- libogg, the free media file container format
|
||||
http://www.xiph.org/ogg/
|
||||
|
||||
- libvorbis, the free audio codec
|
||||
http://www.vorbis.com/
|
||||
|
||||
- flac, the Free Lossless Audio Codec
|
||||
http://flac.sourceforge.net/
|
||||
|
||||
- libmpeg2, a free MPEG-2 video stream decoder
|
||||
http://libmpeg2.sourceforge.net/
|
||||
|
||||
|
||||
Building EScummVM
|
||||
-----------------
|
||||
ECompXL: this is a tool that will compress your executable with GZIP and glue
|
||||
it to a predefined loader app. The app will uncompress your application at
|
||||
runtime and run it without you even knowing it. A really interesting byproduct
|
||||
of this method is that the general restriction of not having any writeable
|
||||
static data (WSD) for Symbian APP executables no longer applies. This makes
|
||||
the life of an EPOC porter a lot easier! To install this tool you need to add
|
||||
its \bin path to your PATH above the sybmian epocs32\tools path, so that ECompXL's
|
||||
PETRAN.EXE will be the executable that is started.
|
||||
|
||||
SDL: the latest varsion of SDL at this point in time is 1.2.8. This version
|
||||
works great for compiling on other platforms, but for EPOC it lacks some
|
||||
features. There are two distributions that have the nescessary goods: The one
|
||||
made for SuperWaba (http://www.newlc.com/article.php3?id_article=574 and
|
||||
http://www.superwaba.com/) and ESDL, the one that Sprawl made for the P800/P900. I've
|
||||
used Sprawl's version uptil now. If Sprawl feels ESDL is in such a state that
|
||||
it can be released, he will post a source download on his site and I will
|
||||
make it know through the scummvm.org site. In <DevRoot>/sdl/epoc/ go:
|
||||
> bldmake bldfiles
|
||||
> abld build
|
||||
|
||||
zlib: the zlib-x.x.x.tar.gz does not come with UIQ .mpp build files, that's why
|
||||
I added them for you in epoc-zlib.zip. Extract in <DevRoot>/zlib/ which will
|
||||
create the epoc dir. In <DevRoot>/zlib/epoc/ go:
|
||||
> bldmake bldfiles
|
||||
> abld build
|
||||
|
||||
libmad: the libmad-x.x.x.tar.gz does not come with UIQ .mpp build files, that's
|
||||
why I added them for you in epoc-libmad.zip. Extract in <DevRoot>/libmad/ which
|
||||
will create the epoc dir. In <DevRoot>/libmad/epoc/ go:
|
||||
> bldmake bldfiles
|
||||
> abld build
|
||||
|
||||
EScummVM: make sure the SYSTEMINCLUDE dirs in EScumVM.mmp are correct. For the
|
||||
'wins' platform also check the LIBRARY entries for the correct path to your MSVC
|
||||
installation. Please note that you can only specify relative paths here, so every-
|
||||
thing needs to be on the same physical drive! Another weird demand of the UIQ
|
||||
platform... In <DevRoot>/scummvm/backends/epoc/build/ go:
|
||||
> bldmake bldfiles
|
||||
> abld build
|
||||
> makesis EScummVM_xxx.pkg
|
||||
|
||||
Now you should have yourself a nice EScummVM_xxx.sis installer package for use
|
||||
on your phone. Please note that for development it will be a lot faster if you
|
||||
transfer the ESCUMMVM.APP file directly to your !:\system\apps\EScummVM\ dir!
|
||||
|
||||
Platforms can be one of: ARMi, ARM4, THUMB, WINS. The SE P900 uses the ARMi platform,
|
||||
which is a combined ARM4/THUMB programming mode. Configurations can be one of:
|
||||
UREL or UDEB.
|
||||
|
||||
|
||||
Greetz & such
|
||||
-------------
|
||||
Kudos fly out to:
|
||||
- Sprawl for having the nerve to start & carry this puppy for so long
|
||||
- AnotherGuest for having the nerve to start & carry this puppy for so long
|
||||
- Fingolfin for taking the time to go through 1000 patch versions with me
|
||||
- Myself (SumthinWicked), for writing this entire README :)
|
||||
- the entire ScummVM Dev team for making a kicka$$ program
|
||||
- the folks in #scummvm @ irc.freenode.net for their help, confort and support
|
||||
- everybody else who wants to give me 'the look' for not including them here :P
|
||||
|
||||
|
||||
it's been swell,
|
||||
gotta go now,
|
||||
|
||||
greetz,
|
||||
SumthinWicked & Anotherguest
|
||||
|
60
backends/epoc/ScummApp.cpp
Normal file
60
backends/epoc/ScummApp.cpp
Normal file
@ -0,0 +1,60 @@
|
||||
/* 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 "ScummApp.h"
|
||||
|
||||
#include "ScummVM.hrh"
|
||||
#ifdef __WINS__
|
||||
extern "C" int _chkstk(int /*a*/) {
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
#if !defined (__AVKON_ELAF__) && !defined (S60)
|
||||
// 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);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
44
backends/epoc/ScummApp.h
Normal file
44
backends/epoc/ScummApp.h
Normal file
@ -0,0 +1,44 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
#ifndef ScummAPPH
|
||||
#define ScummAPPH
|
||||
|
||||
#include <eikapp.h>
|
||||
#include <e32base.h>
|
||||
#include <sdlapp.h>
|
||||
#if!defined (__AVKON_ELAF__) && !defined(S60)
|
||||
#include "ECompXL.h"
|
||||
#endif
|
||||
|
||||
class CScummApp:public CSDLApp {
|
||||
public:
|
||||
CScummApp();
|
||||
~CScummApp();
|
||||
|
||||
TUid AppDllUid() const;
|
||||
#if!defined (__AVKON_ELAF__) && !defined(S60)
|
||||
TECompXL iECompXL;
|
||||
#endif
|
||||
};
|
||||
#endif
|
29
backends/epoc/ScummVm.hrh
Normal file
29
backends/epoc/ScummVm.hrh
Normal file
@ -0,0 +1,29 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
#ifndef ScummHRH
|
||||
#define ScummHRH
|
||||
|
||||
#define ScummUid 0x101f9b57
|
||||
|
||||
#endif
|
199
backends/epoc/SymbianOS.cpp
Normal file
199
backends/epoc/SymbianOS.cpp
Normal file
@ -0,0 +1,199 @@
|
||||
/* 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 "SymbianOS.h"
|
||||
|
||||
static const OSystem::GraphicsMode s_supportedGraphicsModes[] = {
|
||||
{"1x", "Fullscreen", GFX_NORMAL},
|
||||
{0, 0, 0}
|
||||
};
|
||||
|
||||
OSystem *OSystem_SymbianOS_create() {
|
||||
return new OSystem_SDL_Symbian();
|
||||
}
|
||||
|
||||
|
||||
#include "config-manager.h"
|
||||
|
||||
extern Common::ConfigManager *g_config;
|
||||
|
||||
OSystem_SDL_Symbian::OSystem_SDL_Symbian() :_channels(0),_stereo_mix_buffer(0){
|
||||
ConfMan.set("FM_high_quality", false);
|
||||
ConfMan.set("FM_medium_quality", true);
|
||||
// ConfMan.set("joystick_num",0); // S60 should have joystick_num set to 0 in the ini file
|
||||
ConfMan.flushToDisk();
|
||||
}
|
||||
|
||||
OSystem_SDL_Symbian::~OSystem_SDL_Symbian() {
|
||||
delete []_stereo_mix_buffer;
|
||||
}
|
||||
|
||||
int OSystem_SDL_Symbian::getDefaultGraphicsMode() const {
|
||||
return GFX_NORMAL;
|
||||
}
|
||||
|
||||
const OSystem::GraphicsMode *OSystem_SDL_Symbian::getSupportedGraphicsModes() const {
|
||||
return s_supportedGraphicsModes;
|
||||
}
|
||||
|
||||
// make sure we always go to normal, even if the string might be set wrong!
|
||||
bool OSystem_SDL_Symbian::setGraphicsMode(const char *name) {
|
||||
// let parent OSystem_SDL handle it
|
||||
return OSystem_SDL::setGraphicsMode(getDefaultGraphicsMode());
|
||||
}
|
||||
|
||||
/*
|
||||
* SumthinWicked says: the stuff below is copied from common/scaler.cpp,
|
||||
* so we can skip compiling the scalers. ESDL still needs 1x and the scaler
|
||||
* architecture because we inherit from OSystem_SDL.
|
||||
*/
|
||||
int gBitFormat = 565;
|
||||
void InitScalers(uint32 BitFormat) {} // called by OSystem_SDL functions, not relevant for ESDL
|
||||
|
||||
/**
|
||||
* Trivial 'scaler' - in fact it doesn't do any scaling but just copies the
|
||||
* source to the destination.
|
||||
*/
|
||||
void Normal1x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
|
||||
int width, int height) {
|
||||
while (height--) {
|
||||
memcpy(dstPtr, srcPtr, 2 * width);
|
||||
srcPtr += srcPitch;
|
||||
dstPtr += dstPitch;
|
||||
}
|
||||
}
|
||||
|
||||
bool OSystem_SDL_Symbian::setSoundCallback(SoundProc proc, void *param) {
|
||||
|
||||
// First save the proc and param
|
||||
_sound_proc_param = param;
|
||||
_sound_proc = proc;
|
||||
SDL_AudioSpec desired;
|
||||
SDL_AudioSpec obtained;
|
||||
|
||||
memset(&desired, 0, sizeof(desired));
|
||||
|
||||
_samplesPerSec = 0;
|
||||
|
||||
if (ConfMan.hasKey("output_rate"))
|
||||
_samplesPerSec = ConfMan.getInt("output_rate");
|
||||
|
||||
if (_samplesPerSec <= 0)
|
||||
_samplesPerSec = SAMPLES_PER_SEC;
|
||||
|
||||
// Originally, we always used 2048 samples. This loop will produce the
|
||||
// same result at 22050 Hz, and should hopefully produce something
|
||||
// sensible for other frequencies. Note that it must be a power of two.
|
||||
|
||||
uint32 samples = 0x8000;
|
||||
|
||||
for (;;) {
|
||||
if ((1000 * samples) / _samplesPerSec < 100)
|
||||
break;
|
||||
samples >>= 1;
|
||||
}
|
||||
|
||||
desired.freq = _samplesPerSec;
|
||||
desired.format = AUDIO_S16SYS;
|
||||
desired.channels = 2;
|
||||
desired.samples = (uint16)samples;
|
||||
#ifdef S60
|
||||
desired.callback = symbianMixCallback;
|
||||
desired.userdata = this;
|
||||
#else
|
||||
desired.callback = proc;
|
||||
desired.userdata = param;
|
||||
#endif
|
||||
if (SDL_OpenAudio(&desired, &obtained) != 0) {
|
||||
warning("Could not open audio device: %s", SDL_GetError());
|
||||
return false;
|
||||
}
|
||||
// Note: This should be the obtained output rate, but it seems that at
|
||||
// least on some platforms SDL will lie and claim it did get the rate
|
||||
// even if it didn't. Probably only happens for "weird" rates, though.
|
||||
_samplesPerSec = obtained.freq;
|
||||
_channels = obtained.channels;
|
||||
|
||||
// Need to create mixbuffer for stereo mix to downmix
|
||||
if(_channels != 2)
|
||||
{
|
||||
_stereo_mix_buffer = new byte [obtained.size*2];//*2 for stereo values
|
||||
}
|
||||
|
||||
SDL_PauseAudio(0);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* The mixer callback function, passed on to OSystem::setSoundCallback().
|
||||
* This simply calls the mix() method.
|
||||
*/
|
||||
void OSystem_SDL_Symbian::symbianMixCallback(void *s, byte *samples, int len){
|
||||
static_cast <OSystem_SDL_Symbian*>(s)->symbianMix(samples,len);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Actual mixing implementation
|
||||
*/
|
||||
void OSystem_SDL_Symbian::symbianMix(byte *samples, int len){
|
||||
|
||||
|
||||
// If not stereo then we need to downmix
|
||||
if(_channels != 2){
|
||||
_sound_proc(_sound_proc_param,_stereo_mix_buffer,len*2);
|
||||
int16* bitmixDst=(int16*)samples;
|
||||
int16* bitmixSrc=(int16*)_stereo_mix_buffer;
|
||||
|
||||
for(int loop=len/2;loop>=0;loop--)
|
||||
{
|
||||
*bitmixDst=(*bitmixSrc+*(bitmixSrc+1))>>1;
|
||||
bitmixDst++;
|
||||
bitmixSrc+=2;
|
||||
}
|
||||
}
|
||||
else
|
||||
_sound_proc(_sound_proc_param,samples,len);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
// probably don't need this anymore: will remove later
|
||||
#define EMPTY_SCALER_IMPLEMENTATION(x) \
|
||||
void x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, \
|
||||
uint32 dstPitch, int width, int height) {}
|
||||
|
||||
//EMPTY_SCALER_IMPLEMENTATION(_2xSaI);
|
||||
//EMPTY_SCALER_IMPLEMENTATION(Super2xSaI);
|
||||
//EMPTY_SCALER_IMPLEMENTATION(SuperEagle);
|
||||
EMPTY_SCALER_IMPLEMENTATION(AdvMame2x);
|
||||
EMPTY_SCALER_IMPLEMENTATION(AdvMame3x);
|
||||
//EMPTY_SCALER_IMPLEMENTATION(Normal1x);
|
||||
//EMPTY_SCALER_IMPLEMENTATION(Normal2x);
|
||||
//EMPTY_SCALER_IMPLEMENTATION(Normal3x);
|
||||
EMPTY_SCALER_IMPLEMENTATION(Normal1o5x);
|
||||
//EMPTY_SCALER_IMPLEMENTATION(TV2x);
|
||||
//EMPTY_SCALER_IMPLEMENTATION(DotMatrix);
|
||||
//EMPTY_SCALER_IMPLEMENTATION(HQ2x);
|
||||
//EMPTY_SCALER_IMPLEMENTATION(HQ3x);
|
||||
*/
|
65
backends/epoc/SymbianOS.h
Normal file
65
backends/epoc/SymbianOS.h
Normal file
@ -0,0 +1,65 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
#ifndef SDLSYMBIANH
|
||||
#define SDLSYMBIANH
|
||||
|
||||
#include "sdl-common.h"
|
||||
|
||||
class OSystem_SDL_Symbian : public OSystem_SDL {
|
||||
public:
|
||||
OSystem_SDL_Symbian();
|
||||
~OSystem_SDL_Symbian();
|
||||
int getDefaultGraphicsMode() const;
|
||||
const OSystem::GraphicsMode *getSupportedGraphicsModes() const;
|
||||
bool setGraphicsMode(const char *name);
|
||||
|
||||
// Set function that generates samples
|
||||
/**
|
||||
* This function is overridden by the symbian port in order to provide MONO audio
|
||||
* downmix is done by supplying our own audiocallback
|
||||
*/
|
||||
virtual bool setSoundCallback(SoundProc proc, void *param); // overloaded by CE backend
|
||||
protected:
|
||||
/**
|
||||
* The mixer callback function, passed on to OSystem::setSoundCallback().
|
||||
* This simply calls the mix() method.
|
||||
* and then does downmixing for symbian if needed
|
||||
*/
|
||||
static void symbianMixCallback(void *s, byte *samples, int len);
|
||||
|
||||
/**
|
||||
* Actual mixing implementation
|
||||
*/
|
||||
void symbianMix(byte *samples, int len);
|
||||
|
||||
// Audio
|
||||
int _channels;
|
||||
|
||||
SoundProc _sound_proc;
|
||||
void *_sound_proc_param;
|
||||
byte* _stereo_mix_buffer;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
1
backends/epoc/build/.placeholder
Normal file
1
backends/epoc/build/.placeholder
Normal file
@ -0,0 +1 @@
|
||||
>> SumthinWicked *grins* <<
|
12
backends/epoc/build/S60/BLD.INF
Normal file
12
backends/epoc/build/S60/BLD.INF
Normal file
@ -0,0 +1,12 @@
|
||||
PRJ_PLATFORMS
|
||||
WINS ARMI // ARM4 THUMB
|
||||
|
||||
PRJ_MMPFILES
|
||||
..\scummvm_base.mmp
|
||||
..\scummvm_scumm.mmp
|
||||
..\scummvm_simon.mmp
|
||||
..\scummvm_sky.mmp
|
||||
..\scummvm_queen.mmp
|
||||
..\scummvm_gob.mmp
|
||||
.\EScummVM_S60.mmp
|
||||
.\EScummVM_S60_App.mmp
|
62
backends/epoc/build/S60/EScummVMS60.rss
Normal file
62
backends/epoc/build/S60/EScummVMS60.rss
Normal file
@ -0,0 +1,62 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
// ScummVM.RSS
|
||||
|
||||
NAME SCUM
|
||||
|
||||
// Include definitions of resource STRUCTS used by this
|
||||
// resource script
|
||||
#include <eikon.rh>
|
||||
#include "..\..\Scummvm.hrh"
|
||||
// Include the standard Eikon resource ids
|
||||
#include <eikon.rsg>
|
||||
|
||||
|
||||
RESOURCE RSS_SIGNATURE
|
||||
{
|
||||
}
|
||||
|
||||
RESOURCE TBUF16 { buf=""; }
|
||||
|
||||
RESOURCE EIK_APP_INFO
|
||||
{
|
||||
menubar = r_scum_menubar;
|
||||
}
|
||||
|
||||
RESOURCE MENU_BAR r_scum_menubar // *** Menu bar
|
||||
{
|
||||
titles =
|
||||
{
|
||||
MENU_TITLE { menu_pane = r_scum_menu; txt = "ScummVM"; }
|
||||
};
|
||||
}
|
||||
|
||||
RESOURCE MENU_PANE r_scum_menu // *** Submenu
|
||||
{
|
||||
items =
|
||||
{
|
||||
|
||||
MENU_ITEM{command = EEikCmdExit;txt = "Exit";}
|
||||
};
|
||||
}
|
36
backends/epoc/build/S60/EScummVM_080.pkg
Normal file
36
backends/epoc/build/S60/EScummVM_080.pkg
Normal file
@ -0,0 +1,36 @@
|
||||
;;;
|
||||
;;; EScummVM .PKG file for .SIS gegeration
|
||||
;;;
|
||||
|
||||
; Languages
|
||||
;&EN
|
||||
|
||||
; UID is the app's UID
|
||||
#{"EScummVM S60"},(0x101f9b57),0,80,3
|
||||
|
||||
; Platform type
|
||||
(0x101F6F88), 0, 0, 0, {"Series60ProductID"}
|
||||
|
||||
; Signature
|
||||
*"EScummVM.key","EScummVM.cer"
|
||||
|
||||
; Application file Launcher and actual exe
|
||||
"..\..\\epoc32\release\armi\urel\EScummVMS60.app"-"!:\system\apps\EScummVMS60\EScummVMS60.app"
|
||||
"\epoc32\release\armi\urel\EScummVM.exe"-":\system\apps\EScummVMS60\EScummVM.exe"
|
||||
|
||||
; AIF application information file
|
||||
"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.aif"-"!:\system\apps\EScummVMS60\EScummVMS60.aif"
|
||||
|
||||
; Resource file
|
||||
"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.rsc"-"!:\system\apps\EScummVMS60\EScummVMS60.rsc"
|
||||
|
||||
; Empty .placeholder file, ensures creation of c:\documents\EScummVM\ for future file saves
|
||||
".placeholder"-"c:\documents\EScummVM\.placeholder"
|
||||
|
||||
; Config/log files: 'empty' will automagically be removed on uninstall
|
||||
""-"c:\documents\EScummVM\scummvm.ini",FN
|
||||
""-"c:\documents\EScummVM\scummvm.stdout.txt",FN
|
||||
""-"c:\documents\EScummVM\scummvm.stderr.txt",FN
|
||||
|
||||
; This install layout will let you upgrade to newer versions wihout loss of scummvm.ini.
|
||||
; It will remove the config file, std***.txt files & dirs on uninstall.
|
113
backends/epoc/build/S60/EScummVM_S60.mmp
Normal file
113
backends/epoc/build/S60/EScummVM_S60.mmp
Normal file
@ -0,0 +1,113 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
//
|
||||
// EPOC S60 MMP makefile project for ScummVM
|
||||
//
|
||||
|
||||
// *** Definitions
|
||||
|
||||
#if defined(WINS)
|
||||
TARGET EScummVM.dll
|
||||
#else
|
||||
TARGET EScummVM.exe
|
||||
#endif
|
||||
TARGETPATH system\apps\EScummVMs60
|
||||
TARGETTYPE EXEDLL
|
||||
// /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF
|
||||
//OPTION GCC -O3 -funroll-loops -finline-functions -ffast-math -frerun-loop-opt -fconserve-space -fexpensive-optimizations -Wno-multichar -Wno-reorder
|
||||
sourcepath ..\
|
||||
EPOCSTACKSIZE 0x00008000
|
||||
|
||||
EPOCHEAPSIZE 1024 5242880
|
||||
|
||||
MACRO S60
|
||||
MACRO NONSTANDARD_PORT
|
||||
|
||||
// these need too high a resolution
|
||||
MACRO DISABLE_SWORD1
|
||||
MACRO DISABLE_SWORD2
|
||||
// these are not ready to be released
|
||||
MACRO DISABLE_SAGA
|
||||
MACRO DISABLE_KYRA
|
||||
// these work, so don't disable them :)
|
||||
//MACRO DISABLE_SIMON
|
||||
//MACRO DISABLE_SKY
|
||||
//MACRO DISABLE_QUEEN
|
||||
//MACRO DISABLE_GOB
|
||||
|
||||
// *** Static Libraries
|
||||
|
||||
STATICLIBRARY scummvm_scumm.lib
|
||||
STATICLIBRARY scummvm_simon.lib
|
||||
STATICLIBRARY scummvm_sky.lib
|
||||
STATICLIBRARY scummvm_queen.lib
|
||||
STATICLIBRARY scummvm_gob.lib
|
||||
STATICLIBRARY scummvm_base.lib
|
||||
|
||||
STATICLIBRARY libmad.lib
|
||||
STATICLIBRARY zlib.lib
|
||||
STATICLIBRARY esdl.lib
|
||||
#if !defined(WINS)
|
||||
STATICLIBRARY egcc.lib // for __fixunsdfsi
|
||||
#endif
|
||||
// *** Include paths
|
||||
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui
|
||||
USERINCLUDE ..\..\..\..\backends\fs ..\..\..\..\backends\epoc ..\..\..\..\backends\sdl ..\..\..\..\sound
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\..\..\..\backends\epoc // for portdefs.h
|
||||
|
||||
// *** SOURCE files
|
||||
|
||||
SOURCEPATH ..\..\..\..
|
||||
|
||||
//START_AUTO_OBJECTS_BASE_// Updated @ Tue May 31 18:35:38 2005
|
||||
SOURCE base\engine.cpp
|
||||
SOURCE base\gameDetector.cpp
|
||||
SOURCE base\main.cpp
|
||||
SOURCE base\plugins.cpp
|
||||
//STOP_AUTO_OBJECTS_BASE_//
|
||||
|
||||
// backend EPOC/SDL/ESDL specific includes
|
||||
SOURCE backends\sdl\events.cpp
|
||||
SOURCE backends\sdl\graphics.cpp
|
||||
SOURCE backends\sdl\sdl.cpp
|
||||
SOURCE backends\fs\symbian\symbian-fs.cpp
|
||||
SOURCE backends\epoc\SymbianOS.cpp
|
||||
SOURCE backends\epoc\ScummApp.cpp
|
||||
|
||||
// *** Dynamic Libraries
|
||||
|
||||
LIBRARY cone.lib eikcore.lib
|
||||
LIBRARY euser.lib apparc.lib fbscli.lib
|
||||
LIBRARY estlib.lib apgrfx.lib
|
||||
LIBRARY gdi.lib hal.lib bitgdi.lib
|
||||
LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib
|
||||
LIBRARY AVKON.LIB
|
||||
|
47
backends/epoc/build/S60/EScummVM_S60_App.mmp
Normal file
47
backends/epoc/build/S60/EScummVM_S60_App.mmp
Normal file
@ -0,0 +1,47 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
//
|
||||
// MAKEFILE.MMP S60 ScummVM Launcher
|
||||
//
|
||||
|
||||
TARGET EScummVMS60.app
|
||||
TARGETPATH system\apps\EScummVMS60
|
||||
TARGETTYPE app
|
||||
|
||||
UID 0x100039ce 0x101f9b57
|
||||
RESOURCE ESCUMMVMS60.rss
|
||||
|
||||
SOURCEPATH .
|
||||
USERINCLUDE .
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc
|
||||
|
||||
// app source
|
||||
SOURCE ScummVMApp.cpp
|
||||
sourcepath ..
|
||||
AIF EScummVmS60.Aif ..\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // still fails?
|
||||
// libraries
|
||||
LIBRARY cone.lib EIKCORE.lib
|
||||
LIBRARY euser.lib apparc.lib
|
||||
LIBRARY efsrv.lib apgrfx.lib
|
||||
LIBRARY avkon.lib
|
163
backends/epoc/build/S60/ScummVMApp.cpp
Normal file
163
backends/epoc/build/S60/ScummVMApp.cpp
Normal file
@ -0,0 +1,163 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
#include "ScummVMapp.h"
|
||||
#include <escummvms60.rsg>
|
||||
#include <apgcli.h>
|
||||
#include <eikdll.h>
|
||||
|
||||
EXPORT_C CApaApplication* NewApplication() {
|
||||
return (new CScummVM);
|
||||
}
|
||||
|
||||
CScummVM::CScummVM() {
|
||||
}
|
||||
|
||||
CScummVM::~CScummVM() {
|
||||
}
|
||||
|
||||
CApaDocument* CScummVM::CreateDocumentL()
|
||||
{
|
||||
return new (ELeave) CScummVMDoc(*this);
|
||||
}
|
||||
|
||||
TUid CScummVM::AppDllUid() const
|
||||
{
|
||||
return TUid::Uid(0x101f9b57);
|
||||
}
|
||||
|
||||
CScummVMDoc::CScummVMDoc(CEikApplication& aApp):CAknDocument(aApp) {
|
||||
}
|
||||
|
||||
CScummVMDoc::~CScummVMDoc() {
|
||||
}
|
||||
|
||||
CEikAppUi* CScummVMDoc::CreateAppUiL() {
|
||||
return new (ELeave) CScummVMUi;
|
||||
}
|
||||
|
||||
void CScummVMUi::HandleForegroundEventL(TBool aForeground) {
|
||||
if(aForeground) {
|
||||
BringUpEmulatorL();
|
||||
}
|
||||
}
|
||||
|
||||
CScummVMUi::CScummVMUi() {
|
||||
}
|
||||
|
||||
CScummVMUi::~CScummVMUi() {
|
||||
if(iWatcher) {
|
||||
iThreadWatch.LogonCancel(iWatcher->iStatus);
|
||||
iWatcher->Cancel();
|
||||
}
|
||||
delete iWatcher;
|
||||
|
||||
iThreadWatch.Close();
|
||||
}
|
||||
|
||||
void CScummVMUi::ConstructL() {
|
||||
BaseConstructL();
|
||||
TBuf<128> startFile;
|
||||
startFile = iEikonEnv->EikAppUi()->Application()->AppFullName();
|
||||
TParse parser;
|
||||
parser.Set(startFile,NULL,NULL);
|
||||
|
||||
startFile = parser.DriveAndPath();
|
||||
#ifndef __WINS__
|
||||
startFile.Append( _L("EScummVM.exe"));
|
||||
#else
|
||||
startFile.Append( _L("EScummVM.dll"));
|
||||
#endif
|
||||
CApaCommandLine* cmdLine=CApaCommandLine::NewLC(startFile);
|
||||
RApaLsSession lsSession;
|
||||
lsSession.Connect();
|
||||
CleanupClosePushL(lsSession);
|
||||
lsSession.StartApp(*cmdLine,iThreadId);
|
||||
CleanupStack::PopAndDestroy();//close lsSession
|
||||
CleanupStack::PopAndDestroy(cmdLine);
|
||||
|
||||
TApaTaskList taskList(iEikonEnv->WsSession());
|
||||
TApaTask myTask=taskList.FindApp(TUid::Uid(0x101f9b57));
|
||||
myTask.SendToBackground();
|
||||
TApaTask exeTask=taskList.FindByPos(0);
|
||||
iExeWgId=exeTask.WgId();
|
||||
|
||||
if(iExeWgId == myTask.WgId()) { // Should n't be the same
|
||||
Exit();
|
||||
}
|
||||
if(iThreadWatch.Open(iThreadId)==KErrNone) {
|
||||
iWatcher = new (ELeave)CScummWatcher;
|
||||
iWatcher->iAppUi=this;
|
||||
iThreadWatch.Logon(iWatcher->iStatus);
|
||||
}
|
||||
}
|
||||
|
||||
CScummWatcher::CScummWatcher():CActive(EPriorityStandard) {
|
||||
CActiveScheduler::Add(this);
|
||||
iStatus=KRequestPending;
|
||||
SetActive();
|
||||
}
|
||||
|
||||
CScummWatcher::~CScummWatcher() {
|
||||
}
|
||||
|
||||
void CScummWatcher::DoCancel() {
|
||||
}
|
||||
|
||||
void CScummWatcher::RunL() {
|
||||
iAppUi->HandleCommandL(EEikCmdExit);
|
||||
}
|
||||
|
||||
void CScummVMUi::BringUpEmulatorL() {
|
||||
RThread thread;
|
||||
if(thread.Open(iThreadId)==KErrNone) {
|
||||
thread.Close();
|
||||
TApaTask apaTask(iEikonEnv->WsSession());
|
||||
apaTask.SetWgId(iExeWgId);
|
||||
apaTask.BringToForeground();
|
||||
}
|
||||
else
|
||||
{
|
||||
iExeWgId=-1;
|
||||
}
|
||||
}
|
||||
|
||||
void CScummVMUi::HandleCommandL(TInt aCommand) {
|
||||
switch(aCommand) {
|
||||
case EEikCmdExit:
|
||||
{
|
||||
RThread thread;
|
||||
if(thread.Open(iThreadId)==KErrNone)
|
||||
{
|
||||
thread.Terminate(0);
|
||||
thread.Close();
|
||||
}
|
||||
Exit();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
GLDEF_C TInt E32Dll(TDllReason) {
|
||||
return KErrNone;
|
||||
}
|
79
backends/epoc/build/S60/ScummVMApp.h
Normal file
79
backends/epoc/build/S60/ScummVMApp.h
Normal file
@ -0,0 +1,79 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
#ifndef ScummVMapps60h
|
||||
#define ScummVMapps60h
|
||||
|
||||
#include <aknapp.h>
|
||||
#include <eikapp.h>
|
||||
#include <e32base.h>
|
||||
#include <coecntrl.h>
|
||||
#include <eikenv.h>
|
||||
#include <coeview.h>
|
||||
#include <eikappui.h>
|
||||
|
||||
class CScummVM:public CEikApplication {
|
||||
public:
|
||||
CScummVM();
|
||||
~CScummVM();
|
||||
CApaDocument* CreateDocumentL();
|
||||
TUid AppDllUid() const;
|
||||
};
|
||||
|
||||
|
||||
#include <AKNdoc.h>
|
||||
|
||||
class CScummVMDoc:public CAknDocument {
|
||||
public:
|
||||
~CScummVMDoc();
|
||||
CEikAppUi* CreateAppUiL();
|
||||
void ConstructL();
|
||||
CScummVMDoc(CEikApplication& aApplicaiton);
|
||||
};
|
||||
|
||||
#include <aknappui.h>
|
||||
class CScummVMUi;
|
||||
class CScummWatcher:public CActive {
|
||||
public:
|
||||
CScummWatcher();
|
||||
~CScummWatcher();
|
||||
void DoCancel();
|
||||
void RunL();
|
||||
CScummVMUi* iAppUi;
|
||||
};
|
||||
|
||||
class CScummVMUi:public CAknAppUi {
|
||||
public:
|
||||
CScummVMUi();
|
||||
~CScummVMUi();
|
||||
void ConstructL();
|
||||
void HandleCommandL(TInt aCommand);
|
||||
void HandleForegroundEventL(TBool aForeground);
|
||||
void BringUpEmulatorL();
|
||||
private:
|
||||
TThreadId iThreadId;
|
||||
TInt iExeWgId;
|
||||
RThread iThreadWatch;
|
||||
CScummWatcher* iWatcher;
|
||||
};
|
||||
#endif
|
12
backends/epoc/build/S80/BLD.INF
Normal file
12
backends/epoc/build/S80/BLD.INF
Normal file
@ -0,0 +1,12 @@
|
||||
PRJ_PLATFORMS
|
||||
WINS ARMI // ARM4 THUMB
|
||||
|
||||
PRJ_MMPFILES
|
||||
..\scummvm_base.mmp
|
||||
..\scummvm_scumm.mmp
|
||||
..\scummvm_simon.mmp
|
||||
..\scummvm_sky.mmp
|
||||
..\scummvm_queen.mmp
|
||||
..\scummvm_gob.mmp
|
||||
.\EScummVM_S80.mmp
|
||||
.\EScummVM_S80_App.mmp
|
36
backends/epoc/build/S80/EScummVM_080.pkg
Normal file
36
backends/epoc/build/S80/EScummVM_080.pkg
Normal file
@ -0,0 +1,36 @@
|
||||
;;;
|
||||
;;; EScummVM .PKG file for .SIS gegeration
|
||||
;;;
|
||||
|
||||
; Languages
|
||||
;&EN
|
||||
|
||||
; UID is the app's UID
|
||||
#{"EScummVM S60"},(0x101f9b57),0,80,3
|
||||
|
||||
; Platform type
|
||||
(0x101F6F88), 0, 0, 0, {"Series60ProductID"}
|
||||
|
||||
; Signature
|
||||
*"EScummVM.key","EScummVM.cer"
|
||||
|
||||
; Application file Launcher and actual exe
|
||||
"..\..\\epoc32\release\armi\urel\EScummVMS60.app"-"!:\system\apps\EScummVMS60\EScummVMS60.app"
|
||||
"\epoc32\release\armi\urel\EScummVM.exe"-":\system\apps\EScummVMS60\EScummVM.exe"
|
||||
|
||||
; AIF application information file
|
||||
"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.aif"-"!:\system\apps\EScummVMS60\EScummVMS60.aif"
|
||||
|
||||
; Resource file
|
||||
"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.rsc"-"!:\system\apps\EScummVMS60\EScummVMS60.rsc"
|
||||
|
||||
; Empty .placeholder file, ensures creation of c:\documents\EScummVM\ for future file saves
|
||||
".placeholder"-"c:\documents\EScummVM\.placeholder"
|
||||
|
||||
; Config/log files: 'empty' will automagically be removed on uninstall
|
||||
""-"c:\documents\EScummVM\scummvm.ini",FN
|
||||
""-"c:\documents\EScummVM\scummvm.stdout.txt",FN
|
||||
""-"c:\documents\EScummVM\scummvm.stderr.txt",FN
|
||||
|
||||
; This install layout will let you upgrade to newer versions wihout loss of scummvm.ini.
|
||||
; It will remove the config file, std***.txt files & dirs on uninstall.
|
112
backends/epoc/build/S80/EScummVM_S80.mmp
Normal file
112
backends/epoc/build/S80/EScummVM_S80.mmp
Normal file
@ -0,0 +1,112 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
//
|
||||
// EPOC S80 MMP makefile project for ScummVM
|
||||
//
|
||||
|
||||
// *** Definitions
|
||||
|
||||
#if defined(WINS)
|
||||
TARGET EScummVM.dll
|
||||
#else
|
||||
TARGET EScummVM.exe
|
||||
#endif
|
||||
TARGETPATH system\apps\EScummVMs80
|
||||
TARGETTYPE EXEDLL
|
||||
// /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF
|
||||
//OPTION GCC -O3 -funroll-loops -finline-functions -ffast-math -frerun-loop-opt -fconserve-space -fexpensive-optimizations -Wno-multichar -Wno-reorder
|
||||
sourcepath ..\
|
||||
EPOCSTACKSIZE 0x00008000
|
||||
|
||||
EPOCHEAPSIZE 1024 5242880
|
||||
|
||||
MACRO S80
|
||||
MACRO NONSTANDARD_PORT
|
||||
|
||||
// these need too high a resolution
|
||||
MACRO DISABLE_SWORD1
|
||||
MACRO DISABLE_SWORD2
|
||||
// these are not ready to be released
|
||||
MACRO DISABLE_SAGA
|
||||
MACRO DISABLE_KYRA
|
||||
// these work, so don't disable them :)
|
||||
//MACRO DISABLE_SIMON
|
||||
//MACRO DISABLE_SKY
|
||||
//MACRO DISABLE_QUEEN
|
||||
//MACRO DISABLE_GOB
|
||||
|
||||
// *** Static Libraries
|
||||
|
||||
STATICLIBRARY scummvm_scumm.lib
|
||||
STATICLIBRARY scummvm_simon.lib
|
||||
STATICLIBRARY scummvm_sky.lib
|
||||
STATICLIBRARY scummvm_queen.lib
|
||||
STATICLIBRARY scummvm_gob.lib
|
||||
STATICLIBRARY scummvm_base.lib
|
||||
|
||||
STATICLIBRARY libmad.lib
|
||||
STATICLIBRARY zlib.lib
|
||||
STATICLIBRARY esdl.lib
|
||||
#if !defined(WINS)
|
||||
STATICLIBRARY egcc.lib // for __fixunsdfsi
|
||||
#endif
|
||||
// *** Include paths
|
||||
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui
|
||||
USERINCLUDE ..\..\..\..\backends\fs ..\..\..\..\backends\epoc ..\..\..\..\backends\sdl ..\..\..\..\sound
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\..\..\..\backends\epoc // for portdefs.h
|
||||
|
||||
// *** SOURCE files
|
||||
|
||||
SOURCEPATH ..\..\..\..
|
||||
|
||||
//START_AUTO_OBJECTS_BASE_// Updated @ Tue May 31 18:35:38 2005
|
||||
SOURCE base\engine.cpp
|
||||
SOURCE base\gameDetector.cpp
|
||||
SOURCE base\main.cpp
|
||||
SOURCE base\plugins.cpp
|
||||
//STOP_AUTO_OBJECTS_BASE_//
|
||||
|
||||
// backend EPOC/SDL/ESDL specific includes
|
||||
SOURCE backends\sdl\events.cpp
|
||||
SOURCE backends\sdl\graphics.cpp
|
||||
SOURCE backends\sdl\sdl.cpp
|
||||
SOURCE backends\fs\symbian\symbian-fs.cpp
|
||||
SOURCE backends\epoc\SymbianOS.cpp
|
||||
SOURCE backends\epoc\ScummApp.cpp
|
||||
|
||||
// *** Dynamic Libraries
|
||||
|
||||
LIBRARY cone.lib eikcore.lib
|
||||
LIBRARY euser.lib apparc.lib fbscli.lib
|
||||
LIBRARY estlib.lib apgrfx.lib
|
||||
LIBRARY gdi.lib hal.lib bitgdi.lib
|
||||
LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib
|
||||
|
46
backends/epoc/build/S80/EScummVM_S80_App.mmp
Normal file
46
backends/epoc/build/S80/EScummVM_S80_App.mmp
Normal file
@ -0,0 +1,46 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
//
|
||||
// MAKEFILE.MMP S80 ScummVM Launcher
|
||||
//
|
||||
|
||||
TARGET EScummVMS80.app
|
||||
TARGETPATH system\apps\EScummVMS80
|
||||
TARGETTYPE app
|
||||
|
||||
UID 0x100039ce 0x101f9b57
|
||||
RESOURCE ESCUMMVMS80.rss
|
||||
|
||||
SOURCEPATH .
|
||||
USERINCLUDE .
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc
|
||||
|
||||
// app source
|
||||
SOURCE ScummVMApp.cpp
|
||||
sourcepath ..
|
||||
AIF EScummVmS80.Aif ..\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // still fails?
|
||||
// libraries
|
||||
LIBRARY cone.lib EIKCORE.lib
|
||||
LIBRARY euser.lib apparc.lib
|
||||
LIBRARY efsrv.lib apgrfx.lib
|
62
backends/epoc/build/S80/EScummvmS80.rss
Normal file
62
backends/epoc/build/S80/EScummvmS80.rss
Normal file
@ -0,0 +1,62 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
// ScummVM.RSS
|
||||
|
||||
NAME SCUM
|
||||
|
||||
// Include definitions of resource STRUCTS used by this
|
||||
// resource script
|
||||
#include <eikon.rh>
|
||||
#include "..\..\Scummvm.hrh"
|
||||
// Include the standard Eikon resource ids
|
||||
#include <eikon.rsg>
|
||||
|
||||
|
||||
RESOURCE RSS_SIGNATURE
|
||||
{
|
||||
}
|
||||
|
||||
RESOURCE TBUF16 { buf=""; }
|
||||
|
||||
RESOURCE EIK_APP_INFO
|
||||
{
|
||||
menubar = r_scum_menubar;
|
||||
}
|
||||
|
||||
RESOURCE MENU_BAR r_scum_menubar // *** Menu bar
|
||||
{
|
||||
titles =
|
||||
{
|
||||
MENU_TITLE { menu_pane = r_scum_menu; txt = "ScummVM"; }
|
||||
};
|
||||
}
|
||||
|
||||
RESOURCE MENU_PANE r_scum_menu // *** Submenu
|
||||
{
|
||||
items =
|
||||
{
|
||||
|
||||
MENU_ITEM{command = EEikCmdExit;txt = "Exit";}
|
||||
};
|
||||
}
|
163
backends/epoc/build/S80/ScummVMApp.cpp
Normal file
163
backends/epoc/build/S80/ScummVMApp.cpp
Normal file
@ -0,0 +1,163 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
#include "ScummVMapp.h"
|
||||
#include <escummvms80.rsg>
|
||||
#include <apgcli.h>
|
||||
#include <eikdll.h>
|
||||
#include <apgtask.h>
|
||||
EXPORT_C CApaApplication* NewApplication() {
|
||||
return (new CScummVM);
|
||||
}
|
||||
|
||||
CScummVM::CScummVM() {
|
||||
}
|
||||
|
||||
CScummVM::~CScummVM() {
|
||||
}
|
||||
|
||||
CApaDocument* CScummVM::CreateDocumentL()
|
||||
{
|
||||
return new (ELeave) CScummVMDoc(*this);
|
||||
}
|
||||
|
||||
TUid CScummVM::AppDllUid() const
|
||||
{
|
||||
return TUid::Uid(0x101f9b57);
|
||||
}
|
||||
|
||||
CScummVMDoc::CScummVMDoc(CEikApplication& aApp):CEikDocument(aApp) {
|
||||
}
|
||||
|
||||
CScummVMDoc::~CScummVMDoc() {
|
||||
}
|
||||
|
||||
CEikAppUi* CScummVMDoc::CreateAppUiL() {
|
||||
return new (ELeave) CScummVMUi;
|
||||
}
|
||||
|
||||
void CScummVMUi::HandleForegroundEventL(TBool aForeground) {
|
||||
if(aForeground) {
|
||||
BringUpEmulatorL();
|
||||
}
|
||||
}
|
||||
|
||||
CScummVMUi::CScummVMUi() {
|
||||
}
|
||||
|
||||
CScummVMUi::~CScummVMUi() {
|
||||
if(iWatcher) {
|
||||
iThreadWatch.LogonCancel(iWatcher->iStatus);
|
||||
iWatcher->Cancel();
|
||||
}
|
||||
delete iWatcher;
|
||||
|
||||
iThreadWatch.Close();
|
||||
}
|
||||
|
||||
void CScummVMUi::ConstructL() {
|
||||
BaseConstructL();
|
||||
TBuf<128> startFile;
|
||||
startFile = iEikonEnv->EikAppUi()->Application()->AppFullName();
|
||||
TParse parser;
|
||||
parser.Set(startFile,NULL,NULL);
|
||||
|
||||
startFile = parser.DriveAndPath();
|
||||
#ifndef __WINS__
|
||||
startFile.Append( _L("EScummVM.exe"));
|
||||
#else
|
||||
startFile.Append( _L("EScummVM.dll"));
|
||||
#endif
|
||||
CApaCommandLine* cmdLine=CApaCommandLine::NewLC(startFile);
|
||||
RApaLsSession lsSession;
|
||||
lsSession.Connect();
|
||||
CleanupClosePushL(lsSession);
|
||||
lsSession.StartApp(*cmdLine,iThreadId);
|
||||
CleanupStack::PopAndDestroy();//close lsSession
|
||||
CleanupStack::PopAndDestroy(cmdLine);
|
||||
User::After(500000);// Let the application start
|
||||
TApaTaskList taskList(iEikonEnv->WsSession());
|
||||
TApaTask myTask=taskList.FindApp(TUid::Uid(0x101f9b57));
|
||||
myTask.SendToBackground();
|
||||
TApaTask exeTask=taskList.FindByPos(0);
|
||||
iExeWgId=exeTask.WgId();
|
||||
exeTask.BringToForeground();
|
||||
if(iExeWgId == myTask.WgId()) { // Should n't be the same
|
||||
Exit();
|
||||
}
|
||||
if(iThreadWatch.Open(iThreadId)==KErrNone) {
|
||||
iWatcher = new (ELeave)CScummWatcher;
|
||||
iWatcher->iAppUi=this;
|
||||
iThreadWatch.Logon(iWatcher->iStatus);
|
||||
}
|
||||
}
|
||||
|
||||
CScummWatcher::CScummWatcher():CActive(EPriorityStandard) {
|
||||
CActiveScheduler::Add(this);
|
||||
iStatus=KRequestPending;
|
||||
SetActive();
|
||||
}
|
||||
|
||||
CScummWatcher::~CScummWatcher() {
|
||||
}
|
||||
|
||||
void CScummWatcher::DoCancel() {
|
||||
}
|
||||
|
||||
void CScummWatcher::RunL() {
|
||||
iAppUi->HandleCommandL(EEikCmdExit);
|
||||
}
|
||||
|
||||
void CScummVMUi::BringUpEmulatorL() {
|
||||
RThread thread;
|
||||
if(thread.Open(iThreadId)==KErrNone) {
|
||||
thread.Close();
|
||||
TApaTask apaTask(iEikonEnv->WsSession());
|
||||
apaTask.SetWgId(iExeWgId);
|
||||
apaTask.BringToForeground();
|
||||
}
|
||||
else
|
||||
{
|
||||
iExeWgId=-1;
|
||||
}
|
||||
}
|
||||
|
||||
void CScummVMUi::HandleCommandL(TInt aCommand) {
|
||||
switch(aCommand) {
|
||||
case EEikCmdExit:
|
||||
{
|
||||
RThread thread;
|
||||
if(thread.Open(iThreadId)==KErrNone)
|
||||
{
|
||||
thread.Terminate(0);
|
||||
thread.Close();
|
||||
}
|
||||
Exit();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
GLDEF_C TInt E32Dll(TDllReason) {
|
||||
return KErrNone;
|
||||
}
|
78
backends/epoc/build/S80/ScummVMApp.h
Normal file
78
backends/epoc/build/S80/ScummVMApp.h
Normal file
@ -0,0 +1,78 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
#ifndef ScummVMapps60h
|
||||
#define ScummVMapps60h
|
||||
|
||||
#include <eikapp.h>
|
||||
#include <e32base.h>
|
||||
#include <coecntrl.h>
|
||||
#include <eikenv.h>
|
||||
#include <coeview.h>
|
||||
#include <eikappui.h>
|
||||
|
||||
class CScummVM:public CEikApplication {
|
||||
public:
|
||||
CScummVM();
|
||||
~CScummVM();
|
||||
CApaDocument* CreateDocumentL();
|
||||
TUid AppDllUid() const;
|
||||
};
|
||||
|
||||
|
||||
#include <eikdoc.h>
|
||||
|
||||
class CScummVMDoc:public CEikDocument {
|
||||
public:
|
||||
~CScummVMDoc();
|
||||
CEikAppUi* CreateAppUiL();
|
||||
void ConstructL();
|
||||
CScummVMDoc(CEikApplication& aApplicaiton);
|
||||
};
|
||||
|
||||
#include <eikappui.h>
|
||||
class CScummVMUi;
|
||||
class CScummWatcher:public CActive {
|
||||
public:
|
||||
CScummWatcher();
|
||||
~CScummWatcher();
|
||||
void DoCancel();
|
||||
void RunL();
|
||||
CScummVMUi* iAppUi;
|
||||
};
|
||||
|
||||
class CScummVMUi:public CEikAppUi {
|
||||
public:
|
||||
CScummVMUi();
|
||||
~CScummVMUi();
|
||||
void ConstructL();
|
||||
void HandleCommandL(TInt aCommand);
|
||||
void HandleForegroundEventL(TBool aForeground);
|
||||
void BringUpEmulatorL();
|
||||
private:
|
||||
TThreadId iThreadId;
|
||||
TInt iExeWgId;
|
||||
RThread iThreadWatch;
|
||||
CScummWatcher* iWatcher;
|
||||
};
|
||||
#endif
|
12
backends/epoc/build/S90/BLD.INF
Normal file
12
backends/epoc/build/S90/BLD.INF
Normal file
@ -0,0 +1,12 @@
|
||||
PRJ_PLATFORMS
|
||||
WINS ARMI // ARM4 THUMB
|
||||
|
||||
PRJ_MMPFILES
|
||||
..\scummvm_base.mmp
|
||||
..\scummvm_scumm.mmp
|
||||
..\scummvm_simon.mmp
|
||||
..\scummvm_sky.mmp
|
||||
..\scummvm_queen.mmp
|
||||
..\scummvm_gob.mmp
|
||||
.\EScummVM_S90.mmp
|
||||
.\EScummVM_S90_App.mmp
|
36
backends/epoc/build/S90/EScummVM_080.pkg
Normal file
36
backends/epoc/build/S90/EScummVM_080.pkg
Normal file
@ -0,0 +1,36 @@
|
||||
;;;
|
||||
;;; EScummVM .PKG file for .SIS gegeration
|
||||
;;;
|
||||
|
||||
; Languages
|
||||
;&EN
|
||||
|
||||
; UID is the app's UID
|
||||
#{"EScummVM S60"},(0x101f9b57),0,80,3
|
||||
|
||||
; Platform type
|
||||
(0x101F6F88), 0, 0, 0, {"Series60ProductID"}
|
||||
|
||||
; Signature
|
||||
*"EScummVM.key","EScummVM.cer"
|
||||
|
||||
; Application file Launcher and actual exe
|
||||
"..\..\\epoc32\release\armi\urel\EScummVMS60.app"-"!:\system\apps\EScummVMS60\EScummVMS60.app"
|
||||
"\epoc32\release\armi\urel\EScummVM.exe"-":\system\apps\EScummVMS60\EScummVM.exe"
|
||||
|
||||
; AIF application information file
|
||||
"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.aif"-"!:\system\apps\EScummVMS60\EScummVMS60.aif"
|
||||
|
||||
; Resource file
|
||||
"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.rsc"-"!:\system\apps\EScummVMS60\EScummVMS60.rsc"
|
||||
|
||||
; Empty .placeholder file, ensures creation of c:\documents\EScummVM\ for future file saves
|
||||
".placeholder"-"c:\documents\EScummVM\.placeholder"
|
||||
|
||||
; Config/log files: 'empty' will automagically be removed on uninstall
|
||||
""-"c:\documents\EScummVM\scummvm.ini",FN
|
||||
""-"c:\documents\EScummVM\scummvm.stdout.txt",FN
|
||||
""-"c:\documents\EScummVM\scummvm.stderr.txt",FN
|
||||
|
||||
; This install layout will let you upgrade to newer versions wihout loss of scummvm.ini.
|
||||
; It will remove the config file, std***.txt files & dirs on uninstall.
|
62
backends/epoc/build/S90/EScummvmS90.rss
Normal file
62
backends/epoc/build/S90/EScummvmS90.rss
Normal file
@ -0,0 +1,62 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
// ScummVM.RSS
|
||||
|
||||
NAME SCUM
|
||||
|
||||
// Include definitions of resource STRUCTS used by this
|
||||
// resource script
|
||||
#include <eikon.rh>
|
||||
#include "..\..\Scummvm.hrh"
|
||||
// Include the standard Eikon resource ids
|
||||
#include <eikon.rsg>
|
||||
|
||||
|
||||
RESOURCE RSS_SIGNATURE
|
||||
{
|
||||
}
|
||||
|
||||
RESOURCE TBUF16 { buf=""; }
|
||||
|
||||
RESOURCE EIK_APP_INFO
|
||||
{
|
||||
menubar = r_scum_menubar;
|
||||
}
|
||||
|
||||
RESOURCE MENU_BAR r_scum_menubar // *** Menu bar
|
||||
{
|
||||
titles =
|
||||
{
|
||||
MENU_TITLE { menu_pane = r_scum_menu; txt = "ScummVM"; }
|
||||
};
|
||||
}
|
||||
|
||||
RESOURCE MENU_PANE r_scum_menu // *** Submenu
|
||||
{
|
||||
items =
|
||||
{
|
||||
|
||||
MENU_ITEM{command = EEikCmdExit;txt = "Exit";}
|
||||
};
|
||||
}
|
112
backends/epoc/build/S90/EScummvm_S90.mmp
Normal file
112
backends/epoc/build/S90/EScummvm_S90.mmp
Normal file
@ -0,0 +1,112 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
//
|
||||
// EPOC S90 MMP makefile project for ScummVM
|
||||
//
|
||||
|
||||
// *** Definitions
|
||||
|
||||
#if defined(WINS)
|
||||
TARGET EScummVM.dll
|
||||
#else
|
||||
TARGET EScummVM.exe
|
||||
#endif
|
||||
TARGETPATH system\apps\EScummVMs90
|
||||
TARGETTYPE EXEDLL
|
||||
// /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF
|
||||
//OPTION GCC -O3 -funroll-loops -finline-functions -ffast-math -frerun-loop-opt -fconserve-space -fexpensive-optimizations -Wno-multichar -Wno-reorder
|
||||
sourcepath ..\
|
||||
EPOCSTACKSIZE 0x00008000
|
||||
|
||||
EPOCHEAPSIZE 1024 5242880
|
||||
|
||||
MACRO S90
|
||||
MACRO NONSTANDARD_PORT
|
||||
|
||||
// these need too high a resolution
|
||||
MACRO DISABLE_SWORD1
|
||||
MACRO DISABLE_SWORD2
|
||||
// these are not ready to be released
|
||||
MACRO DISABLE_SAGA
|
||||
MACRO DISABLE_KYRA
|
||||
// these work, so don't disable them :)
|
||||
//MACRO DISABLE_SIMON
|
||||
//MACRO DISABLE_SKY
|
||||
//MACRO DISABLE_QUEEN
|
||||
//MACRO DISABLE_GOB
|
||||
|
||||
// *** Static Libraries
|
||||
|
||||
STATICLIBRARY scummvm_scumm.lib
|
||||
STATICLIBRARY scummvm_simon.lib
|
||||
STATICLIBRARY scummvm_sky.lib
|
||||
STATICLIBRARY scummvm_queen.lib
|
||||
STATICLIBRARY scummvm_gob.lib
|
||||
STATICLIBRARY scummvm_base.lib
|
||||
|
||||
STATICLIBRARY libmad.lib
|
||||
STATICLIBRARY zlib.lib
|
||||
STATICLIBRARY esdl.lib
|
||||
#if !defined(WINS)
|
||||
STATICLIBRARY egcc.lib // for __fixunsdfsi
|
||||
#endif
|
||||
// *** Include paths
|
||||
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui
|
||||
USERINCLUDE ..\..\..\..\backends\fs ..\..\..\..\backends\epoc ..\..\..\..\backends\sdl ..\..\..\..\sound
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\..\..\..\backends\epoc // for portdefs.h
|
||||
|
||||
// *** SOURCE files
|
||||
|
||||
SOURCEPATH ..\..\..\..
|
||||
|
||||
//START_AUTO_OBJECTS_BASE_// Updated @ Tue May 31 18:35:38 2005
|
||||
SOURCE base\engine.cpp
|
||||
SOURCE base\gameDetector.cpp
|
||||
SOURCE base\main.cpp
|
||||
SOURCE base\plugins.cpp
|
||||
//STOP_AUTO_OBJECTS_BASE_//
|
||||
|
||||
// backend EPOC/SDL/ESDL specific includes
|
||||
SOURCE backends\sdl\events.cpp
|
||||
SOURCE backends\sdl\graphics.cpp
|
||||
SOURCE backends\sdl\sdl.cpp
|
||||
SOURCE backends\fs\symbian\symbian-fs.cpp
|
||||
SOURCE backends\epoc\SymbianOS.cpp
|
||||
SOURCE backends\epoc\ScummApp.cpp
|
||||
|
||||
// *** Dynamic Libraries
|
||||
|
||||
LIBRARY cone.lib eikcore.lib
|
||||
LIBRARY euser.lib apparc.lib fbscli.lib
|
||||
LIBRARY estlib.lib apgrfx.lib
|
||||
LIBRARY gdi.lib hal.lib bitgdi.lib
|
||||
LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib
|
||||
|
46
backends/epoc/build/S90/EScummvm_S90_App.mmp
Normal file
46
backends/epoc/build/S90/EScummvm_S90_App.mmp
Normal file
@ -0,0 +1,46 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
//
|
||||
// MAKEFILE.MMP S90 ScummVM Launcher
|
||||
//
|
||||
|
||||
TARGET EScummVMS90.app
|
||||
TARGETPATH system\apps\EScummVMS90
|
||||
TARGETTYPE app
|
||||
|
||||
UID 0x100039ce 0x101f9b57
|
||||
RESOURCE ESCUMMVMS90.rss
|
||||
|
||||
SOURCEPATH .
|
||||
USERINCLUDE .
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc
|
||||
|
||||
// app source
|
||||
SOURCE ScummVMApp.cpp
|
||||
sourcepath ..
|
||||
AIF EScummVmS90.Aif ..\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // still fails?
|
||||
// libraries
|
||||
LIBRARY cone.lib EIKCORE.lib
|
||||
LIBRARY euser.lib apparc.lib
|
||||
LIBRARY efsrv.lib apgrfx.lib
|
163
backends/epoc/build/S90/ScummVMApp.cpp
Normal file
163
backends/epoc/build/S90/ScummVMApp.cpp
Normal file
@ -0,0 +1,163 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
#include "ScummVMapp.h"
|
||||
#include <escummvms90.rsg>
|
||||
#include <apgcli.h>
|
||||
#include <eikdll.h>
|
||||
#include <apgtask.h>
|
||||
EXPORT_C CApaApplication* NewApplication() {
|
||||
return (new CScummVM);
|
||||
}
|
||||
|
||||
CScummVM::CScummVM() {
|
||||
}
|
||||
|
||||
CScummVM::~CScummVM() {
|
||||
}
|
||||
|
||||
CApaDocument* CScummVM::CreateDocumentL()
|
||||
{
|
||||
return new (ELeave) CScummVMDoc(*this);
|
||||
}
|
||||
|
||||
TUid CScummVM::AppDllUid() const
|
||||
{
|
||||
return TUid::Uid(0x101f9b57);
|
||||
}
|
||||
|
||||
CScummVMDoc::CScummVMDoc(CEikApplication& aApp):CEikDocument(aApp) {
|
||||
}
|
||||
|
||||
CScummVMDoc::~CScummVMDoc() {
|
||||
}
|
||||
|
||||
CEikAppUi* CScummVMDoc::CreateAppUiL() {
|
||||
return new (ELeave) CScummVMUi;
|
||||
}
|
||||
|
||||
void CScummVMUi::HandleForegroundEventL(TBool aForeground) {
|
||||
if(aForeground) {
|
||||
BringUpEmulatorL();
|
||||
}
|
||||
}
|
||||
|
||||
CScummVMUi::CScummVMUi() {
|
||||
}
|
||||
|
||||
CScummVMUi::~CScummVMUi() {
|
||||
if(iWatcher) {
|
||||
iThreadWatch.LogonCancel(iWatcher->iStatus);
|
||||
iWatcher->Cancel();
|
||||
}
|
||||
delete iWatcher;
|
||||
|
||||
iThreadWatch.Close();
|
||||
}
|
||||
|
||||
void CScummVMUi::ConstructL() {
|
||||
BaseConstructL();
|
||||
TBuf<128> startFile;
|
||||
startFile = iEikonEnv->EikAppUi()->Application()->AppFullName();
|
||||
TParse parser;
|
||||
parser.Set(startFile,NULL,NULL);
|
||||
|
||||
startFile = parser.DriveAndPath();
|
||||
#ifndef __WINS__
|
||||
startFile.Append( _L("EScummVM.exe"));
|
||||
#else
|
||||
startFile.Append( _L("EScummVM.dll"));
|
||||
#endif
|
||||
CApaCommandLine* cmdLine=CApaCommandLine::NewLC(startFile);
|
||||
RApaLsSession lsSession;
|
||||
lsSession.Connect();
|
||||
CleanupClosePushL(lsSession);
|
||||
lsSession.StartApp(*cmdLine,iThreadId);
|
||||
CleanupStack::PopAndDestroy();//close lsSession
|
||||
CleanupStack::PopAndDestroy(cmdLine);
|
||||
User::After(500000);// Let the application start
|
||||
TApaTaskList taskList(iEikonEnv->WsSession());
|
||||
TApaTask myTask=taskList.FindApp(TUid::Uid(0x101f9b57));
|
||||
myTask.SendToBackground();
|
||||
TApaTask exeTask=taskList.FindByPos(0);
|
||||
iExeWgId=exeTask.WgId();
|
||||
exeTask.BringToForeground();
|
||||
if(iExeWgId == myTask.WgId()) { // Should n't be the same
|
||||
Exit();
|
||||
}
|
||||
if(iThreadWatch.Open(iThreadId)==KErrNone) {
|
||||
iWatcher = new (ELeave)CScummWatcher;
|
||||
iWatcher->iAppUi=this;
|
||||
iThreadWatch.Logon(iWatcher->iStatus);
|
||||
}
|
||||
}
|
||||
|
||||
CScummWatcher::CScummWatcher():CActive(EPriorityStandard) {
|
||||
CActiveScheduler::Add(this);
|
||||
iStatus=KRequestPending;
|
||||
SetActive();
|
||||
}
|
||||
|
||||
CScummWatcher::~CScummWatcher() {
|
||||
}
|
||||
|
||||
void CScummWatcher::DoCancel() {
|
||||
}
|
||||
|
||||
void CScummWatcher::RunL() {
|
||||
iAppUi->HandleCommandL(EEikCmdExit);
|
||||
}
|
||||
|
||||
void CScummVMUi::BringUpEmulatorL() {
|
||||
RThread thread;
|
||||
if(thread.Open(iThreadId)==KErrNone) {
|
||||
thread.Close();
|
||||
TApaTask apaTask(iEikonEnv->WsSession());
|
||||
apaTask.SetWgId(iExeWgId);
|
||||
apaTask.BringToForeground();
|
||||
}
|
||||
else
|
||||
{
|
||||
iExeWgId=-1;
|
||||
}
|
||||
}
|
||||
|
||||
void CScummVMUi::HandleCommandL(TInt aCommand) {
|
||||
switch(aCommand) {
|
||||
case EEikCmdExit:
|
||||
{
|
||||
RThread thread;
|
||||
if(thread.Open(iThreadId)==KErrNone)
|
||||
{
|
||||
thread.Terminate(0);
|
||||
thread.Close();
|
||||
}
|
||||
Exit();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
GLDEF_C TInt E32Dll(TDllReason) {
|
||||
return KErrNone;
|
||||
}
|
78
backends/epoc/build/S90/ScummVMApp.h
Normal file
78
backends/epoc/build/S90/ScummVMApp.h
Normal file
@ -0,0 +1,78 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
#ifndef ScummVMapps60h
|
||||
#define ScummVMapps60h
|
||||
|
||||
#include <eikapp.h>
|
||||
#include <e32base.h>
|
||||
#include <coecntrl.h>
|
||||
#include <eikenv.h>
|
||||
#include <coeview.h>
|
||||
#include <eikappui.h>
|
||||
|
||||
class CScummVM:public CEikApplication {
|
||||
public:
|
||||
CScummVM();
|
||||
~CScummVM();
|
||||
CApaDocument* CreateDocumentL();
|
||||
TUid AppDllUid() const;
|
||||
};
|
||||
|
||||
|
||||
#include <eikdoc.h>
|
||||
|
||||
class CScummVMDoc:public CEikDocument {
|
||||
public:
|
||||
~CScummVMDoc();
|
||||
CEikAppUi* CreateAppUiL();
|
||||
void ConstructL();
|
||||
CScummVMDoc(CEikApplication& aApplicaiton);
|
||||
};
|
||||
|
||||
#include <eikappui.h>
|
||||
class CScummVMUi;
|
||||
class CScummWatcher:public CActive {
|
||||
public:
|
||||
CScummWatcher();
|
||||
~CScummWatcher();
|
||||
void DoCancel();
|
||||
void RunL();
|
||||
CScummVMUi* iAppUi;
|
||||
};
|
||||
|
||||
class CScummVMUi:public CEikAppUi {
|
||||
public:
|
||||
CScummVMUi();
|
||||
~CScummVMUi();
|
||||
void ConstructL();
|
||||
void HandleCommandL(TInt aCommand);
|
||||
void HandleForegroundEventL(TBool aForeground);
|
||||
void BringUpEmulatorL();
|
||||
private:
|
||||
TThreadId iThreadId;
|
||||
TInt iExeWgId;
|
||||
RThread iThreadWatch;
|
||||
CScummWatcher* iWatcher;
|
||||
};
|
||||
#endif
|
44
backends/epoc/build/ScummVmAif.rss
Normal file
44
backends/epoc/build/ScummVmAif.rss
Normal file
@ -0,0 +1,44 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
#include <aiftool.rh>
|
||||
|
||||
|
||||
RESOURCE AIF_DATA
|
||||
{
|
||||
app_uid= 0x101f9b57;
|
||||
//
|
||||
hidden=KAppNotHidden;
|
||||
embeddability=KAppNotEmbeddable;
|
||||
caption_list=
|
||||
{
|
||||
CAPTION { code=ELangEnglish; caption="EScummVM"; },
|
||||
CAPTION { code=ELangAmerican; caption="EScummVM"; },
|
||||
CAPTION { code=ELangOther; caption="EScummVM"; }
|
||||
};
|
||||
//
|
||||
num_icons=2;
|
||||
}
|
||||
|
||||
|
||||
|
13
backends/epoc/build/UIQ/BLD.INF
Normal file
13
backends/epoc/build/UIQ/BLD.INF
Normal file
@ -0,0 +1,13 @@
|
||||
PRJ_PLATFORMS
|
||||
WINS ARMI // ARM4 THUMB
|
||||
|
||||
PRJ_MMPFILES
|
||||
..\scummvm_scumm.mmp
|
||||
..\scummvm_simon.mmp
|
||||
..\scummvm_sky.mmp
|
||||
..\scummvm_queen.mmp
|
||||
..\scummvm_gob.mmp
|
||||
..\scummvm_base.mmp
|
||||
.\EScummVM_UIQ.mmp
|
||||
|
||||
prj_testmmpfiles
|
26
backends/epoc/build/UIQ/EScummVM.cer
Normal file
26
backends/epoc/build/UIQ/EScummVM.cer
Normal file
@ -0,0 +1,26 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEfDCCBDqgAwIBAgIBADALBgcqhkjOOAQDBQAwYTEQMA4GA1UEChMHU2N1bW1W
|
||||
TTEQMA4GA1UECxMHRGV2VGVhbTEQMA4GA1UEAxMHU2N1bW1WTTEpMCcGCSqGSIb3
|
||||
DQEJARYac3VtdGhpbndpY2tlZEB1c2Vycy5zZi5uZXQwHhcNMDUwNDI1MDIxNTA1
|
||||
WhcNMDYwNDI1MDIxNTA1WjBhMRAwDgYDVQQKEwdTY3VtbVZNMRAwDgYDVQQLEwdE
|
||||
ZXZUZWFtMRAwDgYDVQQDEwdTY3VtbVZNMSkwJwYJKoZIhvcNAQkBFhpzdW10aGlu
|
||||
d2lja2VkQHVzZXJzLnNmLm5ldDCCAzswggIuBgcqhkjOOAQBMIICIQKCAQEA84zz
|
||||
w3SAZSHUvmpEKn/o+RBhgs+Spxr1vIX4K7nc27dTl8Q8OWw+2kWUsySkzbhcwzV4
|
||||
r2exWSUjKeAMhVnnV5bhlTlHQITTEhIm5XkbWWgBnqjxa990YAfU2vSFV//Yq9IP
|
||||
eBtsx0Rc3M1QYAuBSZUA9n0J6omc2XrYqHNiqjlkgr0oVX1Y9acFNg2A4hoI0ltK
|
||||
0ARqlv+s/yAntg+p2c3abiIFceFpnF0pI/veoyXFASqebUNvquYryiUdSxYxamMF
|
||||
PB7i35VRY0WuOcDQsg6gMdAePC+oENBeEGAOaBrJ+M5KFRohcU8H4RF+FqaegtsA
|
||||
dHECDoQMfQNynaAMrwIVAL8RRcz9e50iVWpUWeLf19EdQ2crAoIBAQDZZ6z5JfNz
|
||||
f/ItU8/0Lo6lmFlC0axYhM5+MKBLGBE/Xo+tqUiwIhVBWGEZN0B8DGD7OnljPqWd
|
||||
2LzapsfGfoMh22oQTXljwS13So1akeJK0OaKZS699Nl5YrM0oFa6pLj9wbwPgd0I
|
||||
HwaVS4YZhrJyPAKiHZlz7YGIqEvCFjDWBsPMZ1gbTIGrvkhFNvClP7U5gBVj6ASQ
|
||||
gLwnuD7oApXfEbyEzPg0EmxD1zHsnvmwtQT66tmnVsgIe9gsF3XL2rlJIxogbM4/
|
||||
zKPzWiQaypdqzgdGT/F8fonumN8QA1GR+SHLh6LnxWVGQwXOueXdlZPH8ELg4mYv
|
||||
SgRTU+UYDc6YA4IBBQACggEAQ69uT4wfbkrXWu1uozU8yWNTpO1pq/eQdnz70dBr
|
||||
iO5wWD0ojEj6IOp968p5DbWCRn/xAl+aNAFlxaMvJrhjcKCPjYENQkPdRhrgB/tO
|
||||
B/LzK64RjPswAkOkwLX7GK6N3m0Yt2BW02t8j13f1Ckg1dvX7JKAD2xqAKIap94P
|
||||
CbF/URAYGKFNechB3MlJK9/zW9huk9PQ/ulsDrZ0itZuTR+24P7co8hAhGnVL6TC
|
||||
zQzL6WHF3MPirr5T0tvquryZKiX3shOJtsRRCjkJS4oEuFAwQx+q7HtCA/6+MmQF
|
||||
0odo9lzNa44SVBGkD9M8tRYrO4OaLuU24f4AeUx7VSflnDALBgcqhkjOOAQDBQAD
|
||||
LwAwLAIUUS6s1EFzzhP0ZyJ1GE0asFJtkVoCFBbw9qDXTT3mTyCVvmSwCB9YtCuz
|
||||
-----END CERTIFICATE-----
|
20
backends/epoc/build/UIQ/EScummVM.key
Normal file
20
backends/epoc/build/UIQ/EScummVM.key
Normal file
@ -0,0 +1,20 @@
|
||||
-----BEGIN DSA PRIVATE KEY-----
|
||||
MIIDPgIBAAKCAQEA84zzw3SAZSHUvmpEKn/o+RBhgs+Spxr1vIX4K7nc27dTl8Q8
|
||||
OWw+2kWUsySkzbhcwzV4r2exWSUjKeAMhVnnV5bhlTlHQITTEhIm5XkbWWgBnqjx
|
||||
a990YAfU2vSFV//Yq9IPeBtsx0Rc3M1QYAuBSZUA9n0J6omc2XrYqHNiqjlkgr0o
|
||||
VX1Y9acFNg2A4hoI0ltK0ARqlv+s/yAntg+p2c3abiIFceFpnF0pI/veoyXFASqe
|
||||
bUNvquYryiUdSxYxamMFPB7i35VRY0WuOcDQsg6gMdAePC+oENBeEGAOaBrJ+M5K
|
||||
FRohcU8H4RF+FqaegtsAdHECDoQMfQNynaAMrwIVAL8RRcz9e50iVWpUWeLf19Ed
|
||||
Q2crAoIBAQDZZ6z5JfNzf/ItU8/0Lo6lmFlC0axYhM5+MKBLGBE/Xo+tqUiwIhVB
|
||||
WGEZN0B8DGD7OnljPqWd2LzapsfGfoMh22oQTXljwS13So1akeJK0OaKZS699Nl5
|
||||
YrM0oFa6pLj9wbwPgd0IHwaVS4YZhrJyPAKiHZlz7YGIqEvCFjDWBsPMZ1gbTIGr
|
||||
vkhFNvClP7U5gBVj6ASQgLwnuD7oApXfEbyEzPg0EmxD1zHsnvmwtQT66tmnVsgI
|
||||
e9gsF3XL2rlJIxogbM4/zKPzWiQaypdqzgdGT/F8fonumN8QA1GR+SHLh6LnxWVG
|
||||
QwXOueXdlZPH8ELg4mYvSgRTU+UYDc6YAoIBAEOvbk+MH25K11rtbqM1PMljU6Tt
|
||||
aav3kHZ8+9HQa4jucFg9KIxI+iDqfevKeQ21gkZ/8QJfmjQBZcWjLya4Y3Cgj42B
|
||||
DUJD3UYa4Af7Tgfy8yuuEYz7MAJDpMC1+xiujd5tGLdgVtNrfI9d39QpINXb1+yS
|
||||
gA9sagCiGqfeDwmxf1EQGBihTXnIQdzJSSvf81vYbpPT0P7pbA62dIrWbk0ftuD+
|
||||
3KPIQIRp1S+kws0My+lhxdzD4q6+U9Lb6rq8mSol97ITibbEUQo5CUuKBLhQMEMf
|
||||
qux7QgP+vjJkBdKHaPZczWuOElQRpA/TPLUWKzuDmi7lNuH+AHlMe1Un5ZwCFBoc
|
||||
P3MxHDcW4ZTIXdJxxCylT+ix
|
||||
-----END DSA PRIVATE KEY-----
|
62
backends/epoc/build/UIQ/EScummVM.rss
Normal file
62
backends/epoc/build/UIQ/EScummVM.rss
Normal file
@ -0,0 +1,62 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
// ScummVM.RSS
|
||||
|
||||
NAME SCUM
|
||||
|
||||
// Include definitions of resource STRUCTS used by this
|
||||
// resource script
|
||||
#include <eikon.rh>
|
||||
#include "..\backends\epoc\Scummvm.hrh"
|
||||
// Include the standard Eikon resource ids
|
||||
#include <eikon.rsg>
|
||||
|
||||
|
||||
RESOURCE RSS_SIGNATURE
|
||||
{
|
||||
}
|
||||
|
||||
RESOURCE TBUF16 { buf=""; }
|
||||
|
||||
RESOURCE EIK_APP_INFO
|
||||
{
|
||||
menubar = r_scum_menubar;
|
||||
}
|
||||
|
||||
RESOURCE MENU_BAR r_scum_menubar // *** Menu bar
|
||||
{
|
||||
titles =
|
||||
{
|
||||
MENU_TITLE { menu_pane = r_scum_menu; txt = "ScummVM"; }
|
||||
};
|
||||
}
|
||||
|
||||
RESOURCE MENU_PANE r_scum_menu // *** Submenu
|
||||
{
|
||||
items =
|
||||
{
|
||||
|
||||
MENU_ITEM{command = EEikCmdExit;txt = "Exit";}
|
||||
};
|
||||
}
|
35
backends/epoc/build/UIQ/EScummVM_080.pkg
Normal file
35
backends/epoc/build/UIQ/EScummVM_080.pkg
Normal file
@ -0,0 +1,35 @@
|
||||
;;;
|
||||
;;; EScummVM .PKG file for .SIS gegeration
|
||||
;;;
|
||||
|
||||
; Languages
|
||||
;&EN
|
||||
|
||||
; UID is the app's UID
|
||||
#{"EScummVM"},(0x101f9b57),0,80,3
|
||||
|
||||
; Platform type
|
||||
(0x101F617B), 2, 0, 0, {"UIQ20ProductID"}
|
||||
|
||||
; Signature
|
||||
*"EScummVM.key","EScummVM.cer"
|
||||
|
||||
; Application file
|
||||
"..\..\..\..\UIQ_21\epoc32\release\armi\urel\EScummVM.app"-"!:\system\apps\EScummVM\EScummVM.app"
|
||||
|
||||
; AIF application information file
|
||||
"..\..\..\..\UIQ_21\epoc32\data\z\system\apps\EScummVM\EScummVM.aif"-"!:\system\apps\EScummVM\EScummVM.aif"
|
||||
|
||||
; Resource file
|
||||
"..\..\..\..\UIQ_21\epoc32\data\z\system\apps\EScummVM\EScummVM.rsc"-"!:\system\apps\EScummVM\EScummVM.rsc"
|
||||
|
||||
; Empty .placeholder file, ensures creation of c:\documents\EScummVM\ for future file saves
|
||||
".placeholder"-"c:\documents\EScummVM\.placeholder"
|
||||
|
||||
; Config/log files: 'empty' will automagically be removed on uninstall
|
||||
""-"c:\documents\EScummVM\scummvm.ini",FN
|
||||
""-"c:\documents\EScummVM\scummvm.stdout.txt",FN
|
||||
""-"c:\documents\EScummVM\scummvm.stderr.txt",FN
|
||||
|
||||
; This install layout will let you upgrade to newer versions wihout loss of scummvm.ini.
|
||||
; It will remove the config file, std***.txt files & dirs on uninstall.
|
110
backends/epoc/build/UIQ/EScummVM_UIQ.mmp
Normal file
110
backends/epoc/build/UIQ/EScummVM_UIQ.mmp
Normal file
@ -0,0 +1,110 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
//
|
||||
// EPOC UIQ MMP makefile project for ScummVM
|
||||
//
|
||||
|
||||
// *** Definitions
|
||||
|
||||
TARGET ESCUMMVM.APP
|
||||
TARGETPATH system\apps\EScummVM
|
||||
TARGETTYPE app
|
||||
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
|
||||
|
||||
RESOURCE EScummVM.rss
|
||||
EPOCSTACKSIZE 0x80008000 // this enables ECompXL app compression
|
||||
AIF EScummVm.Aif ..\ ScummVmAif.rss c16 ScummL.bmp ScummLM.bmp ScummS.bmp ScummSM.bmp // still fails?
|
||||
UID 0x100039ce 0x101f9b57
|
||||
|
||||
MACRO UIQ
|
||||
MACRO NONSTANDARD_PORT
|
||||
|
||||
// these need too high a resolution
|
||||
MACRO DISABLE_SWORD1
|
||||
MACRO DISABLE_SWORD2
|
||||
// these are not ready to be released
|
||||
MACRO DISABLE_SAGA
|
||||
MACRO DISABLE_KYRA
|
||||
// these work, so don't disable them, left here because during dev you might wanna turn them off once in a while :)
|
||||
//MACRO DISABLE_SIMON
|
||||
//MACRO DISABLE_SKY
|
||||
//MACRO DISABLE_QUEEN
|
||||
//MACRO DISABLE_GOB
|
||||
|
||||
// *** Static Libraries
|
||||
|
||||
STATICLIBRARY scummvm_scumm.lib
|
||||
STATICLIBRARY scummvm_simon.lib
|
||||
STATICLIBRARY scummvm_sky.lib
|
||||
STATICLIBRARY scummvm_queen.lib
|
||||
STATICLIBRARY scummvm_gob.lib
|
||||
STATICLIBRARY scummvm_base.lib
|
||||
|
||||
STATICLIBRARY libmad.lib
|
||||
STATICLIBRARY zlib.lib
|
||||
STATICLIBRARY esdl.lib
|
||||
#if !defined(WINS)
|
||||
STATICLIBRARY egcc.lib // for __fixunsdfsi
|
||||
#endif
|
||||
|
||||
// *** Include paths
|
||||
|
||||
USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui
|
||||
USERINCLUDE ..\..\..\..\backends\fs ..\..\..\..\backends\epoc ..\..\..\..\backends\sdl ..\..\..\..\sound
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\..\..\..\backends\epoc // for portdefs.h
|
||||
|
||||
// *** SOURCE files
|
||||
|
||||
SOURCEPATH ..\..\..\..\
|
||||
|
||||
//START_AUTO_OBJECTS_BASE_// Updated @ Tue May 31 18:35:38 2005
|
||||
SOURCE base\engine.cpp
|
||||
SOURCE base\gameDetector.cpp
|
||||
SOURCE base\main.cpp
|
||||
SOURCE base\plugins.cpp
|
||||
//STOP_AUTO_OBJECTS_BASE_//
|
||||
|
||||
// backend EPOC/SDL/ESDL specific includes
|
||||
SOURCE backends\sdl\events.cpp
|
||||
SOURCE backends\sdl\graphics.cpp
|
||||
SOURCE backends\sdl\sdl.cpp
|
||||
SOURCE backends\fs\symbian\symbian-fs.cpp
|
||||
SOURCE backends\epoc\SymbianOS.cpp
|
||||
SOURCE backends\epoc\ScummApp.cpp
|
||||
|
||||
// *** Dynamic Libraries
|
||||
|
||||
LIBRARY cone.lib eikcore.lib
|
||||
LIBRARY euser.lib apparc.lib fbscli.lib
|
||||
LIBRARY estlib.lib apgrfx.lib
|
||||
LIBRARY gdi.lib hal.lib
|
||||
LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib
|
||||
LIBRARY qikctl.lib
|
BIN
backends/epoc/build/epoc-libmad.zip
Normal file
BIN
backends/epoc/build/epoc-libmad.zip
Normal file
Binary file not shown.
BIN
backends/epoc/build/epoc-zlib.zip
Normal file
BIN
backends/epoc/build/epoc-zlib.zip
Normal file
Binary file not shown.
46
backends/epoc/build/make.bat
Normal file
46
backends/epoc/build/make.bat
Normal file
@ -0,0 +1,46 @@
|
||||
@ECHO OFF
|
||||
|
||||
SET target=%2
|
||||
|
||||
if "%1"=="clean" goto clean
|
||||
if "%1"=="test" goto test
|
||||
if "%1"=="fast" goto fast
|
||||
if "%1"=="--help" goto help
|
||||
if "%1"=="-h" goto help
|
||||
|
||||
SET platform=armi
|
||||
if "%1"=="" goto build
|
||||
SET platform=%1
|
||||
|
||||
:build
|
||||
echo ---------------------------------------------------
|
||||
@ECHO ON
|
||||
call abld build %platform% urel %target%
|
||||
goto End
|
||||
|
||||
:fast
|
||||
echo ---------------------------------------------------
|
||||
REM @ECHO ON
|
||||
call abld library %platform% urel %target%
|
||||
REM call abld resource %platform% urel %target%
|
||||
call abld target %platform% urel %target%
|
||||
goto End
|
||||
|
||||
:test
|
||||
echo ---------------------------------------------------
|
||||
@ECHO ON
|
||||
call abld test build armi urel %target%
|
||||
goto End
|
||||
|
||||
:clean
|
||||
abld clean %target%
|
||||
goto End
|
||||
|
||||
:help
|
||||
echo Usage: make clean
|
||||
echo make [armi|wins] [target]
|
||||
goto End
|
||||
|
||||
:End
|
||||
echo ---------------------------------------------------
|
||||
|
BIN
backends/epoc/build/scummL.bmp
Normal file
BIN
backends/epoc/build/scummL.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
BIN
backends/epoc/build/scummLm.bmp
Normal file
BIN
backends/epoc/build/scummLm.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 630 B |
BIN
backends/epoc/build/scummS.bmp
Normal file
BIN
backends/epoc/build/scummS.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 822 B |
BIN
backends/epoc/build/scummSm.bmp
Normal file
BIN
backends/epoc/build/scummSm.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 246 B |
136
backends/epoc/build/scummvm_base.mmp
Normal file
136
backends/epoc/build/scummvm_base.mmp
Normal file
@ -0,0 +1,136 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// EPOC MMP makefile project for ScummVM
|
||||
//
|
||||
|
||||
// *** Definitions
|
||||
|
||||
TARGET scummvm_base.lib
|
||||
TARGETTYPE lib
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
|
||||
|
||||
MACRO NONSTANDARD_PORT
|
||||
MACRO USE_MAD
|
||||
MACRO USE_ZLIB
|
||||
|
||||
// these need too high a resolution
|
||||
MACRO DISABLE_SWORD1
|
||||
MACRO DISABLE_SWORD2
|
||||
// these are not ready to be released
|
||||
MACRO DISABLE_SAGA
|
||||
MACRO DISABLE_KYRA
|
||||
// these work, so don't disable them :)
|
||||
//MACRO DISABLE_SIMON
|
||||
//MACRO DISABLE_SKY
|
||||
//MACRO DISABLE_QUEEN
|
||||
//MACRO DISABLE_GOB
|
||||
|
||||
// *** Include paths
|
||||
|
||||
USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound
|
||||
USERINCLUDE ..\..\..\backends\fs ..\..\..\backends\epoc ..\..\..\backends\sdl
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\ESDL
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\..\..\backends\epoc // for portdefs.h
|
||||
|
||||
// *** SOURCE files
|
||||
|
||||
SOURCEPATH ..\..\..
|
||||
|
||||
//START_AUTO_OBJECTS_COMMON_// Updated @ Mon Jun 6 23:07:22 2005
|
||||
SOURCE common\config-file.cpp
|
||||
SOURCE common\config-manager.cpp
|
||||
SOURCE common\file.cpp
|
||||
SOURCE common\md5.cpp
|
||||
SOURCE common\mutex.cpp
|
||||
SOURCE common\str.cpp
|
||||
SOURCE common\stream.cpp
|
||||
SOURCE common\timer.cpp
|
||||
SOURCE common\util.cpp
|
||||
SOURCE common\savefile.cpp
|
||||
SOURCE common\system.cpp
|
||||
//STOP_AUTO_OBJECTS_COMMON_//
|
||||
|
||||
//START_AUTO_OBJECTS_GRAPHICS_// Updated @ Mon Jun 6 23:07:22 2005
|
||||
SOURCE graphics\animation.cpp
|
||||
SOURCE graphics\consolefont.cpp
|
||||
SOURCE graphics\font.cpp
|
||||
SOURCE graphics\fontman.cpp
|
||||
SOURCE graphics\newfont.cpp
|
||||
SOURCE graphics\newfont_big.cpp
|
||||
SOURCE graphics\primitives.cpp
|
||||
SOURCE graphics\scummfont.cpp
|
||||
SOURCE graphics\surface.cpp
|
||||
//STOP_AUTO_OBJECTS_GRAPHICS_//
|
||||
|
||||
//START_AUTO_OBJECTS_GUI_// Updated @ Mon Jun 6 23:07:22 2005
|
||||
SOURCE gui\about.cpp
|
||||
SOURCE gui\browser.cpp
|
||||
SOURCE gui\chooser.cpp
|
||||
SOURCE gui\console.cpp
|
||||
SOURCE gui\dialog.cpp
|
||||
SOURCE gui\editable.cpp
|
||||
SOURCE gui\EditTextWidget.cpp
|
||||
SOURCE gui\launcher.cpp
|
||||
SOURCE gui\ListWidget.cpp
|
||||
SOURCE gui\message.cpp
|
||||
SOURCE gui\newgui.cpp
|
||||
SOURCE gui\options.cpp
|
||||
SOURCE gui\PopUpWidget.cpp
|
||||
SOURCE gui\ScrollBarWidget.cpp
|
||||
SOURCE gui\TabWidget.cpp
|
||||
SOURCE gui\widget.cpp
|
||||
//STOP_AUTO_OBJECTS_GUI_//
|
||||
|
||||
//START_AUTO_OBJECTS_SOUND_// Updated @ Mon Jun 6 23:07:22 2005
|
||||
SOURCE sound\adpcm.cpp
|
||||
SOURCE sound\audiocd.cpp
|
||||
SOURCE sound\audiostream.cpp
|
||||
SOURCE sound\flac.cpp
|
||||
SOURCE sound\fmopl.cpp
|
||||
SOURCE sound\mididrv.cpp
|
||||
SOURCE sound\midiparser.cpp
|
||||
SOURCE sound\midiparser_smf.cpp
|
||||
SOURCE sound\midiparser_xmidi.cpp
|
||||
SOURCE sound\mixer.cpp
|
||||
SOURCE sound\mp3.cpp
|
||||
SOURCE sound\mpu401.cpp
|
||||
SOURCE sound\rate.cpp
|
||||
SOURCE sound\voc.cpp
|
||||
SOURCE sound\vorbis.cpp
|
||||
SOURCE sound\wave.cpp
|
||||
SOURCE sound\softsynth\adlib.cpp
|
||||
SOURCE sound\softsynth\ym2612.cpp
|
||||
//STOP_AUTO_OBJECTS_SOUND_//
|
||||
|
||||
// backend specific includes
|
||||
SOURCE backends\midi\null.cpp
|
||||
SOURCE backends\fs\fs.cpp
|
||||
// backend specific includes
|
69
backends/epoc/build/scummvm_gob.mmp
Normal file
69
backends/epoc/build/scummvm_gob.mmp
Normal file
@ -0,0 +1,69 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
//
|
||||
// EPOC MMP makefile project for ScummVM
|
||||
//
|
||||
|
||||
// *** Definitions
|
||||
|
||||
TARGET scummvm_gob.lib
|
||||
TARGETTYPE lib
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
|
||||
|
||||
MACRO NONSTANDARD_PORT
|
||||
|
||||
// *** SOURCE files
|
||||
|
||||
SOURCEPATH ..\..\..
|
||||
|
||||
//START_AUTO_OBJECTS_GOB_// Updated @ Mon Jun 6 23:07:22 2005
|
||||
SOURCE gob\anim.cpp
|
||||
SOURCE gob\cdrom.cpp
|
||||
SOURCE gob\dataio.cpp
|
||||
SOURCE gob\draw.cpp
|
||||
SOURCE gob\driver_vga.cpp
|
||||
SOURCE gob\game.cpp
|
||||
SOURCE gob\global.cpp
|
||||
SOURCE gob\goblin.cpp
|
||||
SOURCE gob\init.cpp
|
||||
SOURCE gob\inter.cpp
|
||||
SOURCE gob\map.cpp
|
||||
SOURCE gob\mult.cpp
|
||||
SOURCE gob\pack.cpp
|
||||
SOURCE gob\palanim.cpp
|
||||
SOURCE gob\parse.cpp
|
||||
SOURCE gob\scenery.cpp
|
||||
SOURCE gob\util.cpp
|
||||
SOURCE gob\video.cpp
|
||||
SOURCE gob\sound.cpp
|
||||
SOURCE gob\timer.cpp
|
||||
SOURCE gob\gob.cpp
|
||||
//STOP_AUTO_OBJECTS_GOB_//
|
||||
|
||||
// *** Include paths
|
||||
|
||||
USERINCLUDE ..\..\..\gob
|
||||
USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound ..\..\..\backends\epoc
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\..\..\backends\epoc
|
69
backends/epoc/build/scummvm_queen.mmp
Normal file
69
backends/epoc/build/scummvm_queen.mmp
Normal file
@ -0,0 +1,69 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
//
|
||||
// EPOC MMP makefile project for ScummVM
|
||||
//
|
||||
|
||||
// *** Definitions
|
||||
|
||||
TARGET scummvm_queen.lib
|
||||
TARGETTYPE lib
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
|
||||
|
||||
MACRO NONSTANDARD_PORT
|
||||
MACRO USE_MAD
|
||||
|
||||
// *** SOURCE files
|
||||
|
||||
SOURCEPATH ..\..\..
|
||||
|
||||
//START_AUTO_OBJECTS_QUEEN_// Updated @ Mon Jun 6 23:07:22 2005
|
||||
SOURCE queen\bankman.cpp
|
||||
SOURCE queen\command.cpp
|
||||
SOURCE queen\credits.cpp
|
||||
SOURCE queen\cutaway.cpp
|
||||
SOURCE queen\debug.cpp
|
||||
SOURCE queen\display.cpp
|
||||
SOURCE queen\graphics.cpp
|
||||
SOURCE queen\grid.cpp
|
||||
SOURCE queen\input.cpp
|
||||
SOURCE queen\journal.cpp
|
||||
SOURCE queen\logic.cpp
|
||||
SOURCE queen\music.cpp
|
||||
SOURCE queen\musicdata.cpp
|
||||
SOURCE queen\queen.cpp
|
||||
SOURCE queen\resource.cpp
|
||||
SOURCE queen\restables.cpp
|
||||
SOURCE queen\sound.cpp
|
||||
SOURCE queen\state.cpp
|
||||
SOURCE queen\talk.cpp
|
||||
SOURCE queen\walk.cpp
|
||||
//STOP_AUTO_OBJECTS_QUEEN_//
|
||||
|
||||
// *** Include paths
|
||||
|
||||
USERINCLUDE ..\..\..\queen
|
||||
USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound ..\..\..\backends\epoc
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\..\..\backends\epoc
|
142
backends/epoc/build/scummvm_scumm.mmp
Normal file
142
backends/epoc/build/scummvm_scumm.mmp
Normal file
@ -0,0 +1,142 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// EPOC MMP makefile project for ScummVM
|
||||
//
|
||||
|
||||
// *** Definitions
|
||||
|
||||
TARGET scummvm_scumm.lib
|
||||
TARGETTYPE lib
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
|
||||
|
||||
MACRO NONSTANDARD_PORT
|
||||
MACRO USE_MAD
|
||||
MACRO USE_ZLIB
|
||||
|
||||
// *** SOURCE files
|
||||
|
||||
SOURCEPATH ..\..\..
|
||||
|
||||
//START_AUTO_OBJECTS_SCUMM_// Updated @ Mon Jun 6 23:07:22 2005
|
||||
SOURCE scumm\actor.cpp
|
||||
SOURCE scumm\akos.cpp
|
||||
SOURCE scumm\base-costume.cpp
|
||||
SOURCE scumm\bomp.cpp
|
||||
SOURCE scumm\boxes.cpp
|
||||
SOURCE scumm\camera.cpp
|
||||
SOURCE scumm\charset.cpp
|
||||
SOURCE scumm\costume.cpp
|
||||
SOURCE scumm\cursor.cpp
|
||||
SOURCE scumm\debugger.cpp
|
||||
SOURCE scumm\dialogs.cpp
|
||||
SOURCE scumm\gfx.cpp
|
||||
SOURCE scumm\imuse.cpp
|
||||
SOURCE scumm\imuse_player.cpp
|
||||
SOURCE scumm\input.cpp
|
||||
SOURCE scumm\instrument.cpp
|
||||
SOURCE scumm\help.cpp
|
||||
SOURCE scumm\midiparser_ro.cpp
|
||||
SOURCE scumm\midiparser_eup.cpp
|
||||
SOURCE scumm\nut_renderer.cpp
|
||||
SOURCE scumm\object.cpp
|
||||
SOURCE scumm\palette.cpp
|
||||
SOURCE scumm\player_mod.cpp
|
||||
SOURCE scumm\player_v1.cpp
|
||||
SOURCE scumm\player_nes.cpp
|
||||
SOURCE scumm\player_v2.cpp
|
||||
SOURCE scumm\player_v2a.cpp
|
||||
SOURCE scumm\player_v3a.cpp
|
||||
SOURCE scumm\resource.cpp
|
||||
SOURCE scumm\resource_v2.cpp
|
||||
SOURCE scumm\resource_v3.cpp
|
||||
SOURCE scumm\resource_v4.cpp
|
||||
SOURCE scumm\room.cpp
|
||||
SOURCE scumm\saveload.cpp
|
||||
SOURCE scumm\script.cpp
|
||||
SOURCE scumm\script_c64.cpp
|
||||
SOURCE scumm\script_v2.cpp
|
||||
SOURCE scumm\script_v5.cpp
|
||||
SOURCE scumm\script_v6.cpp
|
||||
SOURCE scumm\script_v6he.cpp
|
||||
SOURCE scumm\scumm.cpp
|
||||
SOURCE scumm\sound.cpp
|
||||
SOURCE scumm\string.cpp
|
||||
SOURCE scumm\usage_bits.cpp
|
||||
SOURCE scumm\util.cpp
|
||||
SOURCE scumm\vars.cpp
|
||||
SOURCE scumm\verbs.cpp
|
||||
SOURCE scumm\thumbnail.cpp
|
||||
//STOP_AUTO_OBJECTS_SCUMM_//
|
||||
|
||||
//START_AUTO_OBJECTS_SCUMM_DISABLE_SCUMM_7_8// Updated @ Mon Jun 6 23:03:34 2005
|
||||
SOURCE scumm\script_v8.cpp
|
||||
SOURCE scumm\imuse_digi\dimuse.cpp
|
||||
SOURCE scumm\imuse_digi\dimuse_bndmgr.cpp
|
||||
SOURCE scumm\imuse_digi\dimuse_codecs.cpp
|
||||
SOURCE scumm\imuse_digi\dimuse_music.cpp
|
||||
SOURCE scumm\imuse_digi\dimuse_sndmgr.cpp
|
||||
SOURCE scumm\imuse_digi\dimuse_script.cpp
|
||||
SOURCE scumm\imuse_digi\dimuse_track.cpp
|
||||
SOURCE scumm\imuse_digi\dimuse_tables.cpp
|
||||
SOURCE scumm\insane\insane.cpp
|
||||
SOURCE scumm\insane\insane_ben.cpp
|
||||
SOURCE scumm\insane\insane_enemy.cpp
|
||||
SOURCE scumm\insane\insane_scenes.cpp
|
||||
SOURCE scumm\insane\insane_iact.cpp
|
||||
SOURCE scumm\smush\chunk.cpp
|
||||
SOURCE scumm\smush\codec1.cpp
|
||||
SOURCE scumm\smush\codec37.cpp
|
||||
SOURCE scumm\smush\codec47.cpp
|
||||
SOURCE scumm\smush\imuse_channel.cpp
|
||||
SOURCE scumm\smush\smush_player.cpp
|
||||
SOURCE scumm\smush\saud_channel.cpp
|
||||
SOURCE scumm\smush\smush_mixer.cpp
|
||||
SOURCE scumm\smush\smush_font.cpp
|
||||
//STOP_AUTO_OBJECTS_SCUMM_DISABLE_SCUMM_7_8//
|
||||
|
||||
//START_AUTO_OBJECTS_SCUMM_DISABLE_HE// Updated @ Mon Jun 6 23:03:34 2005
|
||||
SOURCE scumm\logic_he.cpp
|
||||
SOURCE scumm\palette_he.cpp
|
||||
SOURCE scumm\resource_v7he.cpp
|
||||
SOURCE scumm\script_v7he.cpp
|
||||
SOURCE scumm\script_v72he.cpp
|
||||
SOURCE scumm\script_v80he.cpp
|
||||
SOURCE scumm\script_v90he.cpp
|
||||
SOURCE scumm\script_v100he.cpp
|
||||
SOURCE scumm\sprite_he.cpp
|
||||
SOURCE scumm\wiz_he.cpp
|
||||
//STOP_AUTO_OBJECTS_SCUMM_DISABLE_HE//
|
||||
|
||||
// *** Include paths
|
||||
|
||||
USERINCLUDE ..\..\..\scumm ..\..\..\scumm\smush ..\..\..\scumm\insane
|
||||
USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound ..\..\..\backends\epoc
|
||||
|
||||
SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version
|
||||
SYSTEMINCLUDE \epoc32\include\libc
|
||||
SYSTEMINCLUDE \epoc32\include
|
||||
SYSTEMINCLUDE ..\..\..\backends\epoc // for portdefs.h
|
64
backends/epoc/build/scummvm_simon.mmp
Normal file
64
backends/epoc/build/scummvm_simon.mmp
Normal file
@ -0,0 +1,64 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// EPOC MMP makefile project for ScummVM
|
||||
//
|
||||
|
||||
// *** Definitions
|
||||
|
||||
TARGET scummvm_simon.lib
|
||||
TARGETTYPE lib
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
|
||||
|
||||
MACRO NONSTANDARD_PORT
|
||||
MACRO USE_MAD
|
||||
|
||||
// *** SOURCE files
|
||||
|
||||
SOURCEPATH ..\..\..
|
||||
|
||||
//START_AUTO_OBJECTS_SIMON_// Updated @ Mon Jun 6 23:07:22 2005
|
||||
SOURCE simon\charset.cpp
|
||||
SOURCE simon\cursor.cpp
|
||||
SOURCE simon\debug.cpp
|
||||
SOURCE simon\debugger.cpp
|
||||
SOURCE simon\icons.cpp
|
||||
SOURCE simon\items.cpp
|
||||
SOURCE simon\midi.cpp
|
||||
SOURCE simon\midiparser_s1d.cpp
|
||||
SOURCE simon\res.cpp
|
||||
SOURCE simon\saveload.cpp
|
||||
SOURCE simon\sound.cpp
|
||||
SOURCE simon\simon.cpp
|
||||
SOURCE simon\verb.cpp
|
||||
SOURCE simon\vga.cpp
|
||||
//STOP_AUTO_OBJECTS_SIMON_//
|
||||
|
||||
// *** Include paths
|
||||
|
||||
USERINCLUDE ..\..\..\simon
|
||||
USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound ..\..\..\backends\epoc
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\..\..\backends\epoc
|
71
backends/epoc/build/scummvm_sky.mmp
Normal file
71
backends/epoc/build/scummvm_sky.mmp
Normal file
@ -0,0 +1,71 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header:
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
// EPOC MMP makefile project for ScummVM
|
||||
//
|
||||
|
||||
// *** Definitions
|
||||
|
||||
TARGET scummvm_sky.lib
|
||||
TARGETTYPE lib
|
||||
OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
|
||||
OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
|
||||
|
||||
MACRO NONSTANDARD_PORT
|
||||
MACRO USE_MAD
|
||||
|
||||
// *** SOURCE files
|
||||
|
||||
SOURCEPATH ..\..\..
|
||||
|
||||
//START_AUTO_OBJECTS_SKY_// Updated @ Mon Jun 6 23:07:22 2005
|
||||
SOURCE sky\autoroute.cpp
|
||||
SOURCE sky\compact.cpp
|
||||
SOURCE sky\control.cpp
|
||||
SOURCE sky\debug.cpp
|
||||
SOURCE sky\disk.cpp
|
||||
SOURCE sky\grid.cpp
|
||||
SOURCE sky\hufftext.cpp
|
||||
SOURCE sky\intro.cpp
|
||||
SOURCE sky\logic.cpp
|
||||
SOURCE sky\mouse.cpp
|
||||
SOURCE sky\rnc_deco.cpp
|
||||
SOURCE sky\screen.cpp
|
||||
SOURCE sky\sky.cpp
|
||||
SOURCE sky\sound.cpp
|
||||
SOURCE sky\text.cpp
|
||||
SOURCE sky\music\adlibchannel.cpp
|
||||
SOURCE sky\music\adlibmusic.cpp
|
||||
SOURCE sky\music\gmchannel.cpp
|
||||
SOURCE sky\music\gmmusic.cpp
|
||||
SOURCE sky\music\mt32music.cpp
|
||||
SOURCE sky\music\musicbase.cpp
|
||||
//STOP_AUTO_OBJECTS_SKY_//
|
||||
|
||||
// *** Include paths
|
||||
|
||||
USERINCLUDE ..\..\..\sky ..\..\..\sky\music
|
||||
USERINCLUDE ..\..\.. ..\..\..\common ..\..\..\gui ..\..\..\sound ..\..\..\backends\epoc
|
||||
SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\..\..\backends\epoc
|
156
backends/epoc/build/updateMMPs.pl
Normal file
156
backends/epoc/build/updateMMPs.pl
Normal file
@ -0,0 +1,156 @@
|
||||
|
||||
use Cwd;
|
||||
|
||||
print "
|
||||
=======================================================================================
|
||||
Preparing to update all the Symbian MMP project files with objects from module.mk files
|
||||
=======================================================================================
|
||||
|
||||
";
|
||||
|
||||
$buildDir = getcwd();
|
||||
chdir("../../../");
|
||||
|
||||
my @std = (""); # section standard, no #ifdef
|
||||
#my @sec = ("", "DISABLE_SCUMM_7_8", "DISABLE_HE"); # sections for scumm DISABLED_s
|
||||
my @exc = ("mt32","fluidsynth"); # exclusions for sound
|
||||
|
||||
#arseModule(mmpStr, dirStr, ifdefArray, [exclusionsArray])
|
||||
#ParseModule("_base", "base", \@std); # now in EScummVM_TRG.mmp, these never change anyways...
|
||||
ParseModule("_base", "common", \@std);
|
||||
ParseModule("_base", "gui", \@std);
|
||||
ParseModule("_base", "graphics", \@std);
|
||||
ParseModule("_base", "sound", \@std, \@exc);
|
||||
|
||||
ParseModule("_scumm", "scumm", \@std); #\@sec # no more: enabled all again
|
||||
ParseModule("_queen", "queen", \@std);
|
||||
ParseModule("_simon", "simon", \@std);
|
||||
ParseModule("_sky", "sky", \@std);
|
||||
ParseModule("_gob", "gob", \@std);
|
||||
|
||||
print "
|
||||
=======================================================================================
|
||||
Done. Enjoy :P
|
||||
=======================================================================================
|
||||
";
|
||||
# parses multiple sections per mmp/module
|
||||
sub ParseModule
|
||||
{
|
||||
my ($mmp,$module,$sections,$exclusions) = @_;
|
||||
my @sections = @{$sections};
|
||||
my @exclusions = @{$exclusions};
|
||||
|
||||
foreach $section (@sections)
|
||||
{
|
||||
CheckForModuleMK($module, $section, @exclusions);
|
||||
UpdateProjectFile($mmp, $module, $section);
|
||||
}
|
||||
}
|
||||
|
||||
# parses all module.mk files in a dir and its subdirs
|
||||
sub CheckForModuleMK
|
||||
{
|
||||
my ($item,$section,@exclusions) = @_;
|
||||
|
||||
if (-d $item)
|
||||
{
|
||||
#print "$item\n";
|
||||
|
||||
opendir DIR, $item;
|
||||
#my @Files = readdir DIR;
|
||||
my @Files = grep s/^([^\.].*)$/$1/, readdir DIR;
|
||||
closedir DIR;
|
||||
|
||||
foreach $entry (@Files)
|
||||
{
|
||||
CheckForModuleMK("$item/$entry", $section, @exclusions);
|
||||
}
|
||||
}
|
||||
|
||||
if (-f $item and $item =~ /.*\/module.mk$/)
|
||||
{
|
||||
my $sec = "";
|
||||
my $secnum = 0;
|
||||
|
||||
print "Parsing $item for section '$section' ... ";
|
||||
|
||||
open FILE, $item;
|
||||
my @lines = <FILE>;
|
||||
close FILE;
|
||||
|
||||
my $count = @lines;
|
||||
print "$count lines";
|
||||
|
||||
A: foreach $line (@lines)
|
||||
{
|
||||
# found a section? reset
|
||||
if ($line =~ /^ifndef (.*)/)
|
||||
{
|
||||
$sec = $1;
|
||||
}
|
||||
|
||||
# found an object? Not uncommented!
|
||||
if (!($line =~ /^#/) && $line =~ s/\.o/.cpp/)
|
||||
{
|
||||
# handle this section?
|
||||
if ($sec eq $section)
|
||||
{
|
||||
$line =~ s/^\s*//g; # remove possible leading whitespace
|
||||
$line =~ s/ \\//; # remove possible trailing ' \'
|
||||
$line =~ s/\//\\/g; # replace / with \
|
||||
chop($line); # remove \n
|
||||
|
||||
# do we need to skip this file?
|
||||
foreach $exclusion (@exclusions)
|
||||
{
|
||||
if ($line =~ /$exclusion/)
|
||||
{
|
||||
#print "\n !$line (excluded)";
|
||||
next A;
|
||||
}
|
||||
}
|
||||
|
||||
$secnum++;
|
||||
#print "\n $line";
|
||||
$output .= "SOURCE $line\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
print " -- $secnum objects selected\n";
|
||||
}
|
||||
}
|
||||
|
||||
# update an MMP project file with the new objects
|
||||
sub UpdateProjectFile
|
||||
{
|
||||
my ($mmp,$module,$section) = @_;
|
||||
my $n = "AUTO_OBJECTS_".uc($module)."_$section";
|
||||
my $a = "\/\/START_$n\/\/";
|
||||
my $b = "\/\/STOP_$n\/\/";
|
||||
my $name = "scummvm$mmp.mmp";
|
||||
my $file = "$buildDir/$name";
|
||||
my $updated = " Updated @ ".localtime();
|
||||
|
||||
print " ===>Updating backends/epoc/build/$name @ $n ... ";
|
||||
|
||||
open FILE, "$file";
|
||||
my @lines = <FILE>;
|
||||
close FILE;
|
||||
|
||||
# open FILE, ">$file~";
|
||||
# print FILE @lines;
|
||||
# close FILE;
|
||||
|
||||
my $onestr = join("",@lines);
|
||||
$onestr =~ s/$a.*$b/$a$updated\n$output$b/s;
|
||||
|
||||
open FILE, ">$file";
|
||||
print FILE $onestr;
|
||||
close FILE;
|
||||
|
||||
print "done.\n";
|
||||
|
||||
$output = "";
|
||||
}
|
||||
|
||||
|
78
backends/epoc/portdefs.h
Normal file
78
backends/epoc/portdefs.h
Normal file
@ -0,0 +1,78 @@
|
||||
/* ScummVM - Scumm Interpreter
|
||||
* Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
|
||||
* Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
|
||||
* Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
|
||||
* Copyright (C) 2005 The ScummVM project
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Header$
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <e32def.h>
|
||||
|
||||
#include <e32std.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
// the place in Symbian FS where scummvm.ini & std***.txt are saved
|
||||
#define SYMBIAN32_DOC_DIR "C:\\documents\\EScummVM\\" // includes final \\!
|
||||
#define DISABLE_HQ_SCALERS // we only need 1x
|
||||
|
||||
// hack in some tricks to work around not having these fcns for Symbian
|
||||
// and we _really_ don't wanna link with any other windows LIBC library!
|
||||
#ifdef __GCC32__
|
||||
|
||||
#define snprintf(buf,len,args...) sprintf(buf,args)
|
||||
#define vsnprintf snprintf
|
||||
|
||||
#else // WINS
|
||||
|
||||
// let's just blatantly ignore this for now and just get it to work :P but does n't work from the debug function
|
||||
int inline scumm_snprintf (char *str, unsigned long n, char const *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
vsprintf(str, fmt, args);
|
||||
va_end(args);
|
||||
return strlen(str);
|
||||
}
|
||||
|
||||
#define snprintf scumm_snprintf
|
||||
#define vsnprintf scumm_snprintf
|
||||
|
||||
#endif
|
||||
|
||||
// somehow nobody has this function...
|
||||
#define hypot(a, b) sqrt((a)*(a) + (b)*(b))
|
||||
|
||||
// Symbian bsearch implementation is flawed
|
||||
void inline *scumm_bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
|
||||
size_t i;
|
||||
|
||||
for (i=0; i<nmemb; i++)
|
||||
if (compar(key, (void*)((size_t)base + size * i)) == 0)
|
||||
return (void*)((size_t)base + size * i);
|
||||
return NULL;
|
||||
}
|
||||
#define bsearch scumm_bsearch
|
||||
|
Loading…
Reference in New Issue
Block a user