aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Persson2005-10-01 18:02:37 +0000
committerLars Persson2005-10-01 18:02:37 +0000
commit5c30b3c8df57abf206429e0e153172755402ac8b (patch)
tree64f2cf397862fcec9afee602656cf07e6f835baa
parentaeb09b2ce43976ded9864845641a9a7778323fef (diff)
downloadscummvm-rg350-5c30b3c8df57abf206429e0e153172755402ac8b.tar.gz
scummvm-rg350-5c30b3c8df57abf206429e0e153172755402ac8b.tar.bz2
scummvm-rg350-5c30b3c8df57abf206429e0e153172755402ac8b.zip
Update Symbian README, default Joystick config is on, Updated pkg files for S80 & S90, updated symbian-fs (cleaner code)
svn-id: r18919
-rw-r--r--backends/epoc/README12
-rw-r--r--backends/epoc/SymbianOS.cpp28
-rw-r--r--backends/epoc/build/S80/EScummVM_080.pkg18
-rw-r--r--backends/epoc/build/S90/EScummVM_080.pkg18
-rw-r--r--backends/fs/symbian/symbian-fs.cpp20
5 files changed, 43 insertions, 53 deletions
diff --git a/backends/epoc/README b/backends/epoc/README
index 8c69a255e7..cc50f8024e 100644
--- a/backends/epoc/README
+++ b/backends/epoc/README
@@ -18,15 +18,21 @@ About EScummVM
Nescessary components
---------------------
- Building EScummVM yourself using the UIQ 2.1 framework is not an easy task!
+ Building EScummVM yourself using the UIQ 2.1/Nokia S60 SDK/Nokia S80 SDK/Nokia S90 SDK 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
+ - UIQ 2.1 SDK (To build for UIQ devices);
http://www.symbian.com/developer/sdks_uiq.asp
+ - Nokia S60 1st, 2nd edition (3rd edition has not been tested) SDK (To build for S60 devices)
+
+ - Nokia S80 SDK (To build for S80 devices)
+
+ - Nokia 7710 SDK (To build for the 7710/S90 device)
+
- ECompXL, an EPOC application compression library
- http://www.yipton.demon.co.uk/ecompxl/latest/readme.html
+ http://www.yipton.demon.co.uk/ecompxl/latest/readme.html (To build for UIQ devices)
- libsdl, Simple Directmedia Layer, a cross-platform multimedia library
http://www.libsdl.org/ (see note about ESDL below)
diff --git a/backends/epoc/SymbianOS.cpp b/backends/epoc/SymbianOS.cpp
index 584a2b8018..8fb63bd42f 100644
--- a/backends/epoc/SymbianOS.cpp
+++ b/backends/epoc/SymbianOS.cpp
@@ -49,11 +49,11 @@ 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.set("joystick_num",0); // Symbian OS should have joystick_num set to 0 in the ini file , but uiq devices might refuse opening the joystick
ConfMan.flushToDisk();
// Initialize global key mapping for Smartphones
GUI::Actions* actions = GUI::Actions::Instance();
- actions->initInstanceMain(this);
+ actions->initInstanceMain(this);
actions->loadMapping();
initZones();
}
@@ -77,14 +77,14 @@ bool OSystem_SDL_Symbian::setGraphicsMode(const char *name) {
}
/*
- * SumthinWicked says: the stuff below is copied from common/scaler.cpp,
+ * 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.
*/
@@ -100,7 +100,7 @@ void Normal1x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPit
bool OSystem_SDL_Symbian::setSoundCallback(SoundProc proc, void *param) {
// First save the proc and param
- _sound_proc_param = param;
+ _sound_proc_param = param;
_sound_proc = proc;
SDL_AudioSpec desired;
SDL_AudioSpec obtained;
@@ -200,12 +200,12 @@ bool OSystem_SDL_Symbian::remapKey(SDL_Event &ev,Event &event)
{
if(!GUI::Actions::Instance()->mappingActive() && ev.key.keysym.sym>SDLK_UNKNOWN)
for(TInt loop=0;loop<GUI::ACTION_LAST;loop++){
- if(GUI::Actions::Instance()->getMapping(loop) ==ev.key.keysym.sym &&
+ if(GUI::Actions::Instance()->getMapping(loop) ==ev.key.keysym.sym &&
GUI::Actions::Instance()->isEnabled(loop)){
// Create proper event instead
switch(loop)
{
- case GUI::ACTION_UP:
+ case GUI::ACTION_UP:
if(ev.type == SDL_KEYDOWN)
{
_km.y_vel = -1;
@@ -218,7 +218,7 @@ bool OSystem_SDL_Symbian::remapKey(SDL_Event &ev,Event &event)
}
event.type = EVENT_MOUSEMOVE;
fillMouseEvent(event, _km.x, _km.y);
- return true;
+ return true;
case GUI::ACTION_DOWN:
if(ev.type == SDL_KEYDOWN)
{
@@ -232,7 +232,7 @@ bool OSystem_SDL_Symbian::remapKey(SDL_Event &ev,Event &event)
}
event.type = EVENT_MOUSEMOVE;
fillMouseEvent(event, _km.x, _km.y);
- return true;
+ return true;
case GUI::ACTION_LEFT:
if(ev.type == SDL_KEYDOWN)
{
@@ -272,8 +272,8 @@ bool OSystem_SDL_Symbian::remapKey(SDL_Event &ev,Event &event)
case GUI::ACTION_ZONE:
if(ev.type == SDL_KEYDOWN)
{
- int i;
-
+ int i;
+
for (i=0; i<TOTAL_ZONES; i++)
if (_km.x >= _zones[i].x && _km.y >= _zones[i].y &&
_km.x <= _zones[i].x + _zones[i].width && _km.y <= _zones[i].y + _zones[i].height
@@ -287,7 +287,7 @@ bool OSystem_SDL_Symbian::remapKey(SDL_Event &ev,Event &event)
_currentZone = 0;
event.type = EVENT_MOUSEMOVE;
fillMouseEvent(event, _mouseXZone[_currentZone],_mouseYZone[_currentZone]);
- SDL_WarpMouse(event.mouse.x,event.mouse.y);
+ SDL_WarpMouse(event.mouse.x,event.mouse.y);
}
return true;
case GUI::ACTION_SAVE:
@@ -301,7 +301,7 @@ bool OSystem_SDL_Symbian::remapKey(SDL_Event &ev,Event &event)
ev.key.keysym.scancode= key.keycode();
ev.key.keysym.mod =(SDLMod) key.flags();
return false;
- }
+ }
case GUI::ACTION_QUIT:{
GUI::MessageDialog alert("Do you want to quit ?", "Yes", "No");
if (alert.runModal() == GUI::kMessageOK)
diff --git a/backends/epoc/build/S80/EScummVM_080.pkg b/backends/epoc/build/S80/EScummVM_080.pkg
index 51cb3e394c..49821d9e42 100644
--- a/backends/epoc/build/S80/EScummVM_080.pkg
+++ b/backends/epoc/build/S80/EScummVM_080.pkg
@@ -6,26 +6,20 @@
;&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"
+#{"EScummVM S80"},(0x101f9b57),0,80,3
; 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"
+"\epoc32\release\armi\urel\EScummVMS80.app"-"!:\system\apps\EScummVMS80\EScummVMS80.app"
+"\epoc32\release\armi\urel\EScummVM.exe"-"!:\system\apps\EScummVMS80\EScummVM.exe"
; AIF application information file
-"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.aif"-"!:\system\apps\EScummVMS60\EScummVMS60.aif"
+"\epoc32\data\z\system\apps\EScummVMS80\EScummVMS80.aif"-"!:\system\apps\EScummVMS80\EScummVMS80.aif"
; Resource file
-"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.rsc"-"!:\system\apps\EScummVMS60\EScummVMS60.rsc"
+"\epoc32\data\z\system\apps\EScummVMS80\EScummVMS80.rsc"-"!:\system\apps\EScummVMS80\EScummVMS80.rsc"
; Empty .placeholder file, ensures creation of c:\documents\EScummVM\ for future file saves
-".placeholder"-"c:\documents\EScummVM\.placeholder"
+"..\.placeholder"-"c:\documents\EScummVM\.placeholder"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"c:\documents\EScummVM\scummvm.ini",FN
diff --git a/backends/epoc/build/S90/EScummVM_080.pkg b/backends/epoc/build/S90/EScummVM_080.pkg
index 51cb3e394c..49a01833d8 100644
--- a/backends/epoc/build/S90/EScummVM_080.pkg
+++ b/backends/epoc/build/S90/EScummVM_080.pkg
@@ -6,26 +6,20 @@
;&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"
+#{"EScummVM S90"},(0x101f9b57),0,80,3
; 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"
+"\epoc32\release\armi\urel\EScummVMS90.app"-"!:\system\apps\EScummVMS90\EScummVMS90.app"
+"\epoc32\release\armi\urel\EScummVM.exe"-"!:\system\apps\EScummVMS90\EScummVM.exe"
; AIF application information file
-"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.aif"-"!:\system\apps\EScummVMS60\EScummVMS60.aif"
+"\epoc32\data\z\system\apps\EScummVMS90\EScummVMS90.aif"-"!:\system\apps\EScummVMS90\EScummVMS90.aif"
; Resource file
-"\epoc32\data\z\system\apps\EScummVMS60\EScummVMS60.rsc"-"!:\system\apps\EScummVMS60\EScummVMS60.rsc"
+"\epoc32\data\z\system\apps\EScummVMS90\EScummVMS90.rsc"-"!:\system\apps\EScummVMS90\EScummVMS90.rsc"
; Empty .placeholder file, ensures creation of c:\documents\EScummVM\ for future file saves
-".placeholder"-"c:\documents\EScummVM\.placeholder"
+"..\.placeholder"-"c:\documents\EScummVM\.placeholder"
; Config/log files: 'empty' will automagically be removed on uninstall
""-"c:\documents\EScummVM\scummvm.ini",FN
diff --git a/backends/fs/symbian/symbian-fs.cpp b/backends/fs/symbian/symbian-fs.cpp
index cd2ee3b2dc..7c9273ce05 100644
--- a/backends/fs/symbian/symbian-fs.cpp
+++ b/backends/fs/symbian/symbian-fs.cpp
@@ -21,15 +21,11 @@
* $Header$
*/
-#if defined (__SYMBIAN32__)
+#if defined (__SYMBIAN32__)
#include "common/stdafx.h"
#include "../fs.h"
-//#include <sys/param.h>
-//#include <sys/stat.h>
#include <dirent.h>
-//#include <stdio.h>
-//#include <unistd.h>
#include <eikenv.h>
#include <f32file.h>
@@ -62,11 +58,11 @@ public:
static const char *lastPathComponent(const Common::String &str) {
const char *start = str.c_str();
const char *cur = start + str.size() - 2;
-
+
while (cur > start && *cur != '\\') {
--cur;
}
-
+
return cur+1;
}
@@ -88,7 +84,7 @@ SymbianFilesystemNode::SymbianFilesystemNode(bool aIsRoot) {
}
// SumthinWicked says: added next function myself, since it was not in 0.7.1.
-// might still be a little buggy, or simply the reason ScummVM can't run any
+// might still be a little buggy, or simply the reason ScummVM can't run any
// games on the phone yet :P
SymbianFilesystemNode::SymbianFilesystemNode(const String &path) {
if (path.size() == 0)
@@ -121,7 +117,7 @@ FSList SymbianFilesystemNode::listDir(ListMode mode) const {
CEikonEnv::Static()->FsSession().DriveList(drivelist);
for (int loop=0;loop<KMaxDrives;loop++) {
if(drivelist[loop]>0) {
- SymbianFilesystemNode entry(false);
+ SymbianFilesystemNode entry(false);
char drive_name[2];
drive_name[0] = loop+'A';
drive_name[1] = '\0';
@@ -149,17 +145,17 @@ FSList SymbianFilesystemNode::listDir(ListMode mode) const {
nameBuf.Copy(fileentry.iName);
SymbianFilesystemNode entry(false);
entry._isPseudoRoot = false;
-
+
entry._displayName =(char*)nameBuf.PtrZ();
entry._path = _path;
entry._path +=(char*)nameBuf.PtrZ();
entry._isDirectory = fileentry.IsDir();
-
+
// Honor the chosen mode
if ((mode == kListFilesOnly && entry._isDirectory) ||
(mode == kListDirectoriesOnly && !entry._isDirectory))
continue;
-
+
if (entry._isDirectory)
entry._path += "\\";
myList.push_back(wrap(new SymbianFilesystemNode(&entry)));