SFML community forums

General => General discussions => Topic started by: Kanefa on July 27, 2015, 04:30:50 am

Title: Android and iOS ports Status
Post by: Kanefa on July 27, 2015, 04:30:50 am
I want to ask about the progress of these two ports. I can see Mario is working hard on them. Are either of them far enough along to start a project and put it in a store? Would you currently recommend one over the other Thanks!
Title: Re: Android and iOS ports Status
Post by: AlexAUT on July 27, 2015, 09:43:37 am
The android port is definitly ready. I put Kroniax (https://play.google.com/store/apps/details?id=com.alexaut.kroniax) in the PlayStore when the ports came up and since then a lot of bugs got fixed. About the iOS port I have no clue.

Keep in mind SFML is using OpenGL ES 1.1 (or 1.0?) so you cannot use Shaders!



AlexAUT
Title: Re: Android and iOS ports Status
Post by: Mario on July 27, 2015, 09:31:00 pm
It's using 1.1, so only fixed pipeline rendering (for now).
Title: Re: Android and iOS ports Status
Post by: Daid on July 28, 2015, 07:36:47 am
The android port is definitly ready. I put Kroniax (https://play.google.com/store/apps/details?id=com.alexaut.kroniax) in the PlayStore when the ports came up and since then a lot of bugs got fixed. About the iOS port I have no clue.
Can I ask you how you managed the application lifecycle? As I cannot seem to figure it out without causing battery drain:
http://en.sfml-dev.org/forums/index.php?topic=18614.0


Other then that. I found the Android port quite mature, I only had to change a few small things for my application to work on Android. But information about it is quite limited. I'm posting my finding in topics that start with [android] so it can be found easier.
Title: Re: Android and iOS ports Status
Post by: Mario on July 28, 2015, 10:01:24 am
The battery drain problem is actually pretty easy to solve if you don't want to do any background task/processing.

Just create a boolean variable "isactive" and set it to your current app state (i.e. whether it's in foreground or not; use events for this).

Then, depending on this variable, either call "pollEvent()" (app is in foreground) or call "waitEvent()" (app is in background).

This way your app will process all events, but it won't run its main loop while not being active.