Commit Graph
4320 Commits
Author SHA1 Message Date
Lars Sundström f9e1806b14 IOS7: Update README.md with support for external devices 2022-08-08 21:08:56 +01:00
Lars Sundström e7759ac0ef IOS7: Implement getHardwareInputSet to get connected devices
Trigger EVENT_INPUT_CHANGED when devices connects to make the ScummVM
engine update the hardware input set.
2022-08-08 21:08:56 +01:00
Lars Sundström d76bc708c0 IOS7: Add isConnected property to GameControllers 2022-08-08 21:08:56 +01:00
Lars Sundström 8d395fd790 IOS7: Add support for Extended Gamepad controllers
Add support for Extended Gamepad controllers. What defines extended
gamepad controllers can be found here:
https://developer.apple.com/documentation/gamecontroller/gcextendedgamepad

Support has been added for controlling the pointer position using the
left thumbstick, left clicks using the A-button and right clicks using
the B-button. Also the Main menu can be accessed using the Home/Menu
button.

The thumbstick values are received when changed, however if holding the
thumbstick in the same position the valueChangedHandler will not be
called. Therefore store the X- and Y-axis values and begin to poll
readings of the stored values for as long as the thumbstick is out of
the center position.
2022-08-08 21:08:56 +01:00
Lars Sundström f18305e715 IOS7: Add support for Joystick actions in GameController
Joystick actions are suitable for joysticks and gamepads where the
movements are updated by a controller stick. On gamepads that's usually
a thumbstick.

Add joystick events which can be triggered by each implemented
controller that should utilize the ScummVM Joystick events.
2022-08-08 21:08:56 +01:00
Lars Sundström c3513a151e IOS7: Add Mouse support using GameController framework
Add support for mouses using the GameController framework. This requires
iOS 14 and up. The trackpad on the magic keyboard to iPads is connected
as a mouse and of course other connected mouses.

The mouse movements triggers calls to the mouseMovedHandler code
block. The calls delivers delta movements on the X and Y axis from the
last pointer position. It doesn't keep track on where the pointer is in
the view. That's where pointerPosition property in the iPhoneView comes
into place.
2022-08-08 21:08:56 +01:00
Lars Sundström db2e15b3f1 IOS7: Factor out touch pointer handling to TouchController class
Move touch inputs to a TouchController class to move some logic from the
iPhoneView class. Only do this for touches on screen since connected
trackpads can generate touches as well. The latter ones are of type
UITouchTypeIndirectPointer while touches on screen are of type
UITouchTypeDirect. They are separated thanks to the preference key
UIApplicationSupportsIndirectInputEvents set to YES in Info.plist.
Without the preference above, there is no way to distinguish touches
from screen from a trackpad.
2022-08-08 21:08:56 +01:00
Lars Sundström 15507ebc50 IOS7: Add GameController base class
Add a GameController base class which handles user inputs from a
controller. The input is either a pointer move or a button action.
If the input is a pointer move, make sure that the move is within
valid coordinates in the game (respecting the resolution which is
most probably lower than the view resolution).
2022-08-08 21:08:56 +01:00
Lars Sundström 877d1ffa67 IOS7: Add pointerPosition property to iPhoneView class
Let the view keep the current pointer position as a property, allowing
it to be modified by controllers.
2022-08-08 21:08:56 +01:00
Lars Sundström 6387046666 IOS7: Make iPhoneView addEvent and getMouseCoords functions public
Squash with the one above
2022-08-08 21:08:56 +01:00
Lars Sundström f8604faf41 IOS7: Set view controller's preference to lock the pointer
Setting this property to true indicates the view controller’s preference
to lock the pointer, although the system may not honor the request.

For the system to consider locking the pointer:
The scene must be full screen, not in Split View or Slide Over, with no
other apps in Slide Over.
The scene must be in the UISceneActivationStateForegroundActive state.

