Jump to content

Working port to Ios


Guest SyntaxError

Recommended Posts

Guest SyntaxError

I have just this minute successfully compiled GemRB for iPad. Hang tight while I try and get all the resource files into a place the ios simulator can get at them.

 

Proof:

gemrbios.png

Link to comment
Guest SyntaxError

Anybody want to help me get python to compile for iOS? It gets quite far into the configure script and fails with "cannot compute sizeof (int)"

 

here is the iOS python build script i am using:

python for iOS

 

This is the last thing (that i know of) that is needed for gemRB to actually run on iOS.

Link to comment
Guest SyntaxError

 

Thats the same thing as what i linked ;)

 

Anyhow, I still cant get that to build but I did a bad thing and included the python source directly into the project (so no libpython.a) and it worked!

 

Now some questions:

 

1. is the SDL video module required? it certainly sounds important :p the ONLY compile error i get is:

struct SDL_PixelFormat has no member named 'colorkey'

This seems like it could maybe be worked around. colorkey is only accessed on like 865 of sdl_video.cpp, any thoughts?

 

2. since the iOS doesnt like dynamic libraries I was just going to compile the requisite plugins into the binary this of course led to a duplicate gemrbplugin symbol upon linking (everycompiles fine once i removed SDL Video). My concern is that the plugin manager is doing more than simply loading code so im guessing it is not feasible to compile the plugins into the binary for this reason.

 

3. so assuming i must compile the plugins as shared objects does anybody have a guide on this for iphone? I know this is possible tho i may have to leave xcode for it. I also know that an iOS device wont load with dlopen unless the lib is signed; i dont know if this holds true for the simulator which is all I have nor do i know if jailbraking removes that requirement.

Link to comment
Guest SyntaxError
1. make sure you're building sdl 1.2, not later. SDL is crucial for gemrb.

2. I think if you order it to link statically it will bundle the plugins too.

 

Thanks ;)

 

1. I am building SDL 1.3 because its the only one that works with iOS... so this probably isnt going to work unless somebody is working on making gemRB SDL 1.3 compatible.

 

2. shall i assume this is the STATIC_LINK define? I did actually figure out how to build dynamicly loadable code for iOS (in xcode none the less) but the static link is probably best if in fact that solves the problem.

Link to comment
Guest SyntaxError

Sorry again for being so spammy.

 

I was able to statically link the plugins and compile and link against SDL 1.3 by patching just this one line of code:

 

ck = (( SDL_Surface * ) mask->vptr)->format->colorkey;

 

with this:

 

#if SDL_MAJOR_VERSION == 1 && SDL_MINOR_VERSION < 3
	ck = (( SDL_Surface * ) mask->vptr)->format->colorkey;
#else
	SDL_GetColorKey(( SDL_Surface * ) mask->vptr, (Uint32*)&ck);
#endif

 

Now GemRB will launch but crashes (presumably due to SDL 1.3???)

 

here is the run log:

 

GemRB Core Version v0.6.4 Loading...

[Core]: Initializing the Event Manager...[Core]: Initializing Lists Dictionary...[Core]: Initializing Variables Dictionary...[OK]

[Config]: Trying to open GemRB.cfg [NOT FOUND]

[Config]: Trying to open /Users/brada/Library/Application Support/iPhone Simulator/4.3/Applications/FB06F2B4-FC8E-42F9-B135-00C893CFC0E6/gemrb/GemRB iOS.cfg [NOT FOUND]

[Config]: Trying to open /GemRB/GemRB iOS.cfg [NOT FOUND]

[Config]: Trying to open /Users/brada/Library/Application Support/iPhone Simulator/4.3/Applications/FB06F2B4-FC8E-42F9-B135-00C893CFC0E6/gemrb/gemrb.cfg [OK]

[Core]: Starting Plugin Manager...

[PluginMgr]: Loading Plugins from /GemRB/plugins/

[PluginMgr]: Loading: /GemRB/plugins/2DAImporter.so... 2DA File Importer...[OK]

[PluginMgr]: Plug-in Registration Failed! Perhaps a duplicate? [sKIPPING]

