It's important that the main frame, displaying the OpenGL rendered graphics, has the proper dimensions and depending on the device orientation. It's also important that the frame is not covered by the iOS keyboard. This commit calculates the frame size depening on the orientation and the keyboard status. The keyboard knows its parent view and can resize it when the keyboard becomes visible or hidden. There are multiple scenarios where the frame size is changed. - When the keyboard is hidden/shown which can be automatically change depending on the device orientation - If the system demands the keyboard to get visible or hidden - When rotating the device - When suspending/resuming the application There can also be combination of the scenarios above, e.g. if suspending the application in landscape mode and resume it in portrait mode. A lot of effort has been put into testing different scenarios to verify that the screen size becomes correct. However there might be some scenario which has not been covered. |
||
---|---|---|
.. | ||
ios7_app_delegate.h | ||
ios7_app_delegate.mm | ||
ios7_common.h | ||
ios7_game_controller.h | ||
ios7_game_controller.mm | ||
ios7_gamepad_controller.h | ||
ios7_gamepad_controller.mm | ||
ios7_keyboard.h | ||
ios7_keyboard.mm | ||
ios7_main.mm | ||
ios7_misc.mm | ||
ios7_mouse_controller.h | ||
ios7_mouse_controller.mm | ||
ios7_options.mm | ||
ios7_osys_events.cpp | ||
ios7_osys_main.cpp | ||
ios7_osys_main.h | ||
ios7_osys_misc.mm | ||
ios7_osys_sound.cpp | ||
ios7_osys_video.mm | ||
ios7_scummvm_view_controller.h | ||
ios7_scummvm_view_controller.mm | ||
ios7_touch_controller.h | ||
ios7_touch_controller.mm | ||
ios7_video.h | ||
ios7_video.mm | ||
module.mk | ||
README.md |
ScummVM for iOS 7.1+
This is a quick fix of the latest ScummVM (1.8.0) for iOS 7.1. It has been tested on real iPhone 6S+, and iPad Pro, and also on all the available Xcode simulators.
I tried to use all the latest iOS features to replace the old code. For instance, it uses gesture recognizers most of the time, it supports the new iPhones 6 / 6+ / 6s / 6s+ resolution, and you can copy your game files using iTunes.
Compilation
See https://wiki.scummvm.org/index.php/Compiling_ScummVM/iPhone
Usage
The game data files can be copied on the iOS device using iTunes. Once done, add your games in ScummVM as usual.
Here is a list of the in-game gestures:
Gesture | Description |
---|---|
Two fingers swipe down | Display the ScummVM menu for loading, saving, etc. |
Two fingers swipe right | Enable / disable the touchpad mode |
Two fingers swipe up | Enable / disable the mouse-click-and-drag mode |
Two fingers tap | Simulate a right click. You should tap with one finger, and then tap with another while keeping your first finger on the screen. |
Two fingers double-tap | Skip the cinematic / video |
The iOS keyboard is visible when the device is in portrait mode, and hidden in landscape mode.
External devices such as mouse, trackpad and gamepad controllers, are supported from iOS 14 and later.