Adventure Game Studio

AGS Development => Engine Development => Topic started by: JJS on Sun 13/05/2012 16:41:09

Title: AGS engine iOS port
Post by: JJS on Sun 13/05/2012 16:41:09
I just uploaded an initial port of the AGS runtime to iOS (for jailbroken devices only at the moment).

Installation:
Add my repository to Cydia: http://jjs.at/cydia
You can then download the engine, midi patches and a test game (just a default "new game") if you want to see Roger walking around on your iDevice.

You can also get a build of the engine as an IPA file from here: http://jjs.at/daily . This will probably be updated more often than the Cydia repo, but there is no guarantee that every version found there will work.

At the moment only a single game can be played. It has to be placed into "/var/mobile/Documents/ags/game/". The main game file has to be named "ac2game.dat". The game folder must have write permissions for a standard user.

A file "ios.cfg" can be placed into "/var/mobile/Documents/ags/" to configure the engine, e.g. change the mouse control method or switch the renderer. There is no ingame way to change settings yet. The file has the same options as the Android configuration file.


Controls:
- The mouse cursor moves to where you touch down on the screen
- A short tap issues a left click
- A longer press (0.7 - 1.5 s) keeps the left mouse button pressed (for dragging things and verbcoin GUIs)
- A long press (> 1.5 s) opens/closes the onscreen keyboard (includes F1-F12 and ESC)
- Right clicking is performed with a two-finger tap

What does work:
- AGS games with version >= 2.50
- Sound and midi playback (download the patches for that)
- Accelerated theora video playback
- Software and hardware OpenGL rendering
- Snow/Rain, Flashlight and AGSBlend plugins are built into the engine (this is important in case the engine goes into the app store because its policy forbids loading external libraries)


What does not work:
- There is no way to press the ESC or F1-F12 keys -> now included in the onscreen keyboard
- Only one game can be played
- No ingame menu or settings


The source code is as always on gitorious: https://github.com/adventuregamestudio
It contains an Xcode 3.2.6 project. The custom build step is for fake-signing the package so that it can be debugged through the IDE. You have to change that to accomodate your setup.


I have only tested on the simulator and on an iPod touch 4g with a jailbroken iOS 4.3.3. Performance on that is about as good as on my Android HTC Desire (maybe a little faster).
Title: Re: AGS engine iOS port
Post by: AJA on Sun 13/05/2012 21:01:30
Wow, great work! Worked really nicely on my iPod Touch 2g, iOS 4.2.1. I tried out a couple of my games:

- How Many (http://www.serpentpictures.net/games/how_many.rar): FadeOuts didn't seem to go all the way to black. Pixel hunting was a bitch. Performance was very good.

- By the Numbers (http://www.serpentpictures.net/games/ByTheNumbers.rar): Crashed once at the very beginning when I turned the screen to horizontal mode. Everything is out of sync since the framerate is only 20 fps. Talking heads run at about 15 fps, making what little there is of the game totally not fun to play. Raw drawing stuff seems to be working correctly, though. File access and 8bit colours, too.

- Barrier (http://www.serpentpictures.net/games/Barrier.rar): 640x400 @32bit and with some big damn objects, runs even slower, at about 13-15 fps. A big full screen iris in/out animation dropped the framerate to about 6 fps. Other than that it worked great all the way through.


Very very awesome, JJS!
Title: Re: AGS engine iOS port
Post by: Igor Hardy on Sun 13/05/2012 22:28:08
Wow, that's awesome. I don't have an Android device to test my games on, but running them on my iPhone would be amazing.
Title: Re: AGS engine iOS port
Post by: Joseph DiPerla on Mon 14/05/2012 01:03:41
Wow. I do not own an iPhone, but I am still psyched that you got a port over to it though. AMAZING. OK honestly, what else are you going to try to port AGS to next JJS? You seem to be incredible at this. I would suggest a Dingoo A320. But thats just me. :)
Title: Re: AGS engine iOS port
Post by: uswin on Mon 14/05/2012 03:22:57
omg omg omg omg, this is sick, JJS, you are GOD  :-D :grin:

AGS community surely does have a good future starting from this.

Please consider a donate button on the project man or maybe a kick-starter campaign perhaps, no push though, its up to you.

Brilliant jobs jjs.
Title: Re: AGS engine iOS port
Post by: JJS on Tue 15/05/2012 09:48:25
Thanks guys!  :-*

Unfortunately the hardware of the iPhones < 3GS and iPod < 4g (or < 16 GB 3g) is pretty low spec, comparable to first generation Android devices I'd say. So performance is not that great.

Porting to a new platform actually gets easier every time. The starting point was already good with the Linux port in the original engine, then a lot of drawing issues got tackled on the PSP. All touch related issues basically are solved through the Android version. Therefore iOS was probably the easiest port to date. As for what's next? I think I am done platform-wise (unless someone donates me a PS3).
Title: Re: AGS engine iOS port
Post by: QuestingHero on Tue 15/05/2012 16:58:26
Just tried out Quest for Glory 2 ASG remake on my iPad2, and it ran great. been playing Qfg2 on my HTC Evo 3D and now I have options. Thank you so much JJS for all your hard work.
Title: Re: AGS engine iOS port
Post by: Dave Gilbert on Tue 15/05/2012 20:12:58
Well holy crap!

This is something that Janet and I were going to tackle after we released Resonance next month, but it looks like you beat us to it! We'll definitely be picking your brain about this.
Title: Re: AGS engine iOS port
Post by: subspark on Wed 16/05/2012 06:42:52
I knew you'd deliver the goods here my friend. Nice going. You are pioneer of multiplatformobility here!

Kudos and congratulations.  :wink:
Title: Re: AGS engine iOS port
Post by: JJS on Fri 18/05/2012 07:58:42
Update time!

- Added F1-12 and ESC key to the keyboard
- Loading indicator now stays centered when turning the device
- Mouse works correctly with the hardware renderer


Known issues:
- There is a race condition when turning the phone which can cause the screen to freeze
- Going to the desktop can cause the game to terminate (also a race condition)

Plans:
- Move the game screen upwards when bringing up the keyboard in portrait mode so that it is fully visible
- Menu for choosing games (if I can figure out how to change views :-\)
- Settings, either rolling my own or integrated into the system settings


The update should show up in Cydia.
Title: Re: AGS engine iOS port
Post by: JJS on Sun 20/05/2012 10:44:47
Another update...

The game screen now moves out of the way when the keyboard is shown in portrait orientation.
Title: Re: AGS engine iOS port
Post by: Joseph DiPerla on Mon 21/05/2012 01:02:25
I do not own anything with IOS, but you rock regardless!
Title: Re: AGS engine iOS port
Post by: cianty on Mon 21/05/2012 21:15:26
Most interesting! However, I'm not keen on jailbreaking my iPad... any hopes in being able to create normal .ipa/.app(or whatever) soon?
Title: Re: AGS engine iOS port
Post by: Creator on Tue 22/05/2012 20:30:27
This is brilliant. My games run perfectly on my iPhone 3GS running 5.1.
Pity I can't use it on my iPad 3 until the jailbreak is released.

Edit - Ah, slight problem when downloading the Midi patches. My phone keeps saying "Hash Sum mismatch" when it gets to "Done: AGS Midi patches". I don't know if this is a problem with the download or the file and if you can fix it or not.

Edit 2 - Thought I'd edit this post to say that it works perfectly on my iPad 3 running iOS 5.1.1. It runs like a regular iPhone app, running in a small screen, but allowing me to upscale it by pressing the 2x button.
Title: Re: AGS engine iOS port
Post by: JJS on Tue 22/05/2012 21:37:28
Download of the test game and midi patches should work again.
Title: Re: AGS engine iOS port
Post by: Creator on Wed 23/05/2012 06:46:35
Yep, that fixed it. Thanks JJS.  :-D
Title: Re: AGS engine iOS port
Post by: Joseph DiPerla on Thu 24/05/2012 01:30:22
JJS, I know you said you wouldn't work on any more ports, and I am sure you have some more work to do with the IOS port, but I do have a request. Its for my brother and a few others actually. Its for a WebOS port. And I know how they feel because I used to have a Palm Pre and it was awesome. I let it go because I hate what HP is doing to it (Dropping it). But it will be licensable to other companies, so it will rise again, I am sure. It is actually my favorite mobile OS right next to Android Ice Cream Sandwhich. Anyway, I want to request a port to WebOS if its possible.

From what I hear, programming for WebOS is similar to Android (Haven't really tried it). A few sites to check out are www.precentral.net
https://developer.palm.com/content/resources/develop/cross_platform_development_part_2.html
http://www.webosnation.com/openmobile-working-hp-make-android-apps-webos-reality
http://forums.webosnation.com/webos-development/314546-our-experience-porting-android-enyojs-phonegap.html

Apparently, they have a very simple solution for porting Android Apps to IOS and WebOS (So I hear). Plus, WebOS has a windows emulator that one can use to test the apps out as well as a RAD IDE on the web(Browser based) that one can use to design GUI's. So, its a possibility to port. You think you would be able to check it out after you are done with the IOS port? My brother would be very grateful since he owns an HP Touchpad. :)
Title: Re: AGS engine iOS port
Post by: Joseph DiPerla on Thu 24/05/2012 01:36:58
One more link. Sorry.
http://openmobile.co/pdf/Data_Sheet_ACL_for_WebOS.pdf
Title: Re: AGS engine iOS port
Post by: Joseph DiPerla on Sat 26/05/2012 00:44:09
OK last link. (BTW, I hope I am not breaking rules by posting in a new post rather than editing the prior ones. I just feel that then this thread would not be recognized as being updated).

This link is a tutorial that shows you how to convert an Iphone app to a webos app in ten minutes using phone gap. I am not sure if this would work with the way you have the iphone port set up or not. But thought I would post it anyway:

http://www.youtube.com/v/wWoJfQw79XI?autoplay=1
Title: Re: AGS engine iOS port
Post by: trothmaster on Sat 02/06/2012 23:42:20
So awesome!   Do you think apple would ever approve this in the app store?
Title: Re: AGS engine iOS port
Post by: cianty on Sun 03/06/2012 22:01:17
I got to test my game with an adjusted version of this on my new ("unjailbroken"!) ipad. So the app is currently for iPhone only - and the "zoom" for iPhone apps on iPads looks really horrible. Will you make this an universal app in order to support a "clean" scaling for iPad resolution?
Also, the curor @ touch position doesn't work in practice for me one bit. You have the "move finger to move cursor" control (see e.g. scummVM or MI iPad version) in the Adroid version - will you do this for this too? Or can it be configured?
Title: Re: AGS engine iOS port
Post by: JJS on Mon 04/06/2012 21:33:41
I will make it a universal app. Up to now I wasn't sure if this had any benefit, but I guess it has.

The engine supports the same configuration file as the Android port. You have to create a file "ios.cfg" in the Documents/ags/ folder like this:
Code (ini) Select

[misc]
config_enabled = 1
rotation = 0
translation = default
[controls]
mouse_method = 0
[compatibility]
clear_cache_on_room_change = 0
[sound]
enabled = 1
threaded = 1
cache_size = 10
[midi]
enabled = 1
preload_patches = 0
[video]
framedrop = 0
[graphics]
renderer = 0
smoothing = 1
scaling = 1
super_sampling = 0
smooth_sprites = 0
[debug]
show_fps = 0


Set "mouse_method = 1" for relative mouse movement.
Title: Re: AGS engine iOS port
Post by: JJS on Tue 05/06/2012 19:16:19
The app now has native iPad support. Please let me know if there are issues with it.
Title: Re: AGS engine iOS port
Post by: Grim on Sat 16/06/2012 04:14:41
Quote from: JJS on Tue 15/05/2012 09:48:25
As for what's next? I think I am done platform-wise (unless someone donates me a PS3).

I have a spare PS3! If you can make my game run on that I'll let you have it (and buy you 10 more PS3s!).
Title: Re: AGS engine iOS port
Post by: JJS on Sat 16/06/2012 15:08:59
Thanks for the offer! Don't mind if I take you up on it. I send you a PM.

It would mean that bigendian platforms will be actively maintained again, so this riddle (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=46222.0) would get solved. :=
Title: Re: AGS engine iOS port
Post by: Legba on Mon 25/06/2012 16:46:43
First off, holy shit, this is amazing. I stumbled onto AGS like two weeks ago and I'm continually impressed by the work people are doing with it. Also, holy crapcake, you've done a lot of ports.

I was wondering if anyone had a more detailed tutorial for how to use this little bugger to get any given game onto an iPad. I'm not entirely sure what game files need to be moved over and how (I did test the app and ran the rest gam and it worked wonderfully). I'd like to try and stick Gemini Rue on this thing and, from the specs listed above, it *seems* like it would work. Any help would be awesomepossum. (It's an iPad 1 on 5.01 and it's already jailbroken. I'm assuming I need to change some file permissions but that's about as far as I figured it out).

Thanks! <3
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Tue 26/06/2012 22:31:11
Quote from: JJS on Sat 16/06/2012 15:08:59
It would mean that bigendian platforms will be actively maintained again, so this riddle (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=46222.0) would get solved. :=
Just FYI, I made an experiment and simply put Steve McCreas's "big end" read and write functions into use by disabling ALLEGRO_BIG_ENDIAN macro there. They seem to work nicely for Windows version (functions they use are actually std file routines, which are redefined for big-end case only).
I had to write my own implementations for little-endian getshort and putshort, however, but later I found they were already written in wgt2allg unit.
At the moment there are only few places where I cannot just plain "merge" Steve's code into default code, namely in compress.cpp and also in wfnfontrenderer implementation where you (or tobihan?) used psp_get_char function in little-endian version. I mean, it should certainly be possible, but I haven't tried yet.
Also in some cases there was big-end read/write functions prepared for a struct, but for some reason they weren't actually used; GameSetupStructBase struct for instance.

I guess CJ and Steve were couple of steps away from implementing endianess-independent code to the engine, but just did not finish this job.
Title: Re: AGS engine iOS port
Post by: JJS on Tue 26/06/2012 22:50:00
Legba, the game files go into /var/mobile/Documents/ags/game/

The main game file ("Gemini Rue.exe") has to be renamed to "ac2game.dat". You can take a look at the sample game files to get an idea.

The file permissions for the "ags" and all subfolders must allow writing by a standard user.
Title: Re: AGS engine iOS port
Post by: Legba on Wed 27/06/2012 20:11:53
Figured it all out. Honestly, I should have tested some tinier games first to figure out what I did wrong before bothering you. Super thanks for taking the time to respond anyway. It works brilliantly (and significantly faster than the wine wrap I did to run it on my mac).

For anyone else concerned about how to right-click: It takes a little getting used to but you tap with one finger and then tap a second finger to bring up the menu. The trick is to bring down the first finger on the object which you which to right-click on and then immediately bring and adjoining finger down (i.e., so the second finger quickly falls right next to the the location of the first).

I've run this on 11 different games of varying size and I've had zero flaws. The key (for me, at least) was using iFile to set the permissions properly and make sure to wipe all the old files in the /games directory before putting a new one in.
Title: Re: AGS engine iOS port
Post by: Igor Hardy on Thu 28/06/2012 15:47:34
Are all AGS games resolutions supported and working at decent speed? I wonder how would Snakes of Avalon work.
Title: Re: AGS engine iOS port
Post by: JJS on Thu 28/06/2012 16:15:47
All game resolutions are supported and they are scaled to the screen size as necessary.

Speed of course goes down with higher resolutions. On my iPod 4g Snakes of Avalon still gets > 35 fps with the OpenGL renderer in the bar. The downside is that the OpenGL renderer does not yet support tinting of sprites and plugins that draw to the screen (like the D3D renderer on Windows).

Also the memory consumption goes up a lot with the resolution so it is possible that a hires game runs out of memory.
Title: Re: AGS engine iOS port
Post by: Igor Hardy on Thu 28/06/2012 20:09:04
Thanks for the info. Shame about the resolutions as I've been meaning to focus on much higher resolutions in the future. Then again, maybe there will be already a new gen of iOS hardware before I'm ready to release.
Title: Re: AGS engine iOS port
Post by: Legba on Fri 29/06/2012 21:05:20
Interesting. So literally everything works perfectly except for one problem I've run into.

A few games require navigation through keyboard inputs and, unfortunately, sometimes they require keys that aren't present on the iOS onscreen keyboard. Gemini Rue, for example, requires you use the CTRL key during combat and there's no CTRL key on the keyboard. There's actually a point where you have to hit CTRL or else you can't continue in the game, effectively making the game unplayable on iOS.

Trying to see if there's a tweak out there to allow you to remap the keyboard so as to use other keys to send the CTRL command or if there's something I can put into the ios.cfg file referenced above. Anyone have any ideas?

EDIT: I also tried hooking up a bluetooth ipad-specific keyboard that had a CTRL key and still didn't work. The only keys that work on the physical keyboard are ones that exist on the onscreen keyboard as far as I could tell.
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Fri 29/06/2012 22:24:36
This is a problem the engine would run sooner or later, since it wasn't made with having portability in mind.

Unfortunately my only suggestion is rather for the future versions of the engine - to implement totally virtual controls that could be rebound from game setup, for example.
Title: Re: AGS engine iOS port
Post by: JanetC on Fri 13/07/2012 19:35:23
Quote from: Legba on Fri 29/06/2012 21:05:20A few games require navigation through keyboard inputs and, unfortunately, sometimes they require keys that aren't present on the iOS onscreen keyboard. Gemini Rue, for example, requires you use the CTRL key during combat and there's no CTRL key on the keyboard. There's actually a point where you have to hit CTRL or else you can't continue in the game, effectively making the game unplayable on iOS.

Heh, that's why I'm overhauling the Gemini Rue control system right now so that we can port it to iOS. :)
Title: Re: AGS engine iOS port
Post by: Joseph DiPerla on Sat 14/07/2012 07:28:55
Quote from: Crimson Wizard on Fri 29/06/2012 22:24:36
This is a problem the engine would run sooner or later, since it wasn't made with having portability in mind.

Unfortunately my only suggestion is rather for the future versions of the engine - to implement totally virtual controls that could be rebound from game setup, for example.

Much how c++ has a way to check which OS its executing an app from, can AGS do the same? Perhaps a script function that checks which platform its running under, and if its running under a mobile OS, functionality can be customized to work with that platform right from within the game. For older games that did not do this, maybe the engine for ports such as Android and IOS can have a default custom keyboard that implements shift/CTRL/ PG up or dwn, Home, End, F1-F12 keys, etc...?
Title: Re: AGS engine iOS port
Post by: JJS on Sat 14/07/2012 07:41:53
AGS has a script function to check for the underlying platform. But at the moment it returns "Windows" on all mobile platforms because I noticed that games make assumptions based on the reported operating system that don't hold true (e.g. that plugins are not available).

Both Android and iOS ports have a way to invoke the standard system keyboard and to press the function keys and ESC. Adding more buttons is a bit difficult and in the end action scenes like in Gemini Rue will be difficult to play on them anyway. What would be possible is adding customizable buttons that are overlaid over the game and that can be bound to any key. If someone wants to implement that, be my guest.


Edit: Just for reference, this is how the iOS virtual keyboard looks like in AGS:
(http://jjs.at/temp/IMG_0018.PNG)
Title: Re: AGS engine iOS port
Post by: pcj on Fri 03/08/2012 15:52:01
Just curious - is the only thing holding this back from working on non-jailbroken devices the cost? Nice work, man.
Title: Re: AGS engine iOS port
Post by: JanetC on Thu 16/08/2012 15:12:08
Quote from: pcj on Fri 03/08/2012 15:52:01
Just curious - is the only thing holding this back from working on non-jailbroken devices the cost? Nice work, man.

Yep. I've got it working on non-jailbroken devices, it was easy enough. You just need to give Apple $99 to get a developer account!
Title: Re: AGS engine iOS port
Post by: zaphod_beeblebrox on Mon 27/08/2012 12:13:30
Can anyone confirm if the recently released 'Resonance' works properly on the Ipad 3 using this AGS port? Thanks!
Title: Re: AGS engine iOS port
Post by: Dave Gilbert on Mon 27/08/2012 14:38:14
Most any AGS game can run using the iOS port, although I wouldn't say Resonance is terribly touch-screen friendly. We'll get to that one sometime next year!
Title: Re: AGS engine iOS port
Post by: zaphod_beeblebrox on Mon 27/08/2012 16:47:08
Quote from: Dave Gilbert on Mon 27/08/2012 14:38:14
Most any AGS game can run using the iOS port, although I wouldn't say Resonance is terribly touch-screen friendly. We'll get to that one sometime next year!

Hi Dave, I know this is a digression from this thread, but I have to say thanks for the excellent job you and your team are doing at Wadget Eye! I recently bought and completed Gemini Rue (was sold on it after playing the demo). Being a fan of the adventure genre since the early 90s and having played almost all of them, Gemini Rue stands up with the best of them, and has easily the best story, atmosphere and puzzle-integration I've seen in a long time. Hats off to Joshua and the rest of the team that supported him in making this masterpiece. Can't wait to see what Joshua does next.

Coming back to Resonance, I've only played 15 mins of the demo so far on my Mac (using Crossover) but I haven't noticed anything particularly bad about the interface that would make the game not touch-screen friendly? Can you be more specific - is there something that prevents the game from being completed using a touch screen interface? I'm thinking of buying the full version. Would love to play it on my Ipad instead of the Mac though.

Title: Re: AGS engine iOS port
Post by: Dave Gilbert on Mon 27/08/2012 18:18:02
It's mostly that there are a lot of sections and puzzles that rely on mouse hovering in order get through them. With a bit of fiddling, it's possible, but it's not very user-friendly. We're going to make an iOS port one of these days. We're working on Gemini Rue right now. If it works out, we'll do the others.

Edit: And thanks. :)
Title: Re: AGS engine iOS port
Post by: amateurhour on Mon 27/08/2012 19:39:47
I'd be grateful if you'd post a process on converting GR to iOS, especially what you ended up having to change to make it more tablet friendly in addition to the general porting itself.
Title: Re: AGS engine iOS port
Post by: Dave Gilbert on Mon 27/08/2012 20:34:43
That's up to Janet, unfortunately. She's the one working on the port, due to the fact that she's much smarter than I am.
Title: Re: AGS engine iOS port
Post by: zaphod_beeblebrox on Tue 04/09/2012 17:09:00
I installed AGS on my jailbroken Ipad3 and copied over Resonance as per JJS instructions (i.e. copied game files into /var/mobile/Documents/ags/game and renamed Resonance.exe to ac2game.dat) and the game worked fine right off the bat! Thanks JJS :) I even saved a "test" game at the start and reloaded it and it worked properly.

I still have one problem -- I copied over my old save games from my Mac where I am running Resonance using Crossover (and have already completed about half the game), into the same folder as above (i.e. /var/mobile/Documents/ags/game) as I noticed that is where AGS saved my initial "test" game. After doing this, all my Resonance save games from my Mac now appear properly in the load menu on the game running on my Ipad. However, when I try to load one of these saves, the app immediately crashes to the Ipad home screen without any error message. Any ideas? Is this a Resonance issue, AGS-general issue or AGS-IOS port issue? I tried tinkering with the save game file permissions but that didn't help.
Title: Re: AGS engine iOS port
Post by: JJS on Tue 04/09/2012 18:43:42
The modified engine for iOS (and the other ports) cannot usually load savegames from other AGS versions. If you want a Windows engine that is compatible with the iOS savegames, use one from the daily builds: http://jjs.at/daily/. It works like on the ports, just put it into the game folder with Resonance.exe renamed to ac2game.dat. This still doesn't allow you to play the old savegames but you can at least share the new saves between the iPad and the PC.
Title: Re: AGS engine iOS port
Post by: robbo007 on Fri 19/10/2012 12:15:47
Hi there,
Sorry for the lame question guys. How do I get the keyboard visible when playing QFG2 VGA?? I'm running ipad 3 jailbroken.

Thanks,
Rob
Title: Re: AGS engine iOS port
Post by: JJS on Fri 19/10/2012 14:27:45
Hold down one finger for more than a second. It gets closed the same way.

Not sure how good it will be for playing the game though, it might not have all required keys.
Title: Re: AGS engine iOS port
Post by: JanetC on Fri 07/12/2012 19:04:28
Quote from: zaphod_beeblebrox on Tue 04/09/2012 17:09:00I still have one problem -- I copied over my old save games from my Mac where I am running Resonance using Crossover (and have already completed about half the game), into the same folder as above (i.e. /var/mobile/Documents/ags/game) as I noticed that is where AGS saved my initial "test" game. After doing this, all my Resonance save games from my Mac now appear properly in the load menu on the game running on my Ipad. However, when I try to load one of these saves, the app immediately crashes to the Ipad home screen without any error message. Any ideas? Is this a Resonance issue, AGS-general issue or AGS-IOS port issue? I tried tinkering with the save game file permissions but that didn't help.

I think it would be very unlikely that saved games from one platform would work on another, sorry :(
Title: Re: AGS engine iOS port
Post by: JanetC on Fri 07/12/2012 19:17:47
Quote from: amateurhour on Mon 27/08/2012 19:39:47
I'd be grateful if you'd post a process on converting GR to iOS, especially what you ended up having to change to make it more tablet friendly in addition to the general porting itself.

Most of the code change was in the GRUE scripting, which I did on PC as normal in the AGS editor. The largest amount of time was involved in just making hotspots/buttons/icons/dialogue fonts etc bigger and other small changes to make it play better. I also added a new system of icons to compensate for no keyboard being available in the combat and box-pushing sections. I also removed all gameplay elements that needed a right-click.

On the engine side, on the Mac, I changed the way that tapping works from the default, which is designed to enable users of jailbroken devices to play PC games. I didn't need to worry about the engine being compatible with all out-of-the-box AGS games, just Wadjet Eye's games, so I altered the touch-screen controls for the way Wadjet Eye's games play. I also exposed some minor internal stuff in the engine to the scripting language (so that, for instance, the script can now tell whether we are on an iPad or not.)

I've just built a beta version of the game and sent it to testers, so fingers crossed it works on more than just my iPhone and Dave's iPad!
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Sat 08/12/2012 15:19:53
Quote from: JanetC on Fri 07/12/2012 19:04:28
I think it would be very unlikely that saved games from one platform would work on another, sorry :(
They will. We are working on this :).
Although the games saved with some intermediate port version may still remain incompatible. But if that's really needed, I guess there could be a savegame conversion solution.
Title: Re: AGS engine iOS port
Post by: zaphod_beeblebrox on Sat 29/12/2012 03:33:12
The AGS app on my IPad 3 keeps crashing. This has happened with both games I've tried playing - Tale of Two Kingdoms and Blackwell Convergence. The games start fine and I can play them for a bit, save/load games etc as well, but then all of a sudden, the app crashes and I return to the home screen. I've tried closing all my other memory intensive apps/games from the background but I keep experiencing this issue. I havent had a session that has lasted more than 20 mins.

Any ideas? Thanks
Title: Re: AGS engine iOS port
Post by: JJS on Sat 29/12/2012 08:49:35
I updated the port to the latest source version. Please try with that, it potentially has a fix for the crashing. Unfortunately it doesn't happen for me (ipod 4) so it is a stab in the dark.

If this does not help with the crash, please place a configuration "ios.cfg" into the game directory ("/User/Documents/ags/game/ios.cfg") with this content:
Code (ini) Select
[misc]
config_enabled = 1
[sound]
enabled = 1
threaded = 0
cache_size = 10
[debug]
show_fps = 0
logging = 0
You should notice that sound starts stuttering on room changes but it probably also removes the crashes.
Title: Re: AGS engine iOS port
Post by: zaphod_beeblebrox on Sat 29/12/2012 19:03:12
Thanks JJS for the quick response. However, both options didn't work - I got the latest update, and when that didn't stop the crashing, I tried with the ios.cfg file and that didn't help either. FWIW, I didn't notice any stuttering of sounds when changing rooms like you mentioned. Any other config changes to try? Out of curiosity, what seems to be causing the problem - memory, sound?
Title: Re: AGS engine iOS port
Post by: JJS on Sat 29/12/2012 19:07:20
Can you verify that the config file is actually read by setting
Code (ini) Select
[sound]
enabled = 0

This should disable sound completely.

I was under the impression that the crash is sound related but if that config file doesn't make a difference, it must be something else. No idea what it would be though. But since you can reliably reproduce the crash we should be able to figure it out eventually ;)


Edit: Ok, maybe I know a way to find out more about the crash. Since you have a jailbroken device, can you get me the crashlogs from the device? They are stored at this location with a plist extension:
Code (AGS) Select
/var/mobile/Library/Logs/CrashReporter
Because they have to match the debug symbols that I currently have, I would only need the crashes from today.

Edit2: Actually it looks like the crash reports get synced by iTunes, so depending on your situation it might be easier to get them from the PC. A guide is here: http://www.trilinkee.com/crash_logs.html
Title: Re: AGS engine iOS port
Post by: zaphod_beeblebrox on Sat 29/12/2012 22:04:16
Yes, it is reading the ios.cfg file properly - I set sound enable=0 like you said and that disabled the sound in the app. So that's good.

I looked at the crash logs on my iPad in the folder you mentioned and found several from the ags app today. Here is a fragment of the latest one that might be useful. If this isn't helpful, perhaps I can attach a complete one. (Also, not sure why I need to sync with my Mac/iTunes)

[EDIT] As you can see in the stacktrace below, the problem seems to be in the thread involving AQClient. Googling this, I found a possible soltion involving the autoreleasepool - see: AQClient Issue (http://stackoverflow.com/questions/8055597/how-to-track-down-strange-crashes-of-ipad-app-in-aqclient-thread). Hope this helps.

QuoteCrashReporter Key:   1e746dd56093146ba201ba9cfcb78862c9d8ae10
Hardware Model:      iPad3,1
Process:         ags [4321]
Path:            /Applications/ags.app/ags
Identifier:      ags
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2012-12-29 14:08:38.064 -0500
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000da66
Crashed Thread:  5

[...skipping some threads here...]

Thread 5 name:  AQClient
Thread 5 Crashed:
0   ags                             0x001dcb9a 0xe6000 + 1010586
1   ags                             0x001dd694 0xe6000 + 1013396
2   ags                             0x0020256a 0xe6000 + 1164650
3   AudioToolbox                    0x345f5296 0x34577000 + 516758
4   AudioToolbox                    0x345f6e6e 0x34577000 + 523886
5   AudioToolbox                    0x345f5174 0x34577000 + 516468
6   AudioToolbox                    0x345a2e9a 0x34577000 + 179866
7   AudioToolbox                    0x34598cdc 0x34577000 + 138460
8   CoreFoundation                  0x37f5651c 0x37ec9000 + 578844
9   CoreFoundation                  0x37f564be 0x37ec9000 + 578750
10  CoreFoundation                  0x37f5530c 0x37ec9000 + 574220
11  CoreFoundation                  0x37ed849e 0x37ec9000 + 62622
12  CoreFoundation                  0x37ed8366 0x37ec9000 + 62310
13  AudioToolbox                    0x345f1b28 0x34577000 + 502568
14  AudioToolbox                    0x34578c9c 0x34577000 + 7324
15  libsystem_c.dylib               0x3313572e 0x33127000 + 59182
16  libsystem_c.dylib               0x331355e8 0x33127000 + 58856

Thread 5 crashed with ARM Thread State:
    r0: 0x0000da66    r1: 0x00000000      r2: 0x006d3300      r3: 0x00006d33
    r4: 0x003d3730    r5: 0x0d39cd98      r6: 0x000002cc      r7: 0x053fba34
    r8: 0x00331e5c    r9: 0x31000000     r10: 0x000027a7     r11: 0x00007f7e
    ip: 0x00800000    sp: 0x053fba10      lr: 0x0807f000      pc: 0x001dcb9a
  cpsr: 0x00000030
Title: Re: AGS engine iOS port
Post by: JJS on Sun 30/12/2012 13:46:43
Thank you for the log!

The crash happens in the audio callback but I think it is for a different reason than in the stackoverflow thread. I updated the port, maybe it cures the problem.

If it still crashes, I probably have to look at the full crash report. I suppose the crash always happened the same way as in the crash you posted?

You can post new logs using the {code} tags so that they use less room or send to my email jjs@jjs.at.
Title: Re: AGS engine iOS port
Post by: zaphod_beeblebrox on Mon 31/12/2012 01:14:40
Great work JJS! I got the latest update of the port and it fixed the crashing problem! I've been playing a game on it for more than 2 hours now and it hasn't crashed even once. Moreover, if I temporarily close the app and go to the home screen, or switch to another app and then come back, the AGS game resumes from its earlier state, instead of restarting like it used to do. So whatever you changed in this latest update, seems to have done the trick.

I'll keep you posted if I run into any new issues. Thanks again for all your help!

ps. I'm still using the ios.cfg like you said earlier. Not sure if I need to or not with this latest version
Title: Re: AGS engine iOS port
Post by: JJS on Mon 31/12/2012 07:18:16
Sounds good :-D

I uploaded another update. It is essentially the same but with a further change for task switching. The config file should not be necessary, ideally the game would run without it or when setting
Code (ini) Select
threaded = 1
in it. So for testing the setting should be set back to this default value.

It is interesting that you don't see a sound stutter. The ipad 3 is probably fast enough so that this does not become a problem usually.

E: All changes are now pushed to the source repo.
Title: Re: AGS engine iOS port
Post by: zaphod_beeblebrox on Sat 05/01/2013 04:00:10
Thanks JJS. I got the latest update and set threaded=1 in ios.cfg and have not had any problems so far. I completed two games from start to end without any crashes (playing for several hours), so it works great now.

Awesome job!
Title: Re: AGS engine iOS port
Post by: festilligambe on Tue 22/01/2013 17:24:52
This is amazing, I'm still slowly learning the basics of the AGS engine itself and capable of simple scripting but slowly getting better.  Still I'm impressed with what other people can do.  Is your eventual plan to have somehting that would help others put their AGS games into the apple store? Still there be plans for a versiont hat will make a standalone ipa file with the engine and game contained?
Title: Re: AGS engine iOS port
Post by: patoland on Fri 25/01/2013 09:16:51
Hey guys, this is amazing stuff!!! Thanks JJS for share your work with us!
Actually i have a couple of questions,
a) if i'm wright it's possible to make a build without a jaibroken i-device, but with Xcode (even without apple dev. licence)
b) I tryed to build the Xcode project with Xcode version 4.5.2 and got a lot of yellow advertisement, but even worst, there's some ! red ones all of them in the Audiochannel.ccp directory

Obviously i'm doing something wrong, and as i'm not a xcode wiz i'd really appreciate some advice,

tnx! and once again, fantastic job!
Title: Re: AGS engine iOS port
Post by: JJS on Sun 27/01/2013 17:56:38
a) Well, technically you can do a build. But you cannot run it on your device. This is only possible with either a jailbroken device or a dev account. If you try to debug the app, xcode simply tells you that there is no provisioned device and refuses to launch.