The ScummVM iOS7 client fulfills the above so the pointer is locked.
Locking the pointer hides the OS cursor (the dot), however that's wanted
since the ScummVM engine draws its own pointer.
2022-08-08 21:08:56 +01:00
Le Philousophe 8829a9b4c0 VITA: Remove the now useless alternative targets 2022-08-07 18:15:09 +02:00
Le Philousophe 2a84d3e988 VITA: Add plugins support 2022-08-07 18:15:09 +02:00
Hubert Maier 01cb613cee AMIGAOS: Fix target installation 2022-08-05 14:12:04 +02:00
Lothar Serra Mari 795a92f819 WIN32: Add missing / to icons path 2022-08-01 23:12:05 +02:00
Lothar Serra Mari 3d5a93ce42 WIN32: Fix auto-detection of Icons path for grid view 2022-08-01 23:07:35 +02:00
Le Philousophe dba8aa642d RISCOS: Add more space to Wimp slot when not using makerun
We do the same as makerun: size of ELF + 32K
2022-07-31 21:58:49 +01:00
Donovan Watteau 27f9a460b5 JANITORIAL: Fix "the the" and similar typos 2022-07-29 19:36:40 +03:00
Cameron Cawley 5f7ae9a356 RISCOS: Report errors and backtrace on SIGSEGV 2022-07-09 15:55:36 +01:00
Cameron Cawley 80f90a15a5 RISCOS: Use makerun to calculate the wimpslot 2022-07-08 22:07:32 +01:00
Thunderforge 3ffbb3b030 COMMON: Adding endline to macosx_wrapper.mm 2022-07-02 22:34:36 +02:00
Thunderforge 3e1d4ae9ce COMMON: Restructuring how ApplicationSupport path is calculated and putting in Icons subdirectory 2022-07-02 22:34:36 +02:00
ThunderforgeandLe Philousophe 5ee9618c15 COMMON: Adding prefix to POSIX icon path
Co-authored-by: Le Philousophe <lephilousophe@users.noreply.github.com>
2022-07-02 22:34:36 +02:00
Thunderforge 1cb41b667f COMMON: Putting Icons in a subdirectory if in Win32 portable mode 2022-07-02 22:34:36 +02:00
Thunderforge 33389f062e COMMON: Adding comment for default path methods 2022-07-02 22:34:36 +02:00
Thunderforge 9afd41b195 COMMON: Renaming getDefaultIconPath() -> getDefaultIconsPath() 2022-07-02 22:34:36 +02:00
Thunderforge b5fac9671d COMMON: Add getDefaultIconPath() for Windows 2022-07-02 22:34:36 +02:00
Thunderforge fe001b35b5 COMMON: Adding default iconspath functionality
It's for macOS only right now.
2022-07-02 22:34:36 +02:00
Le Philousophe 4ab044a254 OPENGL: Merge both OpenGL contexts 2022-06-26 18:32:10 +02:00
BeWorld c883e37e9b MORPHOS: logMessage override
Use printf if DEBUG_BUILD only.
This removes a lot of console messages.
2022-06-23 20:49:05 +02:00
Hubert Maier 54e7c3b7da AMIGAOS: Corrected plugins destination path 2022-06-22 01:40:23 +02:00
Hubert Maier d3521bc785 AMIGAOS: Make use of DEBUG_BUILD define 2022-06-22 01:40:23 +02:00
Cameron Cawley 3ffbbe3cef DS: Avoid redefining double as float 2022-06-20 23:10:21 +01:00
Paweł Kołodziejski 4053592c69 PS3: Handle platform specific features 2022-06-19 20:13:37 +02:00
rsn8887 fe366040d6 BACKENDS: (PSP2) support three co-existing builds 2022-06-19 10:58:11 -05:00
Cameron Cawley a3f83e07ab RISCOS: Implement OSystem::messageBox() 2022-06-18 23:21:38 +01:00
Le Philousophe 02808a019a RISCOS: Add an ELF plugin provider
This will allow do dynamically load plugins and not be limited by
24-bits relocations
2022-06-17 21:31:04 +02:00
Le Philousophe bbcdda6c7f ANDROID: Merge touch mode and toggle keyboard buttons
A long press on the button shows the keyboard
2022-06-14 00:08:04 +03:00
Le Philousophe 57e27dcf12 ANDROID: Let user customize its preferred touch modes
There are 3 settings: in menus, in 2D games, in 3D games
2022-06-14 00:08:04 +03:00
Christian Kündig 8f0174689b EMSCRIPTEN: Merging parts of scummvm/scummvm#3686 for fullscreen support, disabling exit buttons (openURL has been fixed in libsdl-org/SDL@15ebad6e7d and is not needed anymore) 2022-06-12 14:34:13 +02:00
Lothar Serra Mari a07be8c665 RELEASE: This is 2.7.0git 2022-06-05 20:43:05 +02:00
Thierry Crozat f95bf24fd1 MACOSX: Fix issue with restoring maximized window
The SdlWindow::createOrUpdateWindow makes sure the created window
is not bigger than the desktop. When not in fullscreen, the window
borders are also considered, but on macOS a maximimized window is
borderless, so this resulted in maximized window being restored
smaller than they should have (and no longer maximized).
2022-06-05 17:56:30 +01:00
Thierry Crozat bde10f0dda BASE: Store screenshotpath command line in Session domain
The SDL backend was getting that path at the start and storing
it in a class member so that it would persist for the session.
But now that we have a kSessionDomain in ConfMan, it is cleaner
to use that (and this will also work for non-SDL backends).
2022-06-05 15:39:36 +01:00
Cameron Cawley 21ba2cffbb DS: Avoid disabling the virtual keyboard if it hasn't been enabled 2022-05-30 22:04:21 +01:00
Cameron Cawley dd0304fb22 DS: Improve error reporting 2022-05-30 13:51:40 +01:00
Eugene Sandulenko 5e05f93f36 ALL: Remove Symbian port 2022-05-28 12:32:29 +02:00
Donovan Watteau 630207d38b PS3: Properly init the fullscreen and aspect_ratio config keys
As done in the PSP2, Android and Switch ports.

Fix inconsistent reported state for the Aspect Ratio setting on PS3
(similar to Trac#11743 for Android).
2022-05-24 23:38:04 +03:00
Donovan Watteau a933a0d261 MACOSX: Switch getResourceAppBundlePathMacOSX() to Objective-C
As suggested by criezy, we don't need to use the C-bridge from Core
Foundation now that the wrapper has been moved to an Objective-C file.
2022-05-22 23:42:45 +01:00
Donovan Watteau 4672ba71dd PLUGINS: Let macOS use its resource bundle as a valid plugin directory 2022-05-22 23:42:45 +01:00
Donovan Watteau 5118c60874 MACOSX: Pull a getResourceAppBundlePathMacOSX() wrapper from addSysArchivesToSearchSet() 2022-05-22 23:42:45 +01:00