<feed xmlns='http://www.w3.org/2005/Atom'>
<title>godot.git/platform/iphone, branch mirror</title>
<subtitle>Godot Engine – Multi-platform 2D and 3D game engine https://godotengine.org</subtitle>
<id>https://git.neuromancer.sk/godot.git/atom/platform/iphone?h=mirror</id>
<link rel='self' href='https://git.neuromancer.sk/godot.git/atom/platform/iphone?h=mirror'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/'/>
<updated>2018-05-11T10:19:39Z</updated>
<entry>
<title>Proper focus in/out handling on iOS</title>
<updated>2018-05-11T10:19:39Z</updated>
<author>
<name>Ruslan Mustakov</name>
</author>
<published>2018-05-11T10:07:43Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=08a924bcee3b4d128ddcf261a8c2fc915db486fc'/>
<id>urn:sha1:08a924bcee3b4d128ddcf261a8c2fc915db486fc</id>
<content type='text'>
PR #18675 (commit 96301e9) revealed a problem with how iOS lifecycle
callbacks were handled by Godot. Before that PR it was possible to get
NOTIFICATION_WM_FOCUS_IN callback without getting the corresponding
NOTIFICATION_WM_FOCUS_OUT. That commit added a flag to ensure they are
always coupled, but now there is an issue when, for example, you open a
notification panel on iOS without moving the app to background.
It resulted in view.stopAnimation being called without the
corresponding startAnimation when the app moves to foreground again, so
it looked like the game hanged.

I changed focus out notification to be sent in applicationWillResignActive,
because it makes more sense than to do it in applicationDidEnterBackground,
because it is always called in pair with applicationDidBecomeActive, where
focus in is sent. applicationDidEnterBackground may not come under
circumstances that are now described as a comment in code.
</content>
</entry>
<entry>
<title>Resume audio on iOS after phone call or alarm</title>
<updated>2018-05-07T08:48:46Z</updated>
<author>
<name>Ruslan Mustakov</name>
</author>
<published>2018-05-07T08:44:07Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=96301e934d7600975922c5f373a488a532d77aad'/>
<id>urn:sha1:96301e934d7600975922c5f373a488a532d77aad</id>
<content type='text'>
When a phone call or an alarm triggers on iOS, the application receives
an "audio interruption" and it's up to the application to resume
playback when the interruption ends. I added handling for audio
interruptions same as if the game is focused out and then back in.
</content>
</entry>
<entry>
<title>Merge pull request #17196 from RandomShaper/improve-gui-touch</title>
<updated>2018-05-02T08:47:49Z</updated>
<author>
<name>Rémi Verschelde</name>
</author>
<published>2018-05-02T08:47:49Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=18c28c159d12c9d3227c2199998b271f7c5e5998'/>
<id>urn:sha1:18c28c159d12c9d3227c2199998b271f7c5e5998</id>
<content type='text'>
Implement universal translation of touch to mouse (3.1)</content>
</entry>
<entry>
<title>Implement universal translation of touch to mouse</title>
<updated>2018-04-30T17:03:38Z</updated>
<author>
<name>Pedro J. Estébanez</name>
</author>
<published>2018-02-24T02:04:30Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=de9d40a9537bafa613dc54f2200b7509ad6fa9e3'/>
<id>urn:sha1:de9d40a9537bafa613dc54f2200b7509ad6fa9e3</id>
<content type='text'>
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*)

The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers.

Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse.

*: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest.

On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction.

Plus: Improve/fix tracking of current mouse position.

** Summary of changes to settings: **

- `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse`
- New setting: `input/pointing_devices/emulate_mouse_from_touch`
</content>
</entry>
<entry>
<title>Provide error details when in-app purchase fails</title>
<updated>2018-04-19T14:04:20Z</updated>
<author>
<name>Ruslan Mustakov</name>
</author>
<published>2018-04-19T10:35:21Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=265caa687b6634487f5f2dcf20247534fd2a408e'/>
<id>urn:sha1:265caa687b6634487f5f2dcf20247534fd2a408e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>iPhone X support and iOS-related fixes</title>
<updated>2018-04-11T07:53:24Z</updated>
<author>
<name>Ruslan Mustakov</name>
</author>
<published>2018-04-10T10:35:30Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=1d9a3a9b1c9ef7db26e53c8aeaab731992cffd6e'/>
<id>urn:sha1:1d9a3a9b1c9ef7db26e53c8aeaab731992cffd6e</id>
<content type='text'>
Starting from April 2018 Apple no longer accepts apps that do not
support iPhone X. For games this mainly means respecting the safe area,
unobstructed by notch and virtual home button. UI controls must be
placed within the safe area so that users can interact with them.

This commit:

- Adds OS::get_window_safe_area method that returns unobscured area of
  the window, where interactive controls should be rendered.

- Reorganizes how launch screens are exported - the previous way was
  incorrect and modern iPhones did not pick up the correct screens and
  because of that used a non-native resolution to render the game.

- Adds launch screen options for iPhone X.

- Makes launch screens optional in the export template. If not
  specified, a white screen will be used.

- Adds App Store icon (1024x1024) export option as it now has to be
  bundled with the app instead of being provided in iTunes Connect.

- Fixes crash when launching games in iOS Simulator. It happened because
  controllerWasConnected callback came before the engine was
  initialized. Now in such case the controllers will be queued up and
  registered after initialization is done.

- Fixes issue with the virtual keyboard where for some reason
  autocorrection panel would intersect with the keyboard itself and not
  allow you to use the top row of the keyboard. This is fixed by
  disabling autocorrection altogether.

Closes #17358. Fixes #17428. Fixes #17331.
</content>
</entry>
<entry>
<title>Fix UpdatePowerInfo method implementation in PowerIphone class</title>
<updated>2018-03-30T23:52:37Z</updated>
<author>
<name>Igors Vaitkus</name>
</author>
<published>2018-03-30T23:52:37Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=06fab24348166e47d010029a3b0bf98b8f82bd32'/>
<id>urn:sha1:06fab24348166e47d010029a3b0bf98b8f82bd32</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix IPhone and OSX cross compilation</title>
<updated>2018-03-28T17:08:20Z</updated>
<author>
<name>Fabio Alessandrelli</name>
</author>
<published>2018-03-28T16:45:54Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=e7b9e2f97099bb37fc59dfc00affa04cee18a5d7'/>
<id>urn:sha1:e7b9e2f97099bb37fc59dfc00affa04cee18a5d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix iOS build - error due to GLES2 missing include (with the advice from bruvzg[m] on irc)</title>
<updated>2018-03-13T09:42:23Z</updated>
<author>
<name>Yannick Le Duc</name>
</author>
<published>2018-03-13T09:42:23Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=b5c7e6bac9b8ba611b52c694718c7405372dd585'/>
<id>urn:sha1:b5c7e6bac9b8ba611b52c694718c7405372dd585</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean and expose get_audio/video_driver_* funcs on OS class</title>
<updated>2018-03-04T17:18:05Z</updated>
<author>
<name>Marcelo Fernandez</name>
</author>
<published>2018-03-04T17:18:05Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=d780d774aa4630302fddbef0516e3f96beacd7b5'/>
<id>urn:sha1:d780d774aa4630302fddbef0516e3f96beacd7b5</id>
<content type='text'>
</content>
</entry>
</feed>