b) There a a lot of warnings (the yellow stuff), you can ignore that. The red errors are caused by a missing C++ flag and should be fixed by the latest commits (update your sources).

Quote from: festilligambe on Tue 22/01/2013 17:24:52Is your eventual plan to have somehting that would help others put their AGS games into the apple store? Still there be plans for a versiont hat will make a standalone ipa file with the engine and game contained?
You will always need an Apple developer account and some knowledge of developing apps for iOS to bring an AGS game to the market.
Title: Re: AGS engine iOS port
Post by: patoland on Mon 28/01/2013 14:16:43
Hi JJS, thank you so much for your answer!
I understand that i will need either an dev account or a jailbroken device, sure. I just wanted to test it in the simulator to do some tests...
I'll try to find the latest version of the files, i though i got the right ones ;(

Once again, thank you!
Title: Re: AGS engine iOS port
Post by: patoland on Wed 06/02/2013 14:28:17

Hi again JSS! I tried to make another build and it worked much better, but now I got this two errors...Any clue? tnx!


(http://www.toonguska.com/build.png)
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Wed 06/02/2013 14:47:13
That's my fault. IIRC there was a C-style type-cast before, and I occasionally removed it. Probably your compiler does not like implicit cast.
It should be:
Code (cpp) Select

ReadArrayOfInt64((int64_t*)buffer, count);
#else
ReadArrayOfInt32((int32_t*)buffer, count);

and
Code (cpp) Select

WriteArrayOfInt64((const int64_t*)buffer, count);
#else
WriteArrayOfInt32((const int32_t*)buffer, count);
Title: Re: AGS engine iOS port
Post by: JanetC on Wed 06/02/2013 15:01:23
Quote from: festilligambe on Tue 22/01/2013 17:24:52Is your eventual plan to have somehting that would help others put their AGS games into the apple store? Still there be plans for a versiont hat will make a standalone ipa file with the engine and game contained?

We at Wadjet Eye Games are planning to bring our games to the App Store very soon! The engine works just fine already (with a little jiggering) for building with a developer account (which is $99)
Title: Re: AGS engine iOS port
Post by: patoland on Thu 07/02/2013 11:35:47
Fantastic news JanetC!!! Can't wait to get your games in my ipad...or iphone...Actually i installed a windows 7 in my mac just to play Primordia and Resonance!
When are you planning to hit the Appstore?

Btw, it's not the 99 dollars that stop me to have a develop. account, i just wanted to be sure that the port is working, even if with jiggering...but i still can't have my build running without errors, i don't think it's a matter of having the apple license at all...or i'm wrong?
Thank you!
Title: Re: AGS engine iOS port
Post by: JanetC on Thu 07/02/2013 13:34:23
Quote from: patoland on Thu 07/02/2013 11:35:47
Fantastic news JanetC!!! Can't wait to get your games in my ipad...or iphone...Actually i installed a windows 7 in my mac just to play Primordia and Resonance!
When are you planning to hit the Appstore?

Cool! We want to release pretty soon but we haven't got a date yet!

Quote from: patoland on Thu 07/02/2013 11:35:47Btw, it's not the 99 dollars that stop me to have a develop. account, i just wanted to be sure that the port is working, even if with jiggering...but i still can't have my build running without errors, i don't think it's a matter of having the apple license at all...or i'm wrong?

Not sure what you are asking here!
Title: Re: AGS engine iOS port
Post by: JJS on Thu 07/02/2013 16:59:02
Quote from: patoland on Thu 07/02/2013 11:35:47but i still can't have my build running without errors, i don't think it's a matter of having the apple license at all...or i'm wrong?
What error do you have now? Is your installation of xcode properly patched to produce unsigned binaries? You might have to change or remove the post build event that is run after the build has finished. It is written for xcode 3.x because that is what I use.

Edit: Actually there were files missing from the xcode project, so that is probably the issue. I fixed that, sorry for the trouble.

Also I am now uploading IPA files of the engine to the daily build location http://jjs.at/daily/ . They will be updated more regularly than the Cydia repo.
Title: Re: AGS engine iOS port
Post by: festilligambe on Wed 13/02/2013 22:44:00
Wow, awesome, after a bit of fiddling I was able to get it to run indeed. I am very happy I have been working on my first game as a supprise for friends for their wedding and being able to get it onto an iphone is pretty mind blowing considering my programming knowledge started and ended with basic and fortran back in the late 80s and never started up again until last fall.  Needless to say I'm still pretty much in the dark and muddling my what through.  Hopefully there will be a way eventually to run more than one game, perhaps a way to make one folder or .ipa file with both the engine and game files contained, though without a mac I won't be getting a develper account any time soon so not sure if that will ever be possible on a PC.  Thanks again for all your work on this.
Title: Re: AGS engine iOS port
Post by: JanetC on Fri 15/02/2013 15:34:38
Got a crash on iOS Gemini Rue which stumps me... It was on my iPhone 4 with iOS 6.1.1.

I'm using a slightly customised version of the iOS port which can be found at

https://github.com/JanetGilbert/ags

Here's the stacktrace:

(http://i.imgur.com/4E5Ehd1.png)

Anyone got any ideas?

Thanks!
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Fri 15/02/2013 16:55:06
I think I saw an error with similar callstack (PThreadThread::thread_start -> update_mp3_thread), posted a while ago:
https://github.com/adventuregamestudio/ags/issues/34

Back then it was  "pure-virtual function call" on 64-bit Linux.
We did not found out the reason since.

How often does this happen for you? Was it occasional, or can be reproduced?
Title: Re: AGS engine iOS port
Post by: JanetC on Fri 15/02/2013 18:04:43
Quote from: Crimson Wizard on Fri 15/02/2013 16:55:06
How often does this happen for you? Was it occasional, or can be reproduced?

This has only happened to me once, during my last playthrough of Gemini Rue. It was while a dialogue audio file was being played in a cutscene. I cannot reproduce it, sorry.

I know JJS fixed some similar issues recently at my request, and I integrated his changes into my version of the engine. Here's one of them:

https://github.com/adventuregamestudio/ags/commit/75517855f428ab517d520da90fbcae7f0c4e6490

He also made some other similar fixes to the iOS audio system, which were committed in January this year.
Title: Re: AGS engine iOS port
Post by: zaphod_beeblebrox on Mon 18/02/2013 12:01:05
Hi JJS,

I've been playing AGS games with your most recent fix (that fixed my earlier crashes) for a while now without any problems. However, I ran into crashes again with KQ2 - VGA (by AGD Interactive). Here is the crash log. Hope it helps - thanks

Code (AGS) Select
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>AutoSubmitted</key>
  <true/>
  <key>SysInfoCrashReporterKey</key>
  <string>1e746dd56093146ba201ba9cfcb78862c9d8ae10</string>
  <key>bug_type</key>
  <string>109</string>
  <key>description</key>
  <string>Incident Identifier: 31022B5F-899C-48BF-ADDA-29E3DD1DB699
CrashReporter Key:   1e746dd56093146ba201ba9cfcb78862c9d8ae10
Hardware Model:      iPad3,1
Process:         ags [27177]
Path:            /Applications/ags.app/ags
Identifier:      ags
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2013-02-18 06:48:16.809 -0500
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000028
Crashed Thread:  3

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib          0x30bd3004 0x30bd2000 + 4100
1   libsystem_kernel.dylib          0x30bd31fa 0x30bd2000 + 4602
2   CoreFoundation                  0x37f563ec 0x37ec9000 + 578540
3   CoreFoundation                  0x37f550ea 0x37ec9000 + 573674
4   CoreFoundation                  0x37ed849e 0x37ec9000 + 62622
5   CoreFoundation                  0x37ed8366 0x37ec9000 + 62310
6   GraphicsServices                0x363bb432 0x363b7000 + 17458
7   UIKit                           0x30d89cce 0x30d58000 + 203982
8   ags                             0x000a6af8 0xa5000 + 6904
9   ags                             0x000a6ab0 0xa5000 + 6832

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib          0x30bd33a8 0x30bd2000 + 5032
1   libdispatch.dylib               0x348adf04 0x348aa000 + 16132
2   libdispatch.dylib               0x348adc22 0x348aa000 + 15394

Thread 2 name:  WebThread
Thread 2:
0   libsystem_kernel.dylib          0x30bd3004 0x30bd2000 + 4100
1   libsystem_kernel.dylib          0x30bd31fa 0x30bd2000 + 4602
2   CoreFoundation                  0x37f563ec 0x37ec9000 + 578540
3   CoreFoundation                  0x37f55124 0x37ec9000 + 573732
4   CoreFoundation                  0x37ed849e 0x37ec9000 + 62622
5   CoreFoundation                  0x37ed8366 0x37ec9000 + 62310
6   WebCore                         0x31360c9c 0x312b7000 + 695452
7   libsystem_c.dylib               0x3313572e 0x33127000 + 59182
8   libsystem_c.dylib               0x331355e8 0x33127000 + 58856

Thread 3 Crashed:
0   ags                             0x000ecf38 0xa5000 + 294712
1   ags                             0x000ed2b0 0xa5000 + 295600
2   ags                             0x000ec88e 0xa5000 + 293006
3   ags                             0x000c2ef2 0xa5000 + 122610
4   ags                             0x000c3080 0xa5000 + 123008
5   ags                             0x000c3f0a 0xa5000 + 126730
6   ags                             0x000c5c5a 0xa5000 + 134234
7   ags                             0x0010b8fa 0xa5000 + 420090
8   ags                             0x0010cb2c 0xa5000 + 424748
9   ags                             0x0010cbbc 0xa5000 + 424892
10  ags                             0x0010cc6e 0xa5000 + 425070
11  ags                             0x0010cfa8 0xa5000 + 425896
12  ags                             0x00109ec8 0xa5000 + 413384
13  ags                             0x0010e808 0xa5000 + 432136
14  ags                             0x001145ac 0xa5000 + 456108
15  ags                             0x000a822e 0xa5000 + 12846
16  Foundation                      0x37113a7a 0x37103000 + 68218
17  Foundation                      0x371a758a 0x37103000 + 673162
18  libsystem_c.dylib               0x3313572e 0x33127000 + 59182
19  libsystem_c.dylib               0x331355e8 0x33127000 + 58856

Thread 4:
0   libsystem_kernel.dylib          0x30be3570 0x30bd2000 + 71024
1   libsystem_kernel.dylib          0x30bd4d2c 0x30bd2000 + 11564
2   ags                             0x001c296e 0xa5000 + 1169774
3   libsystem_c.dylib               0x3313572e 0x33127000 + 59182
4   libsystem_c.dylib               0x331355e8 0x33127000 + 58856

Thread 5 name:  AQClient
Thread 5:
0   libsystem_kernel.dylib          0x30bd3004 0x30bd2000 + 4100
1   libsystem_kernel.dylib          0x30bd31fa 0x30bd2000 + 4602
2   CoreFoundation                  0x37f563ec 0x37ec9000 + 578540
3   CoreFoundation                  0x37f55124 0x37ec9000 + 573732
4   CoreFoundation                  0x37ed849e 0x37ec9000 + 62622
5   CoreFoundation                  0x37ed8366 0x37ec9000 + 62310
6   AudioToolbox                    0x345f1b28 0x34577000 + 502568
7   AudioToolbox                    0x34578c9c 0x34577000 + 7324
8   libsystem_c.dylib               0x3313572e 0x33127000 + 59182
9   libsystem_c.dylib               0x331355e8 0x33127000 + 58856

Thread 6:
0   libsystem_kernel.dylib          0x30be3628 0x30bd2000 + 71208
1   libsystem_c.dylib               0x33139b1a 0x33127000 + 76570
2   libsystem_c.dylib               0x33139a84 0x33127000 + 76420
3   ags                             0x00114040 0xa5000 + 454720
4   ags                             0x00107fb8 0xa5000 + 405432
5   ags                             0x001111d8 0xa5000 + 442840
6   libsystem_c.dylib               0x3313572e 0x33127000 + 59182
7   libsystem_c.dylib               0x331355e8 0x33127000 + 58856

Thread 3 crashed with ARM Thread State:
    r0: 0x00000020    r1: 0x005f65b0      r2: 0x000000f2      r3: 0x00000000
    r4: 0x005f59b0    r5: 0x0d2bca50      r6: 0x005f65b0      r7: 0x05207800
    r8: 0x0d2bca00    r9: 0x00000140     r10: 0x0d2bca00     r11: 0x000000f2
    ip: 0x00000004    sp: 0x052077c8      lr: 0x000ecf37      pc: 0x000ecf38
  cpsr: 0x80000030

Binary Images:
   0xa5000 -   0x23cfff +ags armv7  &lt;4d68f8f44a7632f6b1b1b931325bf6e0&gt; /Applications/ags.app/ags
  0x477000 -   0x477fff +MobileSubstrate.dylib armv6  &lt;d8da1cc9b8ea37cfba03a60549cdac4c&gt; /Library/MobileSubstrate/MobileSubstrate.dylib
  0x4a7000 -   0x4a8fff +SubstrateLoader.dylib armv6  &lt;825b732151e6379b9cbec6e597a986fa&gt; /Library/Frameworks/CydiaSubstrate.framework/Libraries/SubstrateLoader.dylib
0x2fea4000 - 0x2fec5fff  dyld armv7  &lt;77eddfd654df393ba9c95ff01715fd08&gt; /usr/lib/dyld
0x30461000 - 0x30461fff  vecLib armv7  &lt;a2cfe25e77aa36bfb4a30b2d0d2dd465&gt; /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib
0x30533000 - 0x3060bfff  vImage armv7  &lt;caf3648be2933384b6aa1ae7408ab4f0&gt; /System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/vImage
0x3063c000 - 0x30646fff  libvMisc.dylib armv7  &lt;e8248c797b9b363594bb652ddf7ce16d&gt; /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libvMisc.dylib
0x3071c000 - 0x309ddfff  libLAPACK.dylib armv7  &lt;0e94e9a7e7a334649afaccae0f1215a2&gt; /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libLAPACK.dylib
0x309ef000 - 0x309f7fff  MobileWiFi armv7  &lt;b76c3e9fb78234c392058250d4620e72&gt; /System/Library/PrivateFrameworks/MobileWiFi.framework/MobileWiFi
0x309fa000 - 0x30a1ffff  OpenCL armv7  &lt;f4b08361179a3f6bb033415b0d7c6251&gt; /System/Library/PrivateFrameworks/OpenCL.framework/OpenCL
0x30a6c000 - 0x30a6cfff  libCVMSPluginSupport.dylib armv7  &lt;a80aaa9989483ce3a496a061fd1e9e0a&gt; /System/Library/Frameworks/OpenGLES.framework/libCVMSPluginSupport.dylib
0x30a6d000 - 0x30a80fff  AssistantServices armv7  &lt;4a0843742f363a8885b8db13b44ae256&gt; /System/Library/PrivateFrameworks/AssistantServices.framework/AssistantServices
0x30bd2000 - 0x30be8fff  libsystem_kernel.dylib armv7  &lt;311f379a9fde305d80c1b22b7dd2e52a&gt; /usr/lib/system/libsystem_kernel.dylib
0x30c2e000 - 0x30c3ffff  DataAccessExpress armv7  &lt;e6144ba265da3bb7b9a263aa1a29b054&gt; /System/Library/PrivateFrameworks/DataAccessExpress.framework/DataAccessExpress
0x30c40000 - 0x30cedfff  libxml2.2.dylib armv7  &lt;58d47f064e0232119f4b838ad659f9c1&gt; /usr/lib/libxml2.2.dylib
0x30cee000 - 0x30d04fff  EAP8021X armv7  &lt;952fcfdec0633aff923768fca1a26fcb&gt; /System/Library/PrivateFrameworks/EAP8021X.framework/EAP8021X
0x30d58000 - 0x311fafff  UIKit armv7  &lt;cd513a2f22f53d698c3e10f6fe48a63e&gt; /System/Library/Frameworks/UIKit.framework/UIKit
0x31278000 - 0x312b3fff  libCGFreetype.A.dylib armv7  &lt;55941c96cf1f3b048e72a148c4496c16&gt; /System/Library/Frameworks/CoreGraphics.framework/Resources/libCGFreetype.A.dylib
0x312b7000 - 0x31a76fff  WebCore armv7  &lt;2690c38c9c5f3c09975d619dd1dfbed7&gt; /System/Library/PrivateFrameworks/WebCore.framework/WebCore
0x31adb000 - 0x31c24fff  libicucore.A.dylib armv7  &lt;b70646b63f1f3b33896dd8cb91b8dab1&gt; /usr/lib/libicucore.A.dylib
0x31cd7000 - 0x31da6fff  libGLProgrammability.dylib armv7  &lt;49607ffe4ee9389494285a213e392924&gt; /System/Library/Frameworks/OpenGLES.framework/libGLProgrammability.dylib
0x31de0000 - 0x31e31fff  libstdc++.6.dylib armv7  &lt;c352af5a742e3c7a8d4d7e5f6f454793&gt; /usr/lib/libstdc++.6.dylib
0x31e75000 - 0x31f7bfff  IMGSGX543GLDriver armv7  &lt;7454a840600038949d67edad05097242&gt; /System/Library/Extensions/IMGSGX543GLDriver.bundle/IMGSGX543GLDriver
0x31f7c000 - 0x31f81fff  libcopyfile.dylib armv7  &lt;52e874396c393ed29099789ce702cfe2&gt; /usr/lib/system/libcopyfile.dylib
0x31f82000 - 0x32128fff  CoreData armv7  &lt;b0215b6d4d143859a2b313ecade095ec&gt; /System/Library/Frameworks/CoreData.framework/CoreData
0x321c9000 - 0x321ccfff  libsystem_network.dylib armv7  &lt;356cb66612e836968ef24e6e5c3364cc&gt; /usr/lib/system/libsystem_network.dylib
0x321cd000 - 0x32212fff  GeoServices armv7  &lt;a26be2e76e8730ab91a16502aba376be&gt; /System/Library/PrivateFrameworks/GeoServices.framework/GeoServices
0x3221a000 - 0x32226fff  CoreVideo armv7  &lt;364fa32d513f3c11b50970120545f1a8&gt; /System/Library/Frameworks/CoreVideo.framework/CoreVideo
0x32229000 - 0x3225efff  SystemConfiguration armv7  &lt;4464a4e3bb3f32f7abaa35ebf31fda49&gt; /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x322e9000 - 0x322e9fff  liblangid.dylib armv7  &lt;644ff4bcfbf337b5b5859e3f0fc0a9a8&gt; /usr/lib/liblangid.dylib
0x322ea000 - 0x32309fff  libSystem.B.dylib armv7  &lt;0c55744b6f7335eebba4ca2c3d10b43c&gt; /usr/lib/libSystem.B.dylib
0x32526000 - 0x32559fff  Preferences armv7  &lt;f1a9b0b7ffbe3c44877f5e7ba44d4a2f&gt; /System/Library/PrivateFrameworks/Preferences.framework/Preferences
0x32562000 - 0x32567fff  libGPUSupportMercury.dylib armv7  &lt;3c1cc3175c403ace8fcbd3826bd43807&gt; /System/Library/PrivateFrameworks/GPUSupport.framework/libGPUSupportMercury.dylib
0x32568000 - 0x32569fff  libsystem_blocks.dylib armv7  &lt;9fdc27af7350323bbc7d98e14e027907&gt; /usr/lib/system/libsystem_blocks.dylib
0x3256a000 - 0x3256dfff  libcompiler_rt.dylib armv7  &lt;b2c05d8601c13be884097192dca4e187&gt; /usr/lib/system/libcompiler_rt.dylib
0x326ee000 - 0x32726fff  VideoToolbox armv7  &lt;9f25f38d1cd13a1daff99cfde8884410&gt; /System/Library/PrivateFrameworks/VideoToolbox.framework/VideoToolbox
0x32beb000 - 0x32c2efff  libcommonCrypto.dylib armv7  &lt;95b49daf4cf038b6bea8010bba3a1e26&gt; /usr/lib/system/libcommonCrypto.dylib
0x32ddc000 - 0x32dedfff  libxpc.dylib armv7  &lt;ccf25b1e49ce3b2fa58d8c8546755505&gt; /usr/lib/system/libxpc.dylib
0x32e89000 - 0x32e8dfff  libcache.dylib armv7  &lt;d6a7436ed8dc33d795c9b42baf864882&gt; /usr/lib/system/libcache.dylib
0x32fec000 - 0x32ff8fff  libCRFSuite.dylib armv7  &lt;bdb2b4d1a78c39c1ba60d791207aed2a&gt; /usr/lib/libCRFSuite.dylib
0x33006000 - 0x33009fff  libmacho.dylib armv7  &lt;e52b77623bd031bc807e77029566c777&gt; /usr/lib/system/libmacho.dylib
0x330ad000 - 0x33126fff  ProofReader armv7  &lt;6db611d8df6530d480f97a40bc519f70&gt; /System/Library/PrivateFrameworks/ProofReader.framework/ProofReader
0x33127000 - 0x331b3fff  libsystem_c.dylib armv7  &lt;f859ce1ad1773f0ba98d7c6e135b7697&gt; /usr/lib/system/libsystem_c.dylib
0x331b4000 - 0x331b5fff  libdyld.dylib armv7  &lt;977b0ad6f2f433108b4a0324a57cd2ab&gt; /usr/lib/system/libdyld.dylib
0x3321b000 - 0x3321ffff  libGFXShared.dylib armv7  &lt;998fccc16cf735dbb62324202995e193&gt; /System/Library/Frameworks/OpenGLES.framework/libGFXShared.dylib
0x332aa000 - 0x33370fff  libobjc.A.dylib armv7  &lt;90014d1bc583366d85622e43097df416&gt; /usr/lib/libobjc.A.dylib
0x33371000 - 0x33462fff  QuartzCore armv7  &lt;35d64a9da5523ae08c9e41511fd3061b&gt; /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x33463000 - 0x33469fff  liblockdown.dylib armv7  &lt;9e45ce468a6f31e5b8263f2c224aa800&gt; /usr/lib/liblockdown.dylib
0x33688000 - 0x3368cfff  libAccessibility.dylib armv7  &lt;9a17d07b5a3b38cfafdf16f78c99b572&gt; /usr/lib/libAccessibility.dylib
0x33735000 - 0x3373efff  libMobileGestalt.dylib armv7  &lt;4a15e845dc6f3a4a980de66c1cc44c42&gt; /usr/lib/libMobileGestalt.dylib
0x3375e000 - 0x337a8fff  libvDSP.dylib armv7  &lt;441b42aca07b3da39feab25f8349918f&gt; /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib
0x33820000 - 0x33826fff  libnotify.dylib armv7  &lt;9406297de3e43742887890662a87ab53&gt; /usr/lib/system/libnotify.dylib
0x3382b000 - 0x339e8fff  ImageIO armv7  &lt;02e3578171fa3b6a969b244275fd2bab&gt; /System/Library/Frameworks/ImageIO.framework/ImageIO
0x33fb4000 - 0x3400cfff  CoreAudio armv7  &lt;be335e8eb6f93594b028a6ddd503a183&gt; /System/Library/Frameworks/CoreAudio.framework/CoreAudio
0x340da000 - 0x340e9fff  SpringBoardServices armv7  &lt;a2363f8ed49932dba415d2d4cd32fb74&gt; /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices
0x3410d000 - 0x3410ffff  MobileInstallation armv7  &lt;215d93dbb0f63cbf828f9126eb7b5349&gt; /System/Library/PrivateFrameworks/MobileInstallation.framework/MobileInstallation
0x342c0000 - 0x34386fff  GLEngine armv7  &lt;6617f2b4ee283469a5595129889ff049&gt; /System/Library/Frameworks/OpenGLES.framework/GLEngine.bundle/GLEngine
0x34577000 - 0x3475bfff  AudioToolbox armv7  &lt;c91e27850452330ea804db6408840fd2&gt; /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
0x34765000 - 0x34853fff  libiconv.2.dylib armv7  &lt;2cfefe2ad1d335dd9549562910e7a2e2&gt; /usr/lib/libiconv.2.dylib
0x34857000 - 0x3486bfff  PersistentConnection armv7  &lt;54091a638f8731cd85ccf00fa06972c3&gt; /System/Library/PrivateFrameworks/PersistentConnection.framework/PersistentConnection
0x348aa000 - 0x348c0fff  libdispatch.dylib armv7  &lt;9ecfaef4110a3bf9a92d12f0fe8d1d78&gt; /usr/lib/system/libdispatch.dylib
0x349d7000 - 0x349d8fff  libremovefile.dylib armv7  &lt;402f8956975d3b6fb86ab9b31a43242c&gt; /usr/lib/system/libremovefile.dylib
0x34d0f000 - 0x34d2ffff  libxslt.1.dylib armv7  &lt;39348471007e39dab80af68b08390456&gt; /usr/lib/libxslt.1.dylib
0x34e46000 - 0x34ec5fff  libsqlite3.dylib armv7  &lt;bf01f5ed47b033d8bde30d735ff44416&gt; /usr/lib/libsqlite3.dylib
0x34ef4000 - 0x34ef8fff  AggregateDictionary armv7  &lt;3a3a33f3a05538988c6e2bb363dc46a8&gt; /System/Library/PrivateFrameworks/AggregateDictionary.framework/AggregateDictionary
0x34fa8000 - 0x34fc5fff  libsystem_info.dylib armv7  &lt;50863bcbf478323e96a8e5b1a83ea6f9&gt; /usr/lib/system/libsystem_info.dylib
0x35129000 - 0x3512cfff  NetworkStatistics armv7  &lt;7848d8ebad99367cb4f7f4e3fe88e5d6&gt; /System/Library/PrivateFrameworks/NetworkStatistics.framework/NetworkStatistics
0x3519b000 - 0x3519bfff  libgcc_s.1.dylib armv7  &lt;eb82984fa36c329387aa518aa5205f3d&gt; /usr/lib/libgcc_s.1.dylib
0x351ba000 - 0x351f8fff  IOKit armv7  &lt;fcda71d29d6136dfbd84c1725f4998e5&gt; /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x351f9000 - 0x351f9fff  libunwind.dylib armv7  &lt;e0a73a57795f3e1698a52ebe6fc07005&gt; /usr/lib/system/libunwind.dylib
0x35a7c000 - 0x35a82fff  liblaunch.dylib armv7  &lt;aa2bcba6fc7a36a191958fef2e995475&gt; /usr/lib/system/liblaunch.dylib
0x35a83000 - 0x35abafff  Security armv7  &lt;eea56f71fde83c2981f9281dc7823725&gt; /System/Library/Frameworks/Security.framework/Security
0x35b2b000 - 0x35b4efff  Bom armv7  &lt;c3435ecd2e5839f89de51edad0e1bb00&gt; /System/Library/PrivateFrameworks/Bom.framework/Bom
0x35b4f000 - 0x35b73fff  PrintKit armv7  &lt;08509c7bc915358b953de6f5cbef5c56&gt; /System/Library/PrivateFrameworks/PrintKit.framework/PrintKit
0x35b74000 - 0x35bbcfff  CoreMedia armv7  &lt;e274e1b894753b2eb05cf7b22a36d0c1&gt; /System/Library/Frameworks/CoreMedia.framework/CoreMedia
0x35bbd000 - 0x35c09fff  CoreTelephony armv7  &lt;b8f80d5d594c31d2b5d8fba9fdedb7e1&gt; /System/Library/Frameworks/CoreTelephony.framework/CoreTelephony
0x35c0a000 - 0x35c0efff  IOMobileFramebuffer armv7  &lt;42dbc26828e934acabb4f3b0a35d8250&gt; /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer
0x35c12000 - 0x35c16fff  IOSurface armv7  &lt;443ac3aab9283da480dd9dcda3c5c88e&gt; /System/Library/PrivateFrameworks/IOSurface.framework/IOSurface
0x35c4d000 - 0x35c4ffff  libCoreVMClient.dylib armv7  &lt;d4d4aa3090c83e87bcb15ed00b93fd5c&gt; /System/Library/Frameworks/OpenGLES.framework/libCoreVMClient.dylib
0x35c50000 - 0x35c53fff  CaptiveNetwork armv7  &lt;f5cc4b97ce9432da9426f12621453325&gt; /System/Library/PrivateFrameworks/CaptiveNetwork.framework/CaptiveNetwork
0x35e31000 - 0x35e7afff  AddressBook armv7  &lt;b17a2962e9043e0385c3c2c652155f2b&gt; /System/Library/Frameworks/AddressBook.framework/AddressBook
0x35e7e000 - 0x35e89fff  AccountSettings armv7  &lt;373e59421d983c93931cfbad87b1ae35&gt; /System/Library/PrivateFrameworks/AccountSettings.framework/AccountSettings
0x35f73000 - 0x35fb3fff  libGLImage.dylib armv7  &lt;40448706190031f6b0d9636cc11ee81d&gt; /System/Library/Frameworks/OpenGLES.framework/libGLImage.dylib
0x35fb4000 - 0x36113fff  libmecabra.dylib armv7  &lt;06a0a1ee488030169bdfab11fc8d2c5c&gt; /usr/lib/libmecabra.dylib
0x36114000 - 0x3612afff  VoiceServices armv7  &lt;c5b98e94eff33bf49006ff157c819987&gt; /System/Library/PrivateFrameworks/VoiceServices.framework/VoiceServices
0x36166000 - 0x3623dfff  CFNetwork armv7  &lt;765a472c824830eea91b8f02d12867e4&gt; /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x363a5000 - 0x363affff  libbz2.1.0.dylib armv7  &lt;40e4045fb79e382b8833707746cf28b1&gt; /usr/lib/libbz2.1.0.dylib
0x363b0000 - 0x363b6fff  MobileKeyBag armv7  &lt;e1f06241ef0e3f0aae00f15df572077e&gt; /System/Library/PrivateFrameworks/MobileKeyBag.framework/MobileKeyBag
0x363b7000 - 0x363c1fff  GraphicsServices armv7  &lt;cb64e146a8ee3fda9e80ffae1ccc9c5a&gt; /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x363c2000 - 0x363cafff  ProtocolBuffer armv7  &lt;0e846afacf823d2b8c029cc3010a8253&gt; /System/Library/PrivateFrameworks/ProtocolBuffer.framework/ProtocolBuffer
0x363cb000 - 0x363dafff  OpenGLES armv7  &lt;e80acc691001301e96101bb89d940033&gt; /System/Library/Frameworks/OpenGLES.framework/OpenGLES
0x363db000 - 0x36500fff  JavaScriptCore armv7  &lt;2ffc6c87b94434288366bd53765ee267&gt; /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
0x36535000 - 0x36a79fff  FaceCoreLight armv7  &lt;f326d88709683520b251dc53cb847c11&gt; /System/Library/PrivateFrameworks/FaceCoreLight.framework/FaceCoreLight
0x36a7a000 - 0x36a7cfff  libCoreFSCache.dylib armv7  &lt;808518e0fbf539af8489f028ca5198c7&gt; /System/Library/Frameworks/OpenGLES.framework/libCoreFSCache.dylib
0x36a7f000 - 0x36a7ffff  Accelerate armv7  &lt;55b24cf91a8b3532bde6733c96f14c08&gt; /System/Library/Frameworks/Accelerate.framework/Accelerate
0x36a80000 - 0x36a96fff  DictionaryServices armv7  &lt;6ed2e967136f37d4a4b9b318d6c43b83&gt; /System/Library/PrivateFrameworks/DictionaryServices.framework/DictionaryServices
0x36e59000 - 0x36e5afff  DataMigration armv7  &lt;d77f0e8f39ee37f5a2ac713a3fd9e693&gt; /System/Library/PrivateFrameworks/DataMigration.framework/DataMigration
0x36e5b000 - 0x36ecbfff  CoreImage armv7  &lt;86ac6f5a267637b6b7f8a831dfc7c64b&gt; /System/Library/Frameworks/CoreImage.framework/CoreImage
0x36f38000 - 0x36f39fff  libsystem_sandbox.dylib armv7  &lt;6a8f2f33c7543808a0f4599101c3b61a&gt; /usr/lib/system/libsystem_sandbox.dylib
0x36f3a000 - 0x36f3bfff  CoreSurface armv7  &lt;97f871f09f503c98a6371c2b657430d8&gt; /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface
0x37011000 - 0x37017fff  MobileIcons armv7  &lt;ed1b46f917903c9b9baaa2be4392dafe&gt; /System/Library/PrivateFrameworks/MobileIcons.framework/MobileIcons
0x37028000 - 0x37071fff  libc++.1.dylib armv7  &lt;5b690e5dd5a43a7fb166ade9fe58a7a4&gt; /usr/lib/libc++.1.dylib
0x370a0000 - 0x370f1fff  CoreText armv7  &lt;5bfac4ee88d03d5b87a1f105abb7756c&gt; /System/Library/Frameworks/CoreText.framework/CoreText
0x37103000 - 0x37281fff  Foundation armv7  &lt;c40ddb073142315bb4ebb214343d0b7f&gt; /System/Library/Frameworks/Foundation.framework/Foundation
0x37282000 - 0x37297fff  libresolv.9.dylib armv7  &lt;66f7557fa4b43979b186e00271839fdb&gt; /usr/lib/libresolv.9.dylib
0x374e1000 - 0x3758bfff  libBLAS.dylib armv7  &lt;bf822cc1a3243ae7b104cf73ca22d352&gt; /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libBLAS.dylib
0x37598000 - 0x37599fff  libdnsinfo.dylib armv7  &lt;9aede8d6579d3430ac39ae5f95cce498&gt; /usr/lib/system/libdnsinfo.dylib
0x375e0000 - 0x375f6fff  libmis.dylib armv7  &lt;258bc92be5823b239b4412dd42cb4807&gt; /usr/lib/libmis.dylib
0x375f7000 - 0x375fefff  libc++abi.dylib armv7  &lt;bab4dcbfc5943d3fbb637342d35e8045&gt; /usr/lib/libc++abi.dylib
0x376dd000 - 0x37727fff  ManagedConfiguration armv7  &lt;f1fbb825def23043830a095b953a9c94&gt; /System/Library/PrivateFrameworks/ManagedConfiguration.framework/ManagedConfiguration
0x37728000 - 0x3772bfff  CoreTime armv7  &lt;a398de5ba1e43a11b7008e9bb5a7f6fe&gt; /System/Library/PrivateFrameworks/CoreTime.framework/CoreTime
0x37750000 - 0x37750fff  libkeymgr.dylib armv7  &lt;ebd2dddf55d83cf48a18913968775960&gt; /usr/lib/system/libkeymgr.dylib
0x37751000 - 0x3775efff  libbsm.0.dylib armv7  &lt;750a0de73a733019a77144b805d4d2f8&gt; /usr/lib/libbsm.0.dylib
0x37761000 - 0x37831fff  WebKit armv7  &lt;3c5dd2ec46fe3e189c25bba78ad88fa1&gt; /System/Library/PrivateFrameworks/WebKit.framework/WebKit
0x37835000 - 0x37871fff  AppSupport armv7  &lt;311eac85b2a433a884dacba77217b49e&gt; /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
0x37872000 - 0x37879fff  AssetsLibraryServices armv7  &lt;38132ecfd74b325fb1a4142bab663c19&gt; /System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices
0x37897000 - 0x3789cfff  libsystem_dnssd.dylib armv7  &lt;27bb5462450732e380f5a2c170546e93&gt; /usr/lib/system/libsystem_dnssd.dylib
0x37984000 - 0x37cf3fff  TextInput armv7  &lt;8d7f24642c7634cc8e3a6e65f1dcd98e&gt; /System/Library/PrivateFrameworks/TextInput.framework/TextInput
0x37cf4000 - 0x37e39fff  CoreGraphics armv7  &lt;903545b89a7f311d95100ac7d1d44709&gt; /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x37e3a000 - 0x37e46fff  libz.1.dylib armv7  &lt;36ce86a3dc8c344596c8c325615f374b&gt; /usr/lib/libz.1.dylib
0x37ec9000 - 0x37fe0fff  CoreFoundation armv7  &lt;6d450fe923d7387f8b01845e0edd713d&gt; /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x38000000 - 0x3804efff  CoreLocation armv7  &lt;44550ebedf23334d85441d9743b74e03&gt; /System/Library/Frameworks/CoreLocation.framework/CoreLocation
0x38074000 - 0x38083fff  GenerationalStorage armv7  &lt;d84c3fd0e7bd36e78c256f2f4c5a4e91&gt; /System/Library/PrivateFrameworks/GenerationalStorage.framework/GenerationalStorage
0x38084000 - 0x380c8fff  MobileCoreServices armv7  &lt;757226927a873d5492be721908077b48&gt; /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices
</string>
  <key>displayName</key>
  <string>ags</string>
  <key>name</key>
  <string>ags</string>
  <key>os_version</key>
  <string>iPhone OS 5.1.1 (9B206)</string>
  <key>system_ID</key>
  <string></string>
  <key>version</key>
  <string>??? (???)</string>
</dict>
</plist>
Title: Re: AGS engine iOS port
Post by: JanetC on Sat 02/03/2013 17:56:07
I'm wondering if there's any way to build the engine so it doesn't require an exe file, but just the data file? This would be better for commercial games. Any thoughts?
Title: Re: AGS engine iOS port
Post by: BigMc on Sat 02/03/2013 18:02:23
The engine does not require an exe, data file also works. JJS explains here (http://www.adventuregamestudio.co.uk/forums/index.php?topic=46152.msg636445422#msg636445422) where to cut an AGS game exe to get just the data file.
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Sat 02/03/2013 19:17:44
Quote from: BigMc on Sat 02/03/2013 18:02:23
The engine does not require an exe, data file also works. JJS explains here (http://www.adventuregamestudio.co.uk/forums/index.php?topic=46152.msg636445422#msg636445422) where to cut an AGS game exe to get just the data file.
And with more details:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=46152.msg636445497#msg636445497
Title: Re: AGS engine iOS port
Post by: JanetC on Sat 02/03/2013 23:12:16
Thanks for the information. Very useful!
Title: Re: AGS engine iOS port
Post by: BigMc on Sat 02/03/2013 23:41:08
It's probably not required, but strictly speaking the offset information at the end of the data (JJS mentions it) should also be updated to 0. Would be nice to have a small tool to do the cut.
Title: Re: AGS engine iOS port
Post by: JanetC on Mon 04/03/2013 00:50:05
Quote from: JJSThat utility cannot directly chop off the engine though. It can only extract everything and then pack it again. It should be trivial to make a script that removes the exe directly (if you don't suck at scripts like me). It is certainly no problem with a hex editor. The engine exe ends with "PADDINGXXPADDING", the data starts with "CLIB". Cut must be made in between. Also the end of the file contains the offset to the CLIB start iirc. Edit: Yeah, it is the 4 bytes directly before CLIB at the end of the file.

I cut everything from the exe before CLIB. Seems to work. Is that right? I don't understand what jjs means about the "Also the end of the file contains the offset to the CLIB start iirc." - I didn't change that. Is that likely to cause problems?
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Mon 04/03/2013 01:04:58
Quote from: JanetC on Mon 04/03/2013 00:50:05
I cut everything from the exe before CLIB. Seems to work. Is that right? I don't understand what jjs means about the "Also the end of the file contains the offset to the CLIB start iirc." - I didn't change that. Is that likely to cause problems?
He meant that there's a value written at the end of file, which tells at which offset (from the file start) the data is written.
Formally that should be 0, since now the file does not contain exe binaries, but for the same reason this offset won't be read at all. It is only being read when the CLIB marker is not found at the file's beginning.
Title: Re: AGS engine iOS port
Post by: mintymint on Mon 18/03/2013 14:27:20
Hi all,

I download and try the port yesterday, and I've been struggling with this error since yesterday, and unable to fix it until now.
Any idea what is the cause or which library I was missing to add?

Undefined symbols for architecture armv7:
  "__ZN3AGS6Engine7VersionC1EiiiRKNS_6Common6StringE", referenced from:
      __Z9main_initv in main-687CAE172AE71585.o
  "__ZN3AGS6Engine7VersionC1Eiii", referenced from:
      __Z14start_playbackv in record.o
      __Z9main_initv in main-687CAE172AE71585.o
  "__ZN3AGS6Engine7VersionC1ERKNS_6Common6StringE", referenced from:
      __Z19restore_game_headerPN3AGS6Common6StreamE in game.o
      __Z14start_playbackv in record.o
      __Z22game_file_read_versionPN3AGS6Common6StreamE in game_file.o
  "__ZN3AGS6Engine7VersionC1Ev", referenced from:
      ___cxx_global_var_init in main-687CAE172AE71585.o
      ___cxx_global_var_init1 in main-687CAE172AE71585.o
      ___cxx_global_var_init2 in main-687CAE172AE71585.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Thank you so much in advance. I really interested in this, but my engine related programming is not good.
Title: Re: AGS engine iOS port
Post by: JanetC on Fri 12/04/2013 16:46:04
Just thought I'd say thanks for all the help from the AGS port team in getting Gemini Rue on iOS, especially JJS who fixed so many engine bugs and answered so many questions!

Gemini Rue came out yesterday and is doing well :)

Now for the rest of our games!
Title: Re: AGS engine iOS port
Post by: festilligambe on Fri 17/05/2013 01:22:41
This thread seems pretty quiet.  Any new updates on the port.
Title: Re: AGS engine iOS port
Post by: Sslaxx on Fri 17/05/2013 22:03:57
Considering the main coder for the port has had a baby, not really.
Title: Re: AGS engine iOS port
Post by: JanetC on Tue 28/05/2013 19:50:45
Quote from: Sslaxx on Fri 17/05/2013 22:03:57
Considering the main coder for the port has had a baby, not really.

I'm not really the main coder, just used the port commercially. It's in a pretty good state at the moment (at least my branched version is) - Gemini Rue launched without too many problems.
Title: Re: AGS engine iOS port
Post by: Calin Leafshade on Wed 29/05/2013 00:08:43
Is your branch open to the public? Are your changes suitable to be merged into the main branch for other users?
Title: Re: AGS engine iOS port
Post by: Joseph DiPerla on Wed 29/05/2013 00:12:16
JJS.at/daily has update iOS builds.
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Wed 29/05/2013 00:50:40
Quote from: Calin Leafshade on Wed 29/05/2013 00:08:43
Is your branch open to the public? Are your changes suitable to be merged into the main branch for other users?
https://github.com/JanetGilbert/ags
Title: Re: AGS engine iOS port
Post by: tzachs on Wed 29/05/2013 12:31:02
In the first page it still says that the port is for jail-broken devices only, but since you managed to put Gemini Rue on the app store, I conclude that you managed to work around that.
Can you share some information on that? Can we freely use the port to publish games to the app store or is there some ground work to be done?




Title: Re: AGS engine iOS port
Post by: Stee on Wed 29/05/2013 19:00:32
Just a guess but check the xcode folder in /ios
Title: Re: AGS engine iOS port
Post by: JJS on Thu 30/05/2013 08:24:55
The jailbreak requirement is only for the version in this thread as it is the only way to install non-store apps. Other changes for submitting to the store would be mostly adding meta files like all the required images for the different devices. You can see these changes in JanetG's repository linked above. It also has modified controls that are more suited for touch control.
Title: Re: AGS engine iOS port
Post by: JanetC on Sun 02/06/2013 18:16:01
Quote from: tzachs on Wed 29/05/2013 12:31:02
In the first page it still says that the port is for jail-broken devices only, but since you managed to put Gemini Rue on the app store, I conclude that you managed to work around that.
Can you share some information on that? Can we freely use the port to publish games to the app store or is there some ground work to be done?

Quote from: Calin Leafshade on Wed 29/05/2013 00:08:43
Is your branch open to the public? Are your changes suitable to be merged into the main branch for other users?

If you want to use my branch, you are welcome!

As JJS says, it has some control changes to make it more suitable for Wadjet Eye games, but they also require scripting changes to make the best of them. For instance, I had to remove all right-click events because my version of the engine can't handle them, for simplicity.

It is set up to take only one compiled game script, which is compiled into the game, unlike the "real" version that requires jailbroken devices, and allows you to install as many compiled game scripts (.exe files) as you like. This is to make it suitable for the App store.

To sell a game on the app store you will need to get your own developer account and replace the references to my developer account with yours.
Title: Re: AGS engine iOS port
Post by: winz on Fri 21/06/2013 16:00:27
Hi all!!
First, congratulations to JJS for this thread!
And hi to Janet :) and congrats you too!
Sorry for my bad english, i have a question...

You could do a sort of step by step for porting? I have read the entire thread several times but I don't understand where i have to start.
I have my own .exe, and then what?
It would be useful a guide like at least the novice like me that would know where to start ... if you have time to do it naturally!

Another thing: there is a way to test the game without owning a jailbroken device or developer account ? Perhaps through an emulator like that of the Apple software (that for xcode)?

TY and have a good day!!

Winz
Title: Re: AGS engine iOS port
Post by: powerslyde on Wed 26/06/2013 18:45:37
I have a similar question as well. I can build the xcode project, but I do not know where to put the AGS game file.
I get an error message : (Unable to find game data file in any of the known locations.)
Title: Re: AGS engine iOS port
Post by: jannar85 on Wed 17/07/2013 11:43:40
You can now install on non-jailbreaked devices.... I don't know how they did it, but here's an example:
https://github.com/rileytestut/GBA4iOS

And this: http://appadvice.com/appnn/2013/07/how-to-install-a-game-boy-emulator-on-your-idevice-jailbreak-free

Could this be done with AGS too?
Title: Re: AGS engine iOS port
Post by: JanetC on Thu 18/07/2013 20:28:47
Quote from: winz on Fri 21/06/2013 16:00:27You could do a sort of step by step for porting? I have read the entire thread several times but I don't understand where i have to start.
I have my own .exe, and then what?
Sorry, too busy with my new baby to write a walkthrough!

The exe you need to rename to ac2game.dat and put in a resource folder via xcode (along with any other data files) to be built into the app.

Quote from: winz on Fri 21/06/2013 16:00:27
Another thing: there is a way to test the game without owning a jailbroken device or developer account ? Perhaps through an emulator like that of the Apple software (that for xcode)?

Yes, xcode provides an emulator with the iOS libraries.
Title: Re: AGS engine iOS port
Post by: Gord10 on Thu 05/09/2013 01:05:49
I have been struggling to port an old game to iOS for a long time. Finally, I've managed to compile JJS's AGS engine version in Snow Leopard (the actual machine is Mountain Lion. I had to use virtual machine for a lower OS). I can see the "Unable to find game" error in my iPad now. That's something! I couldn't manage making ac2game.dat and other files be visible in iPad or simulator, despite I had put them on Resources/game folder.

Then I have tried Janet's version. I am getting errors like UInterfaceOrientationMaskAllButUpsideDown, I think it's because I'm using iOS SDK 4.3.

How can I get those ac2game.dat files compiled with engine (in other words, what should I have done besides placing them under Resources/game)? Or how is that UInterfaceOrientationMaskAllButUpsideDown problem solved?

---

Title: Re: AGS engine iOS port
Post by: JanetC on Sun 02/02/2014 03:15:32
I've noticed that games forked from my version are reporting to my Crashlytics account. Could you turn off that feature or redirect it to your own Crashlytics account please?

To do this, search the code for Crashlytics and remove those things, remove the Crashlytics framework, and also remove from the "Run Script" phase.
Title: Re: AGS engine iOS port
Post by: jannar85 on Tue 04/02/2014 09:07:47
Can someone please help me run this?

I've created "/var/mobile/documents/ags/game" and changed all the permissions to all.
I've placed a copy of The Blackwell Legacy in a directory called blackwell1 inside the game folder.
This folder also all the permissions.
I've renamed the exe to ac2game.dat


Then, I run AGS and I get this error:
You must create and save a game first in the AGS editor before you can use this engine.

If you have just downloaded AGS, you are probably running the wrong exe.
Run AGSeditor.exe to run the editor.

(Unable to find the game data file in any of the known locations)
Title: Re: AGS engine iOS port
Post by: edmundito on Sat 22/03/2014 00:18:00
I've been having issues building the iOS engine for a device with the latest code from github. It seems that some things have changed in OSX 10.9 (Mavericks) where the build shell scripts are no longer building unless some modifications are made (the paths have changed).

Has anyone else run into this issue? Are there a workaround steps I could follow?
Title: Re: AGS engine iOS port
Post by: tsode on Fri 05/09/2014 10:29:28
Hi everyone!

I have installed AGS in iPhone. I created the file "ios.cfg" and placed it into "/var/mobile/Documents/ags/" with the configuration shown in

http://www.adventuregamestudio.co.uk/forums/index.php?topic=46040.20#msg619959 (http://www.adventuregamestudio.co.uk/forums/index.php?topic=46040.20#msg619959)

with the setting "mouse_method = 1" for relative mouse movement but doesn't work ???. File has read execution and write permissions for the group and user mobile.

Rotation setting is 0 but i can rotate the screen. Seems like ags is not reading the configuration file :~(

Can anyone help, please?

Thank you in advance! :)
Title: Re: AGS engine iOS port
Post by: tsode on Tue 09/09/2014 15:34:01
I realized that the "ios.cfg" file must placed it into "/var/mobile/Documents/ags/game/" and not into "/var/mobile/Documents/ags/". At least this works for me, because rotation setting works inside this path.

When i set "mouse_method = 1" for relative mouse movement, the cursor doesn't move, while setting "mouse_method = 0" works but isn't relative movement.

My iOS version is 7.1.2

Please Help!! :cry: :~(
Title: Re: AGS engine iOS port
Post by: HappehLemons on Wed 12/11/2014 17:46:43
Any chance this will ever be updated? I get a loading screen when I try to play newer games on this (Quest for infamy, heroine's quest ect..) that engines are most likely not supported.
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Thu 13/11/2014 08:43:21
Someone needs to build a new version of the engine (3.3.2 at least). Is there anyone who managed to do this besides JJS? JJS does not appear on forums often lately.

Regarding Heroine Quest in particular, it uses steam plugin, which wont be working on iOS, so we need either make built in plugin stubs, or automatic stub generator feature (which I plan to work on in nearby future).
Title: Re: AGS engine iOS port
Post by: HappehLemons on Thu 13/11/2014 09:02:02
Sorry I should've mentioned this originally. I'm actually using a version of the game (for heroines quest at least) that doesn't use the steam plugin. version 1.0 and 1.1 don't use the steam plugin, and both those versions are working on android in my testing.
Title: Re: AGS engine iOS port
Post by: monkey0506 on Thu 13/11/2014 14:47:47
Of course someone needs to provide a new build of this, but I just wanted to point out that the Steam plugin has an open-source stub (https://github.com/monkey0506/agsteamstub) (which also needs to be built for iOS, but it can be built). I've never built anything for iOS or even really used Mac OS, but I have a virtual box running OS X Yosemite with XCode installed. I've been meaning to take a look at it (among all the other things on my plate).
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Thu 13/11/2014 14:51:13
I might be confusing with Android actually, I recall either iOS or Android simply does not let to add additional binaries aside the base program installation. But this info may be outdated.
Title: Re: AGS engine iOS port
Post by: monkey0506 on Thu 13/11/2014 14:55:17
Actually, yes. I've heard that before. Sorry! :-[ iOS doesn't allow any external assemblies, so the stub would have to be built into the iOS port of the engine to be able to load properly.
Title: Re: AGS engine iOS port
Post by: vga256 on Wed 19/11/2014 20:53:58
i've got a working build of AGS 3.3.0 using patches written by JanetC and JJS if anyone needs it. not sure if people are looking for the ipa or the xcode project though. let me know.
Title: Re: AGS engine iOS port
Post by: HappehLemons on Fri 21/11/2014 18:42:45
It would be great if you could post it, I'd love to start using gas again on my iPad.
Title: Re: AGS engine iOS port
Post by: vga256 on Fri 21/11/2014 20:58:54
which do you need - the xcode project or a pre-compiled IPA?
Title: Re: AGS engine iOS port
Post by: HappehLemons on Fri 21/11/2014 23:40:35
Compiled IPA is what I was hoping for, thanks!
Title: Re: AGS engine iOS port
Post by: tsode on Tue 02/12/2014 15:48:45
Quote from: portdr on Wed 19/11/2014 20:53:58
i've got a working build of AGS 3.3.0 using patches written by JanetC and JJS if anyone needs it. not sure if people are looking for the ipa or the xcode project though. let me know.

portdr Can you send me the Compiled IPA too please?

Thank you in advance! ;)
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Tue 02/12/2014 16:06:51
Would not that be easier to just upload these to some file hosting service and share a link?
Title: Re: AGS engine iOS port
Post by: vga256 on Tue 09/12/2014 17:15:44
Sorry for the delay everyone. I realized that I need to make some changes to the port to make it useful for general use.
Title: Re: AGS engine iOS port
Post by: tsode on Fri 12/12/2014 19:38:20
Don't worry about it :P

Please Keep Us Updated ;)
Title: Re: AGS engine iOS port
Post by: Mehrdad on Wed 24/12/2014 14:48:11
Apple announced that starting 1. February 2015, apps have to support 64 bit.Can we use AGS iOS port for commercial game on Appstore yet?
https://developer.apple.com/news/?id=10202014a
http://www.macrumors.com/2014/12/17/apple-64-bit-support-reminder/
Title: Re: AGS engine iOS port
Post by: JanetC on Mon 02/02/2015 19:00:49
Does anyone know a commercial iOS contractor that would be interested in low-level engine stuff?

Without JJS I really don't know how to keep AGS up to date for more recent version of iOS. I have been in contact with JJS but he is too busy to work on the code right now.

Wadjet Eye Games is willing to pay a professional to update the port. We need it to work properly with iOS 8. Currently it crashes a lot and can't be built as 64-bit (which Apple are requiring for uploads to the App store)

Can anyone recommend a contractor to do this? They'd need to be experienced in low-level iOS code.

Thanks!

Janet

janet@wadjeteyegames.com
Title: Re: AGS engine iOS port
Post by: AGD2 on Tue 03/02/2015 20:08:20
We're also running into this problem. It might be worth looking for someone on Elance.com ?
Title: Re: AGS engine iOS port
Post by: JanetC on Tue 03/02/2015 20:22:27
Quote from: AGD2 on Tue 03/02/2015 20:08:20
We're also running into this problem. It might be worth looking for someone on Elance.com ?

I would prefer a personal recommendation so I can be sure the developer is competent and can work with an existing codebase. There's a lot of sleazy iOS developers out there because of the "gold rush" nature of the platform. Trust me, I get spammed by them every day!
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Tue 03/02/2015 20:53:58
The engine itself should be generally 64-bit compatible (it works on 64-bit Linux), so I guess it is a matter of building iOS wrapper properly?
Unfortunately I can't help with that; but I may try to help if there will be new issues inside the main engine code.
Title: Re: AGS engine iOS port
Post by: JanetC on Tue 05/05/2015 21:14:40
Well, I finally got the iOS engine building for 64-bit! Now to test it and hopefully release some games!
Title: Re: AGS engine iOS port
Post by: JanetC on Thu 28/05/2015 16:58:17
I've put a big post in the engine forum below about how I updated 3.3.3 to work on iOS. It serves as a complete guide to releasing an AGS game on iPhone or iPad. I didn't want it to get lost in this biiiiig thread so I made a new thread :-)
Title: Re: AGS engine iOS port - translation ploblem
Post by: ZoliMax on Mon 17/08/2015 17:45:16
I would like to play Maniac Mansion Deluxe in russian on iOS.
I did all the things from 1st message, but only english is working.
I copied https://github.com/adventuregamestudio/ags/blob/master/iOS/misc/ios.cfg to /var/mobile/Documents/ags/ and maked 777 rights, set "translation = Russian" but still only english. Also, tried to use acsetup.cfg from win-version (in win russian works fine)  renamed to ios.cfg but also no effect.
iOS 8.1, AGS 3.2.1k from http://jjs.at/cydia

Please, help to get translation working on iOS
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Mon 17/08/2015 17:47:07
Quote from: ZoliMax on Mon 17/08/2015 17:45:16
I would like to play Maniac Mansion Deluxe in russian on iOS.
I did all the things from 1st message, but only english is working.
I copied https://github.com/adventuregamestudio/ags/blob/master/iOS/misc/ios.cfg to /var/mobile/Documents/ags/ and maked 777 rights, set "translation = Russian" but still only english. Also, tried to use acsetup.cfg from win-version (in win russian works fine)  renamed to ios.cfg but also no effect.
iOS 8.1, AGS 3.2.1k from http://jjs.at/cydia

Please, help to get translation working on iOS

To make it clear: you do have a Russian.tra file with your game?
Do other translations work?
Title: Re: AGS engine iOS port
Post by: ZoliMax on Mon 17/08/2015 18:03:05
Quote from: Crimson Wizard on Mon 17/08/2015 17:47:07
To make it clear: you do have a Russian.tra file with your game?
Yes, I have. (http://i008.radikal.ru/1508/7f/20a41c12abfdt.jpg) (http://i008.radikal.ru/1508/7f/20a41c12abfd.png)
Quote from: Crimson Wizard on Mon 17/08/2015 17:47:07Do other translations work?
No, I done the same thing to French - and no effect.
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Tue 18/08/2015 22:49:19
My guess is that it cannot find or read these files for some reason; but unfortunately I do not own iOS device myself, and do not know how it works.
I have sent a question to game developer who recently was using AGS iOS port. Maybe I'll get some ideas from her.
Title: Re: AGS engine iOS port
Post by: ZoliMax on Mon 24/08/2015 09:18:56
I solved it. No settings was usied when ios.cfg was placed into /var/mobile/Documents/ags/ as it written in 1st message.
I moved it directly to /var/mobile/Documents/ags/game/ and translations and other options become works. But, game randomly crashes, sometimes when I'm tap all the screen pieces trying to find any objects...
Title: Re: AGS engine iOS port
Post by: TheVolumeRemote on Tue 29/09/2015 17:44:06
If anyone is further pursuing a commercial version of JJS' amazing port, I'd be interested as a financial backer... I'd love to see this in a neat download with an easy game import coded in from our Archives... Send an email to Paul@8BitAirwaves.com if you're interested in putting this together, I just don't ha e the technical skills to do it myself!!
Title: Re: AGS engine iOS port
Post by: TheVolumeRemote on Tue 29/09/2015 17:46:34
And not to make it weird but I just want to respectfully acknowledge that JJS is the creator and presumed owner of this software, not sure where Janet and Dave come in but I yield to them!! I don't want a penny- just to maybe spend some so we can all enjoy this with minimal skills and knowledge:)
Title: Re: AGS engine iOS port
Post by: sonneveld on Tue 29/09/2015 22:54:59
When I have time I plan to work on this. Not sure financial backing is necessary?
Title: Re: AGS engine iOS port
Post by: Sslaxx on Wed 30/09/2015 12:44:38
Quote from: 8BitAirwaves on Tue 29/09/2015 17:46:34
And not to make it weird but I just want to respectfully acknowledge that JJS is the creator and presumed owner of this software, not sure where Janet and Dave come in but I yield to them!! I don't want a penny- just to maybe spend some so we can all enjoy this with minimal skills and knowledge:)
Financial backing? You should also talk to Crimson Wizard if that's what you're interested in.
Title: Re: AGS engine iOS port
Post by: TheVolumeRemote on Sat 31/10/2015 16:19:09
Thank you Sslax, I'll send Wizard a message! I understand finical backing isn't exactly necessary- as I'm sure the majority here have the tools and knowledge already. However I'm lacking the latter and in respect to everyone's time- I'd offer funds to someone for committing to its completion:)
I wonder if its possible to create a downloadable (system) Profile for iOS that is signed (or not) and has compiled game data or something of the sort. Anyway thanks again
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Sat 31/10/2015 18:35:11
Quote from: 8BitAirwaves on Sat 31/10/2015 16:19:09
Thank you Sslax, I'll send Wizard a message!
I am afraid I am not the guy to suggest money for working on iOS port, because I have very little knowledge of it.
I think it will be better to discuss this with Nick Sonneveld and/or Wadjet Eye; the latter invest money in improving iOS port of AGS anyway.
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Thu 02/06/2016 12:54:15
Can anyone tell, whether is would be acceptable to increase default sprite cache size to 100 MB for iOS device? We have a restriction in the iOS port code that limits cache size to 20 MB always (even regardless the config), and I do not know why is that so.
Title: Re: AGS engine iOS port
Post by: JanetC on Thu 02/06/2016 20:09:34
Quote from: Crimson Wizard on Thu 02/06/2016 12:54:15
Can anyone tell, whether is would be acceptable to increase default sprite cache size to 100 MB for iOS device? We have a restriction in the iOS port code that limits cache size to 20 MB always (even regardless the config), and I do not know why is that so.

I don't know why either.
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Thu 02/06/2016 20:30:35
I checked the specs of iOS devices here: https://en.wikipedia.org/wiki/List_of_iOS_devices
Apparently, newest devices have like 1-2 GB of RAM, but previous versions had much less, like 128-512 MB. I do not know how actively older iPhones are used in general, and not sure whether it will be safe to hardcode default of 100 MB sprite cache for iPhone then. I can enable reading this property from config file though (do not see why not).
Title: Re: AGS engine iOS port
Post by: JanetC on Fri 03/06/2016 18:03:27
Quote from: 8BitAirwaves on Tue 29/09/2015 17:44:06
If anyone is further pursuing a commercial version of JJS' amazing port, I'd be interested as a financial backer... I'd love to see this in a neat download with an easy game import coded in from our Archives... Send an email to Paul@8BitAirwaves.com if you're interested in putting this together, I just don't ha e the technical skills to do it myself!!

Wadjet Eye has tried throwing money at people for this project but everyone is a gentleman amateur and doesn't want to accept money :)

Quote from: Crimson Wizard on Thu 02/06/2016 20:30:35
I checked the specs of iOS devices here: https://en.wikipedia.org/wiki/List_of_iOS_devices
Apparently, newest devices have like 1-2 GB of RAM, but previous versions had much less, like 128-512 MB. I do not know how actively older iPhones are used in general, and not sure whether it will be safe to hardcode default of 100 MB sprite cache for iPhone then. I can enable reading this property from config file though (do not see why not).

I tried setting to to 100mb and it didn't seem to make any difference to the first 5 minutes of Primordia. Ran fine but not any faster or better.
Title: Re: AGS engine iOS port
Post by: Crimson Wizard on Thu 09/06/2016 13:31:30
Quote from: JanetC on Fri 03/06/2016 18:03:27
I tried setting to to 100mb and it didn't seem to make any difference to the first 5 minutes of Primordia. Ran fine but not any faster or better.
This setting will make difference only if the game must have real lot sprites, or just many high-res sprites kept loaded at the same time, such as smooth high-res character animations.
Title: Re: AGS engine iOS port
Post by: Koekie on Fri 02/09/2016 16:26:58
Quote from: tsode on Tue 02/12/2014 15:48:45
Quote from: portdr on Wed 19/11/2014 20:53:58
i've got a working build of AGS 3.3.0 using patches written by JanetC and JJS if anyone needs it. not sure if people are looking for the ipa or the xcode project though. let me know.

portdr Can you send me the Compiled IPA too please?

Thank you in advance! ;)

Hi portdr,

Would you still be able to provide for a pre compiled IPA version? I would much appreciate that.
I've tried the IPA from different sources and it is not working on my iPad ios9.

If you can't provide for it, is there someone who has experience running the port on ios9?
If so please explain how to get the iOS port to work on my ios9 device?

Many thanks for any response,
Koekie

Title: Re: AGS engine iOS port
Post by: JanetC on Fri 16/09/2016 14:56:06
Quote from: Koekie on Fri 02/09/2016 16:26:58
Quote from: tsode on Tue 02/12/2014 15:48:45
Quote from: portdr on Wed 19/11/2014 20:53:58
i've got a working build of AGS 3.3.0 using patches written by JanetC and JJS if anyone needs it. not sure if people are looking for the ipa or the xcode project though. let me know.

portdr Can you send me the Compiled IPA too please?

Thank you in advance! ;)

Hi portdr,

Would you still be able to provide for a pre compiled IPA version? I would much appreciate that.
I've tried the IPA from different sources and it is not working on my iPad ios9.

If you can't provide for it, is there someone who has experience running the port on ios9?
If so please explain how to get the iOS port to work on my ios9 device?

Many thanks for any response,
Koekie



I'm not sure that anyone will be able to get my version of the port running without expertise in compiling with XCode and a paid developer account. The older version of the port by JJS might have worked because all it required was a jailbroken device, but that older port probably doesn't even run anymore on modern devices.
Title: Re: AGS engine iOS port
Post by: TheVolumeRemote on Sat 08/10/2016 18:40:40
Send me a PM with your email address and I'll send you an unsigned IPA of AGS 3.3.0. It works with most games on every device I've tried (iPhone 6+, iPad Pro etc- not sure about iPhone 7). It doesn't seem to work however with large games such as Primordia, Shardlight and Kathy Rain- the prior two I can confirm do work on Android. Also I don't want to violate any rules here or disrespect Janet and Dave so let me know if this is a no-no! Finally and as always please use a Purchased copy of the game to support our wonderful community:)
Title: Re: AGS engine iOS port
Post by: TheVolumeRemote on Sat 08/10/2016 18:42:42
Also you do not need to have a jailbroken device however if you don't, you'll need to purchase a IPA installer such as iPastore or (preferably) Zeusmos. There are alternatives to those as well with a quick Google search but I recommend one of the two.
Title: Re: AGS engine iOS port
Post by: JanetC on Wed 12/10/2016 15:52:43
Quote from: 8BitAirwaves on Sat 08/10/2016 18:40:40
Send me a PM with your email address and I'll send you an unsigned IPA of AGS 3.3.0. It works with most games on every device I've tried (iPhone 6+, iPad Pro etc- not sure about iPhone 7). It doesn't seem to work however with large games such as Primordia, Shardlight and Kathy Rain- the prior two I can confirm do work on Android. Also I don't want to violate any rules here or disrespect Janet and Dave so let me know if this is a no-no! Finally and as always please use a Purchased copy of the game to support our wonderful community:)

