Commit Graph
8749 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
Alexander Tkachev 09639e7f23 GUI: Add files amount to SaveLoadCloudSyncProgressDialog
Also adds Cloud::Storage::SyncDownloadingInfo struct to pass around a bunch of numbers instead of having 3 methods for each number (in CloudManager, Storage and SavesSyncRequest).
2022-08-02 22:08:19 +02:00
Alexander Tkachev 85739018fe GUI: Show bytes sizes in saves sync dialog
And also makes percentage calculated based on bytes sizes, not files count.
2022-08-02 22:08:19 +02:00
Alexander Tkachev 645e1a0c83 CLOUD: Make cloud sync load timestamps less
No need to reload the timestamps file all time (invalidating save file manager's cache) -- it's loaded once in the beginning of a sync and then is updated one file at a time.
2022-08-02 22:08:19 +02:00
Alexander Tkachev 6901e941aa CLOUD: Fix #11244: Crash when loading a save from the launcher
Removing GUI::CommandSender from SavesSyncRequest, so it doesn't update SaveLoadCloudSyncProgressDialog or SaveLoadChooserDialog from another thread.

Instead, these two are now polling CloudMan once per second themselves.
2022-08-02 22:08:19 +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
Cameron Cawley 863988fee4 OPENGL: Add proper error checking to the Shader class 2022-06-29 22:37:38 +01:00
Le Philousophe 98c306376f OPENGL: Merge both OpenGL shaders objects 2022-06-26 18:32:10 +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 dd72e0e488 RISCOS: Add a native MIDI driver 2022-06-20 23:33:42 +01: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
Paweł Kołodziejski e9dc4afe89 BACKENDS: SDL3D: Put debug messages to specified level 2022-06-19 08:08:32 +02:00
Cameron Cawley 05a5e44729 RISCOS: Add log10f and strcoll to functions to link 2022-06-19 00:34:58 +01:00
Cameron Cawley a3f83e07ab RISCOS: Implement OSystem::messageBox() 2022-06-18 23:21:38 +01:00
Cameron Cawley cb3a024589 COMMON: Allow registering multiple event mappers 2022-06-18 23:13:17 +02:00
Cameron Cawley 60c7372198 OPENGL3D: Make use of the active rect provided by WindowedGraphicsManager 2022-06-18 19:33:27 +01:00
Le Philousophe a591c8b6bf RISCOS: Add expf to functions to link 2022-06-18 16:10:22 +02:00
Le Philousophe b065158898 RISCOS: Don't build SDLPluginProvider: it doesn't work for us
And it fails to build with VFP because libdl is not compiled with VFP
2022-06-18 16:10:22 +02:00
Cameron Cawley 038579d0d9 PLUGINS: Improve warnings when allocation fails 2022-06-17 20:38:37 +01:00