[Core]: Plugin Loading Complete...[OK]

[Core]: GemRB Core Initialization...

[OK]

[Core]: Initializing Video Driver...[OK]

[Core]: Initializing Search Path...[OK]

[Core]: Initializing KEY Importer...[KEYImporter]: Opening /Users/brada/Library/Application Support/CrossOver/Bottles/winxp/drive_c/Program Files/Black Isle/BGII - SoA/chitin.key...[OK]

[KEYImporter]: Checking file type...[OK]

[KEYImporter]: Reading Resources...

[KEYImporter]: BIF Files Count: 182 (Starting at 24 Bytes)

[KEYImporter]: RES Count: 41793 (Starting at 5449 Bytes)

[KEYImporter]: Cannot find data/progtest.bif...[ERROR]

[KEYImporter]: Cannot find data/ProgTes2.bif...[ERROR]

[KEYImporter]: Cannot find data/DeSound.bif...[ERROR]

[KEYImporter]: Resources Loaded...[OK]

[OK]

[Core]: Initializing GUI Script Engine...[OK]

[Core]: Reading Game Options...

[ResourceManager]: Searching for gemrb.ini...[GemRB Override]

[Core]: Loading game type-specific GemRB setup...

/GemRB/override/bg2/gemrb.ini[OK]

[Core]: Creating Projectile Server...

[ResourceManager]: Searching for gemprjtl.ids...[GemRB Override]

[ResourceManager]: Searching for projectl.ids...[Override]

[Core]: Checking for Dialogue Manager...[OK]

[ResourceManager]: Searching for gender.2da...[GemRB Override]

[Core]: Loading Dialog.tlk file...[OK]

[Core]: Loading Palettes...

[ResourceManager]: Searching for MPALETTE... MPALETTE.bmp...[chitin.key]

[ResourceManager]: Searching for MPALETTE... MPALETTE.bmp...[chitin.key]

[ResourceManager]: Searching for MPAL256... MPAL256.bmp...[chitin.key]

[Core]: Palettes Loaded

[Core]: Initializing stock sounds...

[ResourceManager]: Searching for defsound.2da...[GemRB Override]

[OK]

[Core]: Broadcasting Event Manager...[OK]

[Core]: Initializing Window Manager...[OK]

[ResourceManager]: Searching for cursors.bam...[chitin.key]

[Core]: Loading Cursors...[OK]

[ResourceManager]: Searching for fogowar.bam...[chitin.key]

[Core]: Loading Fog-Of-War bitmaps...[OK]

[Core]: Loading Ground circle bitmaps...[OK]

[Core]: Loading Fonts...

[ResourceManager]: Searching for fonts.2da...[GemRB Override]

[ResourceManager]: Searching for NORMAL.bam...[chitin.key]

[ResourceManager]: Searching for FLOATTXT.bam...[chitin.key]

[ResourceManager]: Searching for NUMBER.bam...[chitin.key]

[ResourceManager]: Searching for INITIALS.bam...[chitin.key]

[ResourceManager]: Searching for NUMBER2.bam...[chitin.key]

[ResourceManager]: Searching for NUMBER3.bam...[chitin.key]

[ResourceManager]: Searching for REALMS.bam...[chitin.key]

[ResourceManager]: Searching for STONEBIG.bam...[chitin.key]

[ResourceManager]: Searching for STONESML.bam...[chitin.key]

[ResourceManager]: Searching for TOOLFONT.bam...[chitin.key]

[ResourceManager]: Searching for STONESM2.bam...[ERROR]

[ResourceManager]: Searching for TOOLTIP.bam...[chitin.key]

[ResourceManager]: Searching for STONSML.bam...[chitin.key]

[ResourceManager]: Searching for GAMETEXT.bam...[chitin.key]

[ResourceManager]: Searching for STATES.bam...[Override]

[ResourceManager]: Searching for STATES2.bam...[Override]

[Core]: Fonts Loaded...[OK]

[ResourceManager]: Searching for toolscrl.bam...[chitin.key]

[Core]: Initializing Tooltips...[OK]

[Core]: Setting up the Console...[ResourceManager]: Searching for carot.bam...[chitin.key]

