Commit Graph

8751 Commits

Author SHA1 Message Date
Le Philousophe
a13d0879f2 ANDROID: Convert mouse coordinates between screen ones and virtual ones
In 2D graphical backend it's handled in the WindowedGraphicsManager
which we inherit from through OpenGLGraphicsManager
2022-08-15 20:19:08 +02:00
Carlo Bramini
bdd2fb61d1 BACKENDS: OPENGLSDL: Fix corrupted graphics.
Size of the alpha channel is not set to its default value and this caused totally corrupted graphics on my PC.
See:
https://bugs.scummvm.org/ticket/13712
2022-08-12 00:30:05 +03:00
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
Thunderforge
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