iPod Touch/iPhone Port?
Moderator: ScummVM Team
I've got a full-blown port working.
Instead of using the SDL backend, I've written an iPhone backend which uses CoreSurface for rendering. The CoreSurface buffer is then attached to a LayerKit layer, so I've got scaling, aspect ratio correction, and automatic rotation between portait and landscape rendering when you rotate the phone (ie hold it sideways).
I've also got the mouse working, and am currently working on keyboard support.
I'll post a video this evening, and will post my code hopefully by the weekend.
Instead of using the SDL backend, I've written an iPhone backend which uses CoreSurface for rendering. The CoreSurface buffer is then attached to a LayerKit layer, so I've got scaling, aspect ratio correction, and automatic rotation between portait and landscape rendering when you rotate the phone (ie hold it sideways).
I've also got the mouse working, and am currently working on keyboard support.
I'll post a video this evening, and will post my code hopefully by the weekend.
Whoa! Nice work! That's better than I could have hoped for with the SDL layer.ruudboy wrote:I've got a full-blown port working.
Instead of using the SDL backend, I've written an iPhone backend which uses CoreSurface for rendering. The CoreSurface buffer is then attached to a LayerKit layer, so I've got scaling, aspect ratio correction, and automatic rotation between portait and landscape rendering when you rotate the phone (ie hold it sideways).
I've also got the mouse working, and am currently working on keyboard support.
- Vinterstum
- ScummVM Developer
- Posts: 580
- Joined: Sun Oct 16, 2005 6:59 am
Nice! Looking forward to seeing it .ruudboy wrote:I've got a full-blown port working.
That's basically what the iPhone SDL port does . But yeah I had reached the conclusion to use the same approach, even if it did mean including some Objective C code.ruudboy wrote:Instead of using the SDL backend, I've written an iPhone backend which uses CoreSurface for rendering. The CoreSurface buffer is then attached to a LayerKit layer
Dude. That's seriously slick. Nice work Looking forward to a release!
Future iPhone-specific ideas:
* An under-the-finger magnifier, much like what you get when moving your cursor in a text area in any other iPhone program. Since many games involve tapping a very small group of pixels, being able to put your finger on screen, see a closeup of what's under it, move to the specific area, and release would be extremely beneficial. This could be turned on and off.
* Game suspension. If a phone call comes in or you have to hit the home button to check something quickly, it would be great if the game would suspend to pick up where it was left off next time you select the icon. Being forced to go into an interface to save first would be a deal-breaker for many.
* Control Buttons. The iPhone will need a way to access save/restore menus. Taking a page from NES.app, these buttons could appear while the iPhone is in the vertical position since there's room there, and disappear when the phone is horizontal and the game takes up the whole screen.
Just some ideas for the future -- looking great so far!
Future iPhone-specific ideas:
* An under-the-finger magnifier, much like what you get when moving your cursor in a text area in any other iPhone program. Since many games involve tapping a very small group of pixels, being able to put your finger on screen, see a closeup of what's under it, move to the specific area, and release would be extremely beneficial. This could be turned on and off.
* Game suspension. If a phone call comes in or you have to hit the home button to check something quickly, it would be great if the game would suspend to pick up where it was left off next time you select the icon. Being forced to go into an interface to save first would be a deal-breaker for many.
* Control Buttons. The iPhone will need a way to access save/restore menus. Taking a page from NES.app, these buttons could appear while the iPhone is in the vertical position since there's room there, and disappear when the phone is horizontal and the game takes up the whole screen.
Just some ideas for the future -- looking great so far!
- DrMcCoy
- ScummVM Developer
- Posts: 595
- Joined: Sat Dec 17, 2005 1:33 pm
- Location: Braunschweig, Germany
- Contact:
How about using one of these fake pen thingies? (However they're called)TomFrost wrote:Since many games involve tapping a very small group of pixels, being able to put your finger on screen, see a closeup of what's under it, move to the specific area, and release would be extremely beneficial.
But another point: A way to move the cursor without clicking would be nice (and actually essential for the Gob games).
Unfortunately, a stylus wouldn't actually work. Not unless you carved one out of a hot dog. The iPhone screen doesn't detect pressure or heat or any of that, it detects electrical conductivity much like a touch-lamp. Whatever you're using on the screen has to be organic/hold an electrical charge, much like your body. Or a hot dog.
If anyone goes into business making hot dog styluses, I want in
I agree, though -- making a way to move without clicking would be fantastic. It's essential in a lot of games to hover over an object to see what it is. Perhaps moving your finger a certain distance from where you first put it on screen before releasing would allow you to release without sending a click? That would work, but it's hard to predict how cumbersome that might feel. Having a second finger touching the screen to denote a mouse move without a click may work too.
If anyone goes into business making hot dog styluses, I want in
I agree, though -- making a way to move without clicking would be fantastic. It's essential in a lot of games to hover over an object to see what it is. Perhaps moving your finger a certain distance from where you first put it on screen before releasing would allow you to release without sending a click? That would work, but it's hard to predict how cumbersome that might feel. Having a second finger touching the screen to denote a mouse move without a click may work too.
Last edited by TomFrost on Tue Oct 23, 2007 9:52 pm, edited 1 time in total.
Sadly a stylus won't work with the iphone. The touch sensor is capacitance -based, which means it only senses when you touch it with your finger.
The magnifier is a great idea, though. Should be possible to draw something similar to the loupe used for repositioning the cursor in text fields.
I'll definitely be working on saving & restoring the state of your current game. It's pretty boring to wait through the intro sequence every time you want to play.
Control buttons are a valid request too. I do indeed plan to present a toolbar. Possibly if you tap in a specific corner of the screen, or as you suggest, only make the toolbar visible when the screen is vertical (as we have vertical screen space to spare then anyway.)
Thanks for the kind feedback
--
Ruudboy
The magnifier is a great idea, though. Should be possible to draw something similar to the loupe used for repositioning the cursor in text fields.
I'll definitely be working on saving & restoring the state of your current game. It's pretty boring to wait through the intro sequence every time you want to play.
Control buttons are a valid request too. I do indeed plan to present a toolbar. Possibly if you tap in a specific corner of the screen, or as you suggest, only make the toolbar visible when the screen is vertical (as we have vertical screen space to spare then anyway.)
Thanks for the kind feedback
--
Ruudboy
Every engine already has that implemented. What you will need is:ruudboy wrote:I'll definitely be working on saving & restoring the state of your current game.
- Make engines provide save/load hooks to backend
- Implement possibility to load savegame from the launcher
Eugene