[OK]

[Core]: Starting up the Sound Driver...AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved

[OpenAL]: Allocated 30 streams.[OK]

[Core]: Allocating SaveGameIterator...[OK]

[Core]: Initializing Token Dictionary...[OK]

[Core]: Initializing Music Manager...[OK]

[Core]: Loading music list...

[ResourceManager]: Searching for songlist.2da...[Override]

[OK]

[Core]: Bringing up the Global Timer...[OK]

[ResourceManager]: Searching for efftext.2da...[GemRB Override]

[ResourceManager]: Searching for effects.ids...[GemRB Override]

[Core]: Initializing effects...[OK]

[ResourceManager]: Searching for itemtype.2da...[GemRB Override]

[ResourceManager]: Searching for slottype.2da...[GemRB Override]

[Core]: Initializing Inventory Management...[OK]

[ResourceManager]: Searching for strings.2da...[GemRB Override]

[Core]: Initializing string constants...[OK]

[ResourceManager]: Searching for randitem.2da...[GemRB Override]

[ResourceManager]: Searching for rndwep.2da...[chitin.key]

[ResourceManager]: Searching for rndtreas.2da...[chitin.key]

[ResourceManager]: Searching for rndscrol.2da...[chitin.key]

[ResourceManager]: Searching for rndmagic.2da...[chitin.key]

[ResourceManager]: Searching for rndequip.2da...[chitin.key]

[Core]: Initializing random treasure...[OK]

[ResourceManager]: Searching for strmod.2da...[chitin.key]

[ResourceManager]: Searching for strmodex.2da...[chitin.key]

[ResourceManager]: Searching for intmod.2da...[chitin.key]

[ResourceManager]: Searching for hpconbon.2da...[chitin.key]

[ResourceManager]: Searching for lorebon.2da...[chitin.key]

[ResourceManager]: Searching for dexmod.2da...[chitin.key]

[ResourceManager]: Searching for chrmodst.2da...[chitin.key]

[Core]: Initializing ability tables...[OK]

[ResourceManager]: Searching for reputati.2da...[chitin.key]

[Core]: Reading reputation mod table...[OK]

[ResourceManager]: Searching for WMAPLAY.2da...[NOT FOUND]

[ResourceManager]: Searching for gametime.2da...[GemRB Override]

[Core]: Reading game time table...[OK]

[ResourceManager]: Searching for splspec.2da...[GemRB Override]

[ResourceManager]: Searching for wildmag.2da...[GemRB Override]

[Core]: Reading special spells table...[OK]

[ResourceManager]: Searching for itemexcl.2da...[Override]

[ResourceManager]: Searching for itemdial.2da...[chitin.key]

[ResourceManager]: Searching for tooltip.2da...[Override]

[Core]: Reading item tables...[OK]

[ResourceManager]: Searching for dmgtypes.2da...[shared GemRB Override]

[ResourceManager]: Searching for stats.ids...[shared GemRB Override]

[Core]: Reading damage type table...[OK]

[ResourceManager]: Searching for modal.2da...[GemRB Override]

[Core]: Reading modal states table...[OK]

[Core]: Reading game script tables...[ResourceManager]: Searching for happy.2da...[chitin.key]

[ResourceManager]: Searching for rmodrep.2da...[chitin.key]

[ResourceManager]: Searching for rmodchr.2da...[chitin.key]

[ResourceManager]: Searching for trigger.ids...[Override]

[ResourceManager]: Searching for action.ids...[Override]

[ResourceManager]: Searching for object.ids...[Override]

[ResourceManager]: Searching for gemact.ids...[shared GemRB Override]

[ResourceManager]: Searching for script.2da...[GemRB Override]

[GameScript]: Couldn't assign function to trigger: 151 summoned

[GameScript]: Couldn't assign function to trigger: 85 reset

[GameScript]: Couldn't assign function to trigger: 84 detected

[GameScript]: Couldn't assign function to trigger: 75 killed

[GameScript]: Couldn't assign function to trigger: 7 said

[GameScript]: bashdoor(o:object) overrides existing action 148 bashdoor

