From: <gew...@us...> - 2008-10-18 17:35:15
|
Revision: 3096 http://sc2.svn.sourceforge.net/sc2/?rev=3096&view=rev Author: gewlitys Date: 2008-10-18 17:35:09 +0000 (Sat, 18 Oct 2008) Log Message: ----------- Added ogg and addon support for Symbian. Modified Paths: -------------- trunk/sc2/INSTALL.symbian trunk/sc2/build/unix/config_proginfo_host trunk/sc2/src/symbian/uqm.cfg trunk/sc2/src/symbian/uqm.mmp trunk/sc2/src/symbian/uqmapp.cpp Modified: trunk/sc2/INSTALL.symbian =================================================================== --- trunk/sc2/INSTALL.symbian 2008-10-18 17:28:22 UTC (rev 3095) +++ trunk/sc2/INSTALL.symbian 2008-10-18 17:35:09 UTC (rev 3096) @@ -6,12 +6,11 @@ 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. @@ -40,6 +39,9 @@ - SDL for S60 3rd ed. * 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 @@ 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. @@ -60,10 +62,17 @@ cd png\group bldmake bldfiles abld build + +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 -6) Open MSYS terminal. All following steps are done inside it. +7) Open MSYS terminal. All following steps are done inside it. -7) Two environment variables control the building, BUILD_EPOCROOT and BUILD_HOST. +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 @@ 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. Modified: trunk/sc2/build/unix/config_proginfo_host =================================================================== --- trunk/sc2/build/unix/config_proginfo_host 2008-10-18 17:28:22 UTC (rev 3095) +++ trunk/sc2/build/unix/config_proginfo_host 2008-10-18 17:35:09 UTC (rev 3096) @@ -219,7 +219,7 @@ LIB_tremor_LDFLAGS="-framework Tremor" ;; ARMV5|WINSCW|GCCE) - LIB_tremor_DETECT="false" + LIB_tremor_DETECT="true" ;; *) LIB_tremor_CFLAGS="" Modified: trunk/sc2/src/symbian/uqm.cfg =================================================================== --- trunk/sc2/src/symbian/uqm.cfg 2008-10-18 17:28:22 UTC (rev 3095) +++ trunk/sc2/src/symbian/uqm.cfg 2008-10-18 17:35:09 UTC (rev 3096) @@ -3,7 +3,7 @@ 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.3domovies = yes config.scanlines = no config.showfps = no -config.speechvol = 0 +config.speechvol = 20 config.remixmusic = no config.smoothscroll = no config.audioquality = low Modified: trunk/sc2/src/symbian/uqm.mmp =================================================================== --- trunk/sc2/src/symbian/uqm.mmp 2008-10-18 17:28:22 UTC (rev 3095) +++ trunk/sc2/src/symbian/uqm.mmp 2008-10-18 17:35:09 UTC (rev 3096) @@ -33,11 +33,13 @@ LIBRARY ws32.lib LIBRARY bafl.lib LIBRARY euser.lib +LIBRARY efsrv.lib LIBRARY sdl.lib LIBRARY libc.lib LIBRARY libm.lib LIBRARY libz.lib -LIBRARY libpthread.lib +LIBRARY libpthread.lib STATICLIBRARY uqm.lib STATICLIBRARY SDL_image.lib +STATICLIBRARY tremor.lib Modified: trunk/sc2/src/symbian/uqmapp.cpp =================================================================== --- trunk/sc2/src/symbian/uqmapp.cpp 2008-10-18 17:28:22 UTC (rev 3095) +++ trunk/sc2/src/symbian/uqmapp.cpp 2008-10-18 17:35:09 UTC (rev 3096) @@ -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 @@ void DoExit(TInt aErr); void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination); void HandleResourceChangeL(TInt aType); + void AddCmdLineParamsL(CDesC8Array& aArgs); private: CExitWait* iWait; CSDLWin* iSDLWin; @@ -163,8 +165,10 @@ iSdl->DisableKeyBlocking(*this); iWait = new (ELeave) CExitWait(*this); - CDesC8ArrayFlat* args = new (ELeave)CDesC8ArrayFlat(10); - iSdl->CallMainL(iWait->iStatus, *args, CSDL::ENoParamFlags, 81920); + CDesC8ArrayFlat* args = new (ELeave)CDesC8ArrayFlat(10); + AddCmdLineParamsL(*args); + + iSdl->CallMainL(iWait->iStatus, *args, CSDL::ENoFlags, 81920); delete args; iWait->Start(); @@ -217,7 +221,29 @@ } } } - + +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) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |