Added ogg and addon support for Symbian.

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3096 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
gewlitys
2008-10-18 17:35:09 +00:00
parent e90a064766
commit a8d9aeb24e
5 changed files with 56 additions and 19 deletions
+19 -10
View File
@@ -6,12 +6,11 @@ unclear. If you encounter any problems or have suggestions how to improve this
document, please report them to our Bugzilla at document, please report them to our Bugzilla at
http://bugs.uqm.stack.nl/ http://bugs.uqm.stack.nl/
UQM's Symbian support is currently at experimental stage and is tested only on UQM's Symbian support is currently at experimental stage. Development is
Nokia N73, which has too little memory to run it reliably for long time. being done on Nokia N73, which has too little memory for longer playing
Reports of successes and failures on other devices are very welcome. sessions. Reports of successes and failures on other devices are very welcome.
Known problems: Known problems:
- No OGG support so voices and 3DO music are not available.
- No netmelee. - No netmelee.
@@ -41,6 +40,9 @@ Prerequisites:
* Download from http://koti.mbnet.fi/mertama/sdl.html * Download from http://koti.mbnet.fi/mertama/sdl.html
* You also need the sources from http://www.libsdl.org/ * You also need the sources from http://www.libsdl.org/
- Tremor
* Check out from SVN repository at http://svn.xiph.org/trunk/Tremor/
Building: Building:
--------- ---------
@@ -51,7 +53,7 @@ Building:
2) Subst your Symbian SDK to a new drive along the following example: 2) Subst your Symbian SDK to a new drive along the following example:
subst z: C:\Symbian\9.1\S60_3rd_MR_2 subst z: C:\Symbian\9.1\S60_3rd_MR_2
3) Put UQM sources inside the substed drive, if not already there. 3) Put UQM sources and Tremor inside the substed drive, if not already there.
4) Install and build SDL, instructions are inside the package. 4) Install and build SDL, instructions are inside the package.
@@ -61,9 +63,16 @@ Building:
bldmake bldfiles bldmake bldfiles
abld build abld build
6) Open MSYS terminal. All following steps are done inside it. 6) Build Tremor. First apply a patch found from UQM SVN repository
at trunk/symbian/tremor:
cd Tremor
patch -p0 </path/to/tremor_symbian.patch
bldmake bldfiles
abld build
7) Two environment variables control the building, BUILD_EPOCROOT and BUILD_HOST. 7) Open MSYS terminal. All following steps are done inside it.
8) Two environment variables control the building, BUILD_EPOCROOT and BUILD_HOST.
Set BUILD_EPOCROOT to point to the substed drive: Set BUILD_EPOCROOT to point to the substed drive:
export BUILD_EPOCROOT=/z export BUILD_EPOCROOT=/z
@@ -72,14 +81,14 @@ Building:
for which target you want to build: for which target you want to build:
export BUILD_HOST=GCCE export BUILD_HOST=GCCE
8) Compile (you don't need to change any options from the interactive menu): 9) Compile (you don't need to change any options from the interactive menu):
./build.sh uqm ./build.sh uqm
9) Install. It builds the content zip and puts everything to proper 10) Install. It builds the content zip and puts everything to proper
place (WINSCW) or creates a self-signed SIS package (GCCE / ARMV5): place (WINSCW) or creates a self-signed SIS package (GCCE / ARMV5):
./build.sh uqm install ./build.sh uqm install
10) If you built for GCCE or ARMV5, you should now have uqm.sisx in the same 11) If you built for GCCE or ARMV5, you should now have uqm.sisx in the same
directory from where you did the build. Remember to also install SDL SIS directory from where you did the build. Remember to also install SDL SIS
package and if device does not support FP2, Open C plugins before package and if device does not support FP2, Open C plugins before
attempting to run UQM on actual device. attempting to run UQM on actual device.
+1 -1
View File
@@ -219,7 +219,7 @@ case "$HOST_SYSTEM" in
LIB_tremor_LDFLAGS="-framework Tremor" LIB_tremor_LDFLAGS="-framework Tremor"
;; ;;
ARMV5|WINSCW|GCCE) ARMV5|WINSCW|GCCE)
LIB_tremor_DETECT="false" LIB_tremor_DETECT="true"
;; ;;
*) *)
LIB_tremor_CFLAGS="" LIB_tremor_CFLAGS=""
+2 -2
View File
@@ -3,7 +3,7 @@ config.alwaysgl = no
config.sfxvol = 20 config.sfxvol = 20
config.iconicscan = no config.iconicscan = no
config.pulseshield = no config.pulseshield = no
config.3domusic = no config.3domusic = yes
config.smoothmelee = no config.smoothmelee = no
config.positionalsfx = no config.positionalsfx = no
config.resheight = 240 config.resheight = 240
@@ -20,7 +20,7 @@ config.subtitles = yes
config.3domovies = yes config.3domovies = yes
config.scanlines = no config.scanlines = no
config.showfps = no config.showfps = no
config.speechvol = 0 config.speechvol = 20
config.remixmusic = no config.remixmusic = no
config.smoothscroll = no config.smoothscroll = no
config.audioquality = low config.audioquality = low
+2
View File
@@ -33,6 +33,7 @@ LIBRARY eikcore.lib
LIBRARY ws32.lib LIBRARY ws32.lib
LIBRARY bafl.lib LIBRARY bafl.lib
LIBRARY euser.lib LIBRARY euser.lib
LIBRARY efsrv.lib
LIBRARY sdl.lib LIBRARY sdl.lib
LIBRARY libc.lib LIBRARY libc.lib
LIBRARY libm.lib LIBRARY libm.lib
@@ -41,3 +42,4 @@ LIBRARY libpthread.lib
STATICLIBRARY uqm.lib STATICLIBRARY uqm.lib
STATICLIBRARY SDL_image.lib STATICLIBRARY SDL_image.lib
STATICLIBRARY tremor.lib
+27 -1
View File
@@ -6,6 +6,7 @@
#include <aknnotewrappers.h> #include <aknnotewrappers.h>
#include <eikstart.h> #include <eikstart.h>
#include <badesca.h> #include <badesca.h>
#include <bautils.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <SDL/SDL_keysym.h> #include <SDL/SDL_keysym.h>
@@ -84,6 +85,7 @@ private:
void DoExit(TInt aErr); void DoExit(TInt aErr);
void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination); void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination);
void HandleResourceChangeL(TInt aType); void HandleResourceChangeL(TInt aType);
void AddCmdLineParamsL(CDesC8Array& aArgs);
private: private:
CExitWait* iWait; CExitWait* iWait;
CSDLWin* iSDLWin; CSDLWin* iSDLWin;
@@ -164,7 +166,9 @@ void CSdlAppUi::ConstructL()
iWait = new (ELeave) CExitWait(*this); iWait = new (ELeave) CExitWait(*this);
CDesC8ArrayFlat* args = new (ELeave)CDesC8ArrayFlat(10); CDesC8ArrayFlat* args = new (ELeave)CDesC8ArrayFlat(10);
iSdl->CallMainL(iWait->iStatus, *args, CSDL::ENoParamFlags, 81920); AddCmdLineParamsL(*args);
iSdl->CallMainL(iWait->iStatus, *args, CSDL::ENoFlags, 81920);
delete args; delete args;
iWait->Start(); iWait->Start();
@@ -218,6 +222,28 @@ void CSdlAppUi::HandleResourceChangeL(TInt aType)
} }
} }
void CSdlAppUi::AddCmdLineParamsL(CDesC8Array& aArgs)
{
_LIT8(KAddonParam, "--addondir=?:\\uqm-addons");
_LIT16(KTestFolder, "?:\\uqm-addons");
RFs fs;
fs.Connect();
for (TInt8 c = 'e'; c < 'z'; ++c)
{
TBuf16<32> buf(KTestFolder);
buf[0] = c;
if (BaflUtils::FolderExists(fs, buf))
{
TBuf8<32> arg(KAddonParam);
arg[11] = c;
aArgs.AppendL(arg);
break;
}
}
fs.Close();
}
CSdlAppUi::~CSdlAppUi() CSdlAppUi::~CSdlAppUi()
{ {
if(iWait != NULL) if(iWait != NULL)