[GameScript]: Couldn't assign function to action: 319 forcespellpointrangeres

[GameScript]: Couldn't assign function to action: 318 forcespellrangeres

[GameScript]: Couldn't assign function to action: 319 forcespellpointrange

[GameScript]: Couldn't assign function to action: 318 forcespellrange

[GameScript]: Couldn't assign function to action: 305 deathmatchpositionlocal

[GameScript]: Couldn't assign function to action: 304 deathmatchpositionarea

[GameScript]: Couldn't assign function to action: 303 deathmatchpositionglobal

[GameScript]: Couldn't assign function to action: 217 removefamiliar

[GameScript]: Couldn't assign function to action: 216 addfamiliar

[GameScript]: Couldn't assign function to action: 183 multiplayersync

[GameScript]: Couldn't assign function to action: 94 groupattack

[GameScript]: Couldn't assign function to action: 81 nidspecial12

[GameScript]: Couldn't assign function to action: 80 nidspecial11

[GameScript]: Couldn't assign function to action: 79 nidspecial10

[GameScript]: Couldn't assign function to action: 77 nidspecial8

[GameScript]: Couldn't assign function to action: 37 followpath

[GameScript]: Couldn't assign function to action: 20 layhands

[ResourceManager]: Searching for instant.ids...[Override]

[GameScript]: instant action 217 (removefamiliar()) doesn't exist, ignoring

[GameScript]: instant action 216 (addfamiliar()) doesn't exist, ignoring

[GameScript]: instant action 1 (actionoverride(o:actor*,a:action*)) doesn't exist, ignoring

[OK]

[Core]: Core Initialization Complete!

[sDLVideo]: Creating display

[sDLVideo]: SDL_SetVideoMode...[OK]

[sDLVideo]: Checking for HardWare Acceleration...[OK]

[sDLVideo]: Creating Main Surface...[OK]

[sDLVideo]: Creating Back Buffer...[OK]

[sDLVideo]: Creating Extra Buffer...[OK]

[sDLVideo]: CreateDisplay...[OK]

[GUIScript]: Loading Script Start...

[ResourceManager]: Searching for classes.2da...[GemRB Override]

[ResourceManager]: Searching for kitlist.2da...[chitin.key]

[ResourceManager]: Searching for clskills.2da...[GemRB Override]

[ResourceManager]: Searching for races.2da...[GemRB Override]

[ResourceManager]: Searching for xplevel.2da...[Override]

[ResourceManager]: Searching for pdolls.2da...[GemRB Override]

[ResourceManager]: Searching for strmod.2da...[chitin.key]

[ResourceManager]: Searching for strmodex.2da...[chitin.key]

[OK]

[ResourceManager]: Searching for BISLOGO... BISLOGO.mve...[chitin.key]

 

and the crash log

 

Exception Type: EXC_BAD_ACCESS (SIGBUS)

Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000004

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

 

Application Specific Information:

iPhone Simulator 238.2, iPhone OS 4.3 (iPad/8F192)

iPhone Simulator 238.2, iPhone OS 4.3 (iPad/8F192)

 

 

Thread 0 Crashed: Dispatch queue: com.apple.main-thread

0 GemRB iOS 0x003923f1 SDLVideoDriver::showFrame(unsigned char*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, int, unsigned char*, unsigned int) + 267 (SDLVideo.cpp:2425)

