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
+21 -12
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
http://bugs.uqm.stack.nl/
UQM's Symbian support is currently at experimental stage and is tested only on
Nokia N73, which has too little memory to run it reliably for long time.
Reports of successes and failures on other devices are very welcome.
UQM's Symbian support is currently at experimental stage. Development is
being done on Nokia N73, which has too little memory for longer playing
sessions. Reports of successes and failures on other devices are very welcome.
Known problems:
- No OGG support so voices and 3DO music are not available.
- No netmelee.
@@ -41,6 +40,9 @@ Prerequisites:
* Download from http://koti.mbnet.fi/mertama/sdl.html
* You also need the sources from http://www.libsdl.org/
- Tremor
* Check out from SVN repository at http://svn.xiph.org/trunk/Tremor/
Building:
---------
@@ -51,7 +53,7 @@ Building:
2) Subst your Symbian SDK to a new drive along the following example:
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.
@@ -61,9 +63,16 @@ Building:
bldmake bldfiles
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:
export BUILD_EPOCROOT=/z
@@ -72,14 +81,14 @@ Building:
for which target you want to build:
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
9) Install. It builds the content zip and puts everything to proper
place (WINSCW) or creates a self-signed SIS package (GCCE / ARMV5):
./build.sh uqm install
10) Install. It builds the content zip and puts everything to proper
place (WINSCW) or creates a self-signed SIS package (GCCE / ARMV5):
./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
package and if device does not support FP2, Open C plugins before
attempting to run UQM on actual device.
+1 -1
View File
@@ -219,7 +219,7 @@ case "$HOST_SYSTEM" in
LIB_tremor_LDFLAGS="-framework Tremor"
;;
ARMV5|WINSCW|GCCE)
LIB_tremor_DETECT="false"
LIB_tremor_DETECT="true"
;;
*)
LIB_tremor_CFLAGS=""
+2 -2
View File
@@ -3,7 +3,7 @@ config.alwaysgl = no
config.sfxvol = 20
config.iconicscan = no
config.pulseshield = no
config.3domusic = no
config.3domusic = yes
config.smoothmelee = no
config.positionalsfx = no
config.resheight = 240
@@ -20,7 +20,7 @@ config.subtitles = yes
config.3domovies = yes
config.scanlines = no
config.showfps = no
config.speechvol = 0
config.speechvol = 20
config.remixmusic = no
config.smoothscroll = no
config.audioquality = low
+2
View File
@@ -33,6 +33,7 @@ LIBRARY eikcore.lib
LIBRARY ws32.lib
LIBRARY bafl.lib
LIBRARY euser.lib
LIBRARY efsrv.lib
LIBRARY sdl.lib
LIBRARY libc.lib
LIBRARY libm.lib
@@ -41,3 +42,4 @@ LIBRARY libpthread.lib
STATICLIBRARY uqm.lib
STATICLIBRARY SDL_image.lib
STATICLIBRARY tremor.lib
+27 -1
View File
@@ -6,6 +6,7 @@
#include <aknnotewrappers.h>
#include <eikstart.h>
#include <badesca.h>
#include <bautils.h>
#include <stdio.h>
#include <stdlib.h>
#include <SDL/SDL_keysym.h>
@@ -84,6 +85,7 @@ private:
void DoExit(TInt aErr);
void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination);
void HandleResourceChangeL(TInt aType);
void AddCmdLineParamsL(CDesC8Array& aArgs);
private:
CExitWait* iWait;
CSDLWin* iSDLWin;
@@ -164,7 +166,9 @@ void CSdlAppUi::ConstructL()
iWait = new (ELeave) CExitWait(*this);
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;
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()
{
if(iWait != NULL)