| iPod Touch/iPhone Port? |
| Author
|
Thread |
 |
|
|
|
PsYcO
Got 2 warnings

Joined: 24 Dec 2006
Posts: 513
Location: UK, Enfield |
excellent, can't wait for the release candidate(hopefully ill be able to get my hands on one shortly there after)
so what game requires the most processing power, out of the current library of games? would rock if you could get that working.
how would the virtual mouse be useful though(maybe more for tracking?)? and how would one go about turning it on and off, i assume there would/will be a side bar of some kind. containing multiple functions? keyboard, mouse, options and/or save functionality.
any eta on when a beta will be available?
|
Wed Oct 24, 2007 11:54 am |
|
|
|
|
eriktorbjorn
ScummVM Developer

Joined: 31 Oct 2005
Posts: 3136
|
quote: Originally posted by ruudboy
Regarding load & save, I realise ScummVM handles that already. I was more talking about hooking up the application suspend & resume messages to tell ScummVM to save & load your game.
Hmm... That may be tricky. Game engines don't always allow saving at arbitrary points during gameplay. It's possible that a "forced" savegame like that won't work properly.
I don't know for sure, though.
|
Wed Oct 24, 2007 1:29 pm |
|
|
DrMcCoy
ScummVM Developer

Joined: 17 Dec 2005
Posts: 529
Location: Braunschweig, Germany |
At least in Gob games, there are places where the game doesn't allow saving and doing so anyway will corrupt the save (i.e. the game will be unplayable after loading such a save).
|
Wed Oct 24, 2007 1:36 pm |
|
|
aubin

Joined: 12 Mar 2006
Posts: 14
|
quote: Originally posted by eriktorbjorn
Hmm... That may be tricky. Game engines don't always allow saving at arbitrary points during gameplay. It's possible that a "forced" savegame like that won't work properly.
Rather than saving, is it possible to suspend the game engine and resume it? I could have sworn that such a thing was possible in the DS port.
I suppose the most brute force way to do this would be to dump the memory onto the disc and check for the "memory dump" when the user clicks on the ScummVM application on the phone.
That said, it's very likely that the iPhone already has a method of doing so, seeing as many of the other applications seem to retain state though I haven't seen it in any third-party stuff yet.
|
Wed Oct 24, 2007 3:46 pm |
|
|
|
|
Vinterstum
ScummVM Developer

Joined: 16 Oct 2005
Posts: 585
|
quote: Originally posted by TomFrost quote: Originally posted by aubin I suppose the most brute force way to do this would be to dump the memory onto the disc and check for the "memory dump" when the user clicks on the ScummVM application on the phone.
This is a method commonly employed in console emulators -- brute, but very fast and effective. Even if this weren't necessary to making a quicksave when a call comes in, it'd still be a darn nice feature 
That would be... tricky . Emulators can do it since the games basically run in a virtual machine with its own seperate memory space. In ScummVM everything is native, all you could do is do a full memory dump of the whole application and somehow restore that afterwards. Which won't work
Letting the engines provide hooks for saving and loading save state is all you can do. And since as mentioned already they may not always be in a state where a save is possible (Kyra also has this problem, I believe), there won't be any guarantee that you'd end up with a save (the engines have to be able to veto the operation, so to speak). But, even with those caveats I think it'd still be a nice feature, and probably handy for other ports as well (Symbian and Windows CE especially, where phonecalls can interrupt things).
But for the port: Looks like this is progressing very nicely (and is saving me some work ). Looking forward to getting it into the repository, and I'd be glad to help with anything that's needed (since I already have the toolchain etc set up).
|
Wed Oct 24, 2007 4:45 pm |
|
|
|
|
Vinterstum
ScummVM Developer

Joined: 16 Oct 2005
Posts: 585
|
quote: Originally posted by aubin
The real question is to whether it is possible to do this with the UIKit functions. There is UISuspendInfo.h which may be the Apple-supplied stuff to accomplish this.
setRestoreOnResume() sounds like it might help but I can't claim to have ever used it.
Yeah I'd expect some events that will get sent when the application should pause/resume itself to handle phonecalls, etc.
Which may also be something not all our engines can handle (pausing in general) but worth looking into. Just switching off screen updates may be enough.
|
Wed Oct 24, 2007 5:28 pm |
|
|
sev
ScummVM Lead

Joined: 21 Sep 2005
Posts: 1791
|
quote: Originally posted by ruudboy Regarding load & save, I realise ScummVM handles that already. I was more talking about hooking up the application suspend & resume messages to tell ScummVM to save & load your game.
Yes, I had that in mind too, just engines have to tell your backend which functions are for save and load so you could call them.
quote: Originally posted by ruudboy I'm debating whether it would be worth adding a native Cocoa-based launcher to the iPhone version. Anything thoughts? Would that be frowned upon? It looks like the Windows CE version does it.
I don't recommend this. Better write a theme for our GUI. It's fully customizable, just there happened no more efforts besides simple color changing to add some other look and feels.
Eugene
|
Wed Oct 24, 2007 7:08 pm |
|
|
bramvandijk
Joined: 30 May 2006
Posts: 25
|
If the whole saving and loading gives problems, why not tell a game to pause? I'm not sure whether each engine has a pause option, but it should be valid:
Get a call
->pause game
after the call
->unpause game
|
Thu Oct 25, 2007 10:55 am |
|
|
aubin

Joined: 12 Mar 2006
Posts: 14
|
quote: Originally posted by bramvandijk If the whole saving and loading gives problems, why not tell a game to pause? I'm not sure whether each engine has a pause option, but it should be valid:
Get a call
->pause game
after the call
->unpause game
The problem is that I don't think the iPhone backgrounds the application when you click the home button, it seems to close the process outright so any maintenance of state has to be done in software.
As far as I can tell (by watching the processes) other than a few programs (Mail, iPod) most programs do not run simultaneously.
Pausing is probably a good idea, but only if there is a way to suspend and resume the program where it is, as opposed to restarting it.
|
Thu Oct 25, 2007 5:16 pm |
|
|
TomFrost

Joined: 23 Apr 2007
Posts: 177
|
Looking at the code for Apollo IM, Chat, IRCm, or Colloquy (iPhone edition) may help. They all seem to have found a way to continue processing while not active.
|
Thu Oct 25, 2007 5:37 pm |
|
|
lowjob
Joined: 05 Sep 2007
Posts: 3
Location: Queensland, Australia |
The Pedometer program is a perfect example of this. Once started, you can press the Home button and it continues counting steps in the background. You can also run any other program and when you go back into the Pedometer, its still counting your steps.
Great work by the way guys!
|
Thu Oct 25, 2007 10:22 pm |
|
|
|
Forum Rules:
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|
Powered by phpBB © 2001, 2006 phpBB Group
Forum design by ScummVM team, icons by raina
|
|