1 GemRB iOS 0x0018eb91 MVEPlay::showFrame(unsigned char*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 309 (MVEPlayer.cpp:146)

2 GemRB iOS 0x0018de32 MVEPlayer::segment_video_play() + 246 (mve_player.cpp:410)

3 GemRB iOS 0x0018e3ac MVEPlayer::process_segment(unsigned short, unsigned char, unsigned char) + 386 (mve_player.cpp:226)

4 GemRB iOS 0x0018e512 MVEPlayer::process_chunk() + 318 (mve_player.cpp:172)

5 GemRB iOS 0x0018e5b1 MVEPlayer::next_frame() + 67 (mve_player.cpp:121)

6 GemRB iOS 0x0018eedd MVEPlay::doPlay() + 311 (MVEPlayer.cpp:113)

7 GemRB iOS 0x0018ef9f MVEPlay::Play() + 59 (MVEPlayer.cpp:87)

8 GemRB iOS 0x0004076f Interface::PlayMovie(char const*) + 1033 (Interface.cpp:3655)

9 GemRB iOS 0x00171878 GemRB_PlayMovie(_object*, _object*) + 179 (GUIScript.cpp:3901)

10 GemRB iOS 0x002c829f PyCFunction_Call + 165 (methodobject.c:81)

11 GemRB iOS 0x0033c3a7 call_function + 1300 (ceval.c:4012)

12 GemRB iOS 0x00338ab9 PyEval_EvalFrameEx + 24788 (ceval.c:2665)

13 GemRB iOS 0x0033a615 PyEval_EvalCodeEx + 3021 (ceval.c:3252)

14 GemRB iOS 0x002b17be function_call + 408 (funcobject.c:526)

15 GemRB iOS 0x0027602b PyObject_Call + 124 (abstract.c:2522)

16 GemRB iOS 0x0033bc57 PyEval_CallObjectWithKeywords + 248 (ceval.c:3881)

17 GemRB iOS 0x00275fad PyObject_CallObject + 32 (abstract.c:2511)

18 GemRB iOS 0x0015c159 GUIScript::RunFunction(char const*, char const*, bool, int) + 415 (GUIScript.cpp:10596)

19 GemRB iOS 0x0004b5b0 Interface::HandleFlags() + 614 (Interface.cpp:660)

20 GemRB iOS 0x0004b8b0 Interface::Main() + 760 (Interface.cpp:1115)

21 GemRB iOS 0x00009a74 SDL_main + 242 (GemRB.cpp:68)

22 GemRB iOS 0x0041d270 -[sDLUIKitDelegate postFinishLaunch] + 39 (SDL_uikitappdelegate.m:80)

23 Foundation 0x008ab79e __NSFireDelayedPerform + 441

24 CoreFoundation 0x01a768c3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19

25 CoreFoundation 0x01a77e74 __CFRunLoopDoTimer + 1220

26 CoreFoundation 0x019d42c9 __CFRunLoopRun + 1817

27 CoreFoundation 0x019d3840 CFRunLoopRunSpecific + 208

28 CoreFoundation 0x019d3761 CFRunLoopRunInMode + 97

29 GraphicsServices 0x023ec1c4 GSEventRunModal + 217

30 GraphicsServices 0x023ec289 GSEventRun + 115

31 UIKit 0x00b3ac93 UIApplicationMain + 1160

32 GemRB iOS 0x0041d532 main + 252 (SDL_uikitappdelegate.m:54)

33 GemRB iOS 0x00009979 start + 53

 

Thread 1:

0 libSystem.B.dylib 0x9434a9b2 __workq_kernreturn + 10

1 libSystem.B.dylib 0x9434af48 _pthread_wqthread + 941

2 libSystem.B.dylib 0x9434ab66 start_wqthread + 30

 

Thread 2:

0 libSystem.B.dylib 0x9434b922 kevent + 10

1 libdispatch_sim.dylib 0x022f8f36 _dispatch_mgr_invoke + 237

2 libdispatch_sim.dylib 0x022f9333 _dispatch_queue_invoke + 162

3 libdispatch_sim.dylib 0x022f9593 _dispatch_worker_thread2 + 261

4 libSystem.B.dylib 0x9434ad21 _pthread_wqthread + 390

5 libSystem.B.dylib 0x9434ab66 start_wqthread + 30

 

Thread 3: WebThread

0 libSystem.B.dylib 0x9432509a mach_msg_trap + 10

1 libSystem.B.dylib 0x94325807 mach_msg + 68

2 CoreFoundation 0x01a76d86 __CFRunLoopServiceMachPort + 150

3 CoreFoundation 0x019d3e74 __CFRunLoopRun + 708

4 CoreFoundation 0x019d3840 CFRunLoopRunSpecific + 208

5 CoreFoundation 0x019d3761 CFRunLoopRunInMode + 97

6 WebCore 0x03479913 RunWebThread(void*) + 499

7 libSystem.B.dylib 0x943527fd _pthread_start + 345

8 libSystem.B.dylib 0x94352682 thread_start + 34

 

Thread 4:

0 libSystem.B.dylib 0x9434a9b2 __workq_kernreturn + 10

1 libSystem.B.dylib 0x9434af48 _pthread_wqthread + 941

2 libSystem.B.dylib 0x9434ab66 start_wqthread + 30

 

Thread 5: Dispatch queue: com.apple.libdispatch-manager

0 libSystem.B.dylib 0x9434b922 kevent + 10

1 libSystem.B.dylib 0x9434c03c _dispatch_mgr_invoke + 215

2 libSystem.B.dylib 0x9434b4f9 _dispatch_queue_invoke + 163

3 libSystem.B.dylib 0x9434b29e _dispatch_worker_thread2 + 240

4 libSystem.B.dylib 0x9434ad21 _pthread_wqthread + 390

5 libSystem.B.dylib 0x9434ab66 start_wqthread + 30

 

Thread 6:

0 libSystem.B.dylib 0x9432509a mach_msg_trap + 10

1 libSystem.B.dylib 0x94325807 mach_msg + 68

2 CoreFoundation 0x01a76d86 __CFRunLoopServiceMachPort + 150

3 CoreFoundation 0x019d3e74 __CFRunLoopRun + 708

4 CoreFoundation 0x019d3840 CFRunLoopRunSpecific + 208

5 CoreFoundation 0x019d3761 CFRunLoopRunInMode + 97

6 CoreAudio 0x016f9f15 HALRunLoop::OwnThread(void*) + 157

7 CoreAudio 0x016e4e7e CAPThread::Entry(CAPThread*) + 104

8 libSystem.B.dylib 0x943527fd _pthread_start + 345

9 libSystem.B.dylib 0x94352682 thread_start + 34

 

Thread 7: AURemoteIO::IOThread

0 libSystem.B.dylib 0x9432509a mach_msg_trap + 10

1 libSystem.B.dylib 0x94325807 mach_msg + 68

2 AudioToolbox 0x0186a82e AURemoteIO::IOThread::Run() + 238

3 AudioToolbox 0x0186f8e1 AURemoteIO::IOThread::Entry(void*) + 17

4 AudioToolbox 0x01777972 CAPThread::Entry(CAPThread*) + 130

5 libSystem.B.dylib 0x943527fd _pthread_start + 345

6 libSystem.B.dylib 0x94352682 thread_start + 34

 

Thread 8:

0 libSystem.B.dylib 0x943250fa semaphore_timedwait_signal_trap + 10

1 libSystem.B.dylib 0x94352c85 _pthread_cond_wait + 1066

2 libSystem.B.dylib 0x94381aa8 pthread_cond_timedwait_relative_np + 47

3 CoreAudio 0x016e4dc5 CAGuard::WaitFor(unsigned long long) + 219

4 CoreAudio 0x016e70c0 CAGuard::WaitUntil(unsigned long long) + 70

5 CoreAudio 0x016e539c HP_IOThread::WorkLoop() + 1072

6 CoreAudio 0x016e4f67 HP_IOThread::ThreadEntry(HP_IOThread*) + 17

7 CoreAudio 0x016e4e7e CAPThread::Entry(CAPThread*) + 104

8 libSystem.B.dylib 0x943527fd _pthread_start + 345

9 libSystem.B.dylib 0x94352682 thread_start + 34

 

Thread 9:

0 libSystem.B.dylib 0x94353046 __semwait_signal + 10

1 libSystem.B.dylib 0x9437eec5 nanosleep$UNIX2003 + 188

2 GemRB iOS 0x003c0308 SDL_Delay + 84 (SDL_systimer.c:158)

3 GemRB iOS 0x00196849 OpenALAudioDriver::MusicManager(void*) + 49 (OpenALAudio.cpp:786)

4 GemRB iOS 0x003e8bd9 SDL_RunThread + 61 (SDL_thread.c:214)

5 GemRB iOS 0x003e8888 RunThread + 17 (SDL_systhread.c:46)

6 libSystem.B.dylib 0x943527fd _pthread_start + 345

7 libSystem.B.dylib 0x94352682 thread_start + 34

 

Thread 10:

0 libSystem.B.dylib 0x94353046 __semwait_signal + 10

1 libSystem.B.dylib 0x94352d02 _pthread_cond_wait + 1191

2 libSystem.B.dylib 0x94354998 pthread_cond_wait$UNIX2003 + 73

3 libCVMSPluginSupport.dylib 0x049958f1 cvmDoWork + 72

4 libSystem.B.dylib 0x943527fd _pthread_start + 345

5 libSystem.B.dylib 0x94352682 thread_start + 34

 

Thread 0 crashed with X86 Thread State (32-bit):

eax: 0x00000000 ebx: 0x003922f2 ecx: 0x00441d98 edx: 0xa04804c0

edi: 0x00000280 esi: 0x0583f200 ebp: 0xbfffd5c8 esp: 0xbfffd550

ss: 0x0000001f efl: 0x00010293 eip: 0x003923f1 cs: 0x00000017

ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037

cr2: 0x00000004

Link to comment
Guest SyntaxError

Yes, Avenger you were correct on both accounts.

 

I inserted a check for NULL and now it doesnt crash. Obviously there is no video (sound does work).

 

I must research why this is NULL. any ideas on where to start?

 

here is a screenshot of the BG2+TOB menu as more proof is anybody doubted my authenticity:

gemrbscreengrab.png

Link to comment
Guest SyntaxError

Ok. reading up on SDL found i can get the last sdl error with SDL_GetError and this is the error "Unknown pixel format"

 

oddly if I force true color the movie playes (obviously the colors are all wrong), but it tiles into 4 which makes sense i suppose but what doesnt make sense is that without true color i get the unknown pixel format but with i get a sprite.

Link to comment
Ok. reading up on SDL found i can get the last sdl error with SDL_GetError and this is the error "Unknown pixel format"

 

oddly if I force true color the movie playes (obviously the colors are all wrong), but it tiles into 4 which makes sense i suppose but what doesnt make sense is that without true color i get the unknown pixel format but with i get a sprite.

 

Change the second sprite creation to this:

 

sprite = SDL_CreateRGBSurfaceFrom( buf, bufw, bufh, 8, bufw, 0, 0, 0, 0 );

 

Or get the latest git head.

Link to comment
Guest SyntaxError

Avenger you are the man! is that code sdl 1.2 compatible or do i have to wrap it in preprocessor checks?

 

Should i just get the latest git version to see if that fixes my next problem and any others?

 

gemrbipadproblem.png

 

as you can see from that image there are 2 issues. 1 is that the background and button sprites arent being drawn. Maybe if i search the code for calls to sdl sprite functions and make similar changes to the fix for video.

 

the other issue is that the "canvas" isnt being cleared before being redrawn.

Link to comment
Guest SyntaxError

Indeed I was able to fix those issue by changing the RGB masks to the remaining SDL calls! Awesome!

 

without further ado I give you gemRB for iPad:

 

gemrbforipad.png

 

Thank you so much to avenger and lynx and anybody else that helped me do this! ;)

Link to comment
You so need to register, and properly receive the accolades :p

 

Indeed. If I am to keep pestering people for help i ought to have an account they can lock to shut me up ;)

 

1. There is still some work to do to get it upto speed. Right now there is no text input capabilities (and i've no idea how to get a notification that text input is needed) so there is no way to start a game; you can however load and play a game just fine.

 

2. The rgb masks are screwy and so the colors are off. Tho I'm told that somebody else will be fixing these since it is an SDL 1.3 issue and not an iOS one. (iOS requires SDL 1.3)

 

3. I cant seem to get landscape to work. all my efforts have produced something like this:

gemrblandscape.png

 

4. I assume there is yet more ios specific issues, but I haven't played enough to even get into battle. I have solved 2 ios specific crashes so far without even venturing out of the starting room.

 

Does the android build do landscape and virtual keyboard? I should have a peek and see what they have done.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...