AGS is open source as is our (Wadjet Eye's) version of it, so you can do anything you like!
Title: Re: AGS engine iOS port
Post by: bx83 on Wed 29/01/2020 22:33:20
Anyone know if the iOS engine is/will be upgraded to 3.5.0?
Title: Re: AGS engine iOS port
Post by: eri0o on Wed 29/01/2020 23:44:04
Someone used it the month before this to port a game and did a pr with their changes. I do not have Apple hardware to check. Using it requires some familiarity with XCode and iOS.
Title: Re: AGS engine iOS port
Post by: eri0o on Mon 17/01/2022 12:38:49
I created an issue in AGS repository about the iOS SDL2 port. If any iOS developer is working it, please signal in the issue! Any questions or problems please ask. Unfortunately I don't have an iOS device, so I am a bit limited. :/

https://github.com/adventuregamestudio/ags/issues/1505
Title: Re: AGS engine iOS port
Post by: eri0o on Mon 17/10/2022 01:48:21
Hey, I started the iOS port here in this branch (https://github.com/ericoporto/ags/tree/fix-ios-xcode). It's not finished yet, I noticed there are some caveats to build for iOS without a developer account and without at least one iOS device registered in your account.

If you are an iOS developer and have an iOS device, let me know, your input would be important.

It looks like the iOS port was in recent years focused on porting your own games to iOS, probably with intent of making them available in the app store, so I am approaching the port from that angle.
Title: Re: AGS engine iOS port
Post by: eri0o on Sat 09/12/2023 17:41:50
Hey, @edmundito did a bunch of work in the iOS Port solving hard problems, I feel we are in good shape to have something for 3.6.X soon :)
Title: Re: AGS engine iOS port
Post by: eri0o on Wed 20/12/2023 00:58:29
It's here

https://github.com/adventuregamestudio/ags/tree/master/iOS#readme

It is working, but so far in a real device I think it only has been tested in my iPhone 14, so we probably need more people experimenting with it.