Commit Graph

9541 Commits

Author SHA1 Message Date
Lars Sundström
857b7553aa IOS7: Don't suspend the application in iOS when pressing menu
The Apple guidelines for Apple TV tells that when pressing the menu
button from the root view the user shall be brought to the "Home"
screen, suspending the app. Prevent this to be done in iOS.
2023-10-10 20:55:48 +02:00
Lars Sundström
a2de9b0b4e IOS7: Handle HW keyboards better when using "Stage Manager"
When having a hardware keyboard connected to the iOS device the
software keyboard is not shown. However when using stage manager
the notification that the keyboard is shown is still triggered.
This results in that the game screen is resized even though no
keyboard is visible in the area below.

This is some kind of workaround for that where a check for any
connected hardware keyboard is made. If a keyboard is connected
then the screen is not resized, except if the accessory bar should
be shown. In that case the screen is resized only for the height
of the accessory bar.
2023-10-10 20:55:48 +02:00
Lars Sundström
40f382cace IOS7: Make it possible to toggle alphabetical <-> numpad keyboard
Some games have some actions mapped to the numeric keyboard, e.g.
Indiana Jones and the last crusade fight scenes.
The alphabetical keyboard doesn't have the numeric button row so
it's a bit tricky to play these scenes without holding the "number
button switch" at the same time you need to press the correct number
button being showed.

Make it possible to switch between an alphabetical keyboard layout
to a numpad layout by adding a button to the toolbar.
2023-10-10 20:55:48 +02:00
Lars Sundström
316352e868 IOS7: Toggle keyboard with on-screen control button
Add a long press gesture to the touch mode control button, which
when triggered, shows the keyboard. The image of the UI button
changes to the keyboard image asset as long as the keyboard is
visible. If pressing the touch mode control button while the
keyboard is visible it will dismiss the keyboard.

The updates of the on-screen button image is done in the general
"showKeyboard" and "hideKeyboard" functions which makes sure that
the button image is updated also if showing/hiding of the keyboard
is triggered by the OSystem callback.
2023-10-10 20:55:48 +02:00
Lars Sundström
00296153df IOS7: Add on-screen controls visibility configuration
Make it possible to configure the visibility of the on-screen control
buttons. If configured to not be shown both buttons are hidden and
disabled.
2023-10-10 20:55:48 +02:00
Lars Sundström
324569f206 IOS7: Add on-screen controls as UI buttons
Add two UI buttons which are placed to the top right corner over
the main view. The left button controls the current touch mode.
When pressed the button changes image to represent the new touch
mode using the mouse and touchpad assets added in previous commit.

The right button triggers the call to the main menu.
2023-10-10 20:55:48 +02:00
Lars Sundström
a705235d1a IOS7: Add touch mode configurations in menu, 2D & 3D games
In the Android port it's possible to configure differnet touch modes
in ScummVM menus, 2D games and 3D games. Add the same possibility in
the iOS port. In Android it's possible to configure a touch based
game controller as well. That's not in scope for iOS in this commit
but can be added in the future.
2023-10-10 20:55:48 +02:00
Lars Sundström
8e9f54ad32 IOS7: Refactor touchpadModeEnabled to a TouchMode
Change the boolean parameter indicating if "touch mode" is enabled
or not to an enum which could contain several different touch modes.
2023-10-10 20:55:48 +02:00
Lars Sundström
2971029301 IOS7: Configure directional elements on virtual controller
The virtual controller can be configured with different directional
elements. A thumbstick button and Dpad buttons (left, right, down,
up) can be configured.
A user might want to configure which directional element they want
on the virtual controller. Create two different virtual controllers
which can be switched between depending on the setting in the
backend specific option dialog.
2023-10-10 20:55:48 +02:00
Lars Sundström
ee4319beb3 IOS7: Rename option "onscreen_controls" to "gamepad_controller"
The onscreen_controls options should refer to the touch mode setting
and main menu buttons as it's done in the Android backend. The
virtual gamepad controller used the onscreen_controls string to
identify the option. Change the identifier string to
gamepad_controller so onscreen_controller can be used for the buttons
to be added to the iOS backend.
2023-10-10 20:55:48 +02:00
Lars Sundström
fac56ff37d IOS7: Fix position of virtual gamepad controller
With the release of iOS 17 the fix for adjusting the position of
the virtual controller stopped working. On some devices with so
called safe areas, the action buttons could be placed outside the
screen.

Rework the fix to position the GCControllerView layer instead.
2023-10-10 20:55:48 +02:00
Eugene Sandulenko
0485f4a593
SDL: Added (disabled) Markdown table to the Keyboard help 2023-10-09 00:22:15 +02:00
CadiH
7e41bec7f0 BACKENDS: ANDROID: minor edit to Help tab contents 2023-10-06 22:24:55 +02:00
CadiH
5df0851284 BACKENDS: ANDROID: updates contents of help dialog 2023-10-06 22:24:55 +02:00
CadiH
a74c827076 BACKENDS: ADNROID: Updates content of help tab 2023-10-06 22:24:55 +02:00
Giovanni Cascione
efa6ac88b2 LIBRETRO: BUILD: fix emscripten AR 2023-10-02 21:22:04 +02:00
Kaloyan Chehlarski
73b66c60f8 BACKENDS: WII: Always retain cursor palette
Calling setMouseCursor with a non-palette cursor no longer
clears the cursor palette, allowing a subsequent call with a
paletted cursor to re-use it. This fixes Trac defect #13895.
The approach taken was to just copy what the OpenGL
backend was doing in the same situation.
2023-10-02 12:19:31 +03:00
Giovanni Cascione
f9e91aa873 LIBRETRO: BUILD: add ps3 to gitlab CI/CD 2023-10-02 10:21:08 +02:00
Giovanni Cascione
d1f15b9fd7 LIBRETRO: BUILD: add emscripten to gitlab CI/CD 2023-10-01 15:25:00 +02:00
Giovanni Cascione
4cfd17aaf4 LIBRETRO: BUILD: add wii to gitlab CI/CD 2023-10-01 15:24:47 +02:00
Giovanni Cascione
0f6773217c LIBRETRO: add automatic setup of default soundfont file 2023-09-28 21:25:36 +02:00
Giovanni Cascione
74dd0af052 LIBRETRO: change path tests to LibRetroFilesystemNode 2023-09-28 21:25:21 +02:00
Giovanni Cascione
1c8092f592 LIBRETRO: force slashes in LibRetroFilesystemNode constructor 2023-09-28 21:25:04 +02:00
Giovanni Cascione
76ff21ba4e LIBRETRO: add backslash case for HOME expansion 2023-09-28 21:24:48 +02:00
Giovanni Cascione
47fc122e08 LIBRETRO: add default paths logs 2023-09-25 14:42:30 +02:00
Giovanni Cascione
7f6d9542e4 LIBRETRO: add retropad exclusive cursor control setting 2023-09-25 14:42:06 +02:00
Giovanni Cascione
1071edd59f LIBRETRO: rework paths initialization 2023-09-25 14:41:22 +02:00
Giovanni Cascione
adb4fda7f8 LIBRETRO: move libretro.cpp to libretro-core and add header file 2023-09-25 14:41:03 +02:00
Miro Kropacek
d4d9307a69 BACKENDS: ATARI: Use atari_sound_setup code 2023-09-24 17:48:54 +02:00
Miro Kropacek
fb8528ac77 BACKENDS: ATARI: Various fixes
- composer unaligned pitch fix
- error() doesn't work while in OSystem_Atari c-tor
- when a crash occurs, restore at least the cursor
- fix a crash when "data" doesn't exist
2023-09-24 17:48:54 +02:00
Miro Kropacek
dcab5d3369 CONFIGURE: Add support for m68k-atari-mintelf
This is basically the same as m68k-atari-mint host os but with a
different compiler/file format.
2023-09-24 17:48:54 +02:00
Miro Kropacek
b510eff336 BACKENDS: ATARI: Implement aspect ratio correction 2023-09-24 17:48:54 +02:00
D G Turner
a3706e0976 BACKENDS: SDL: Fix Undefined Preprocessor Symbol GCC Compiler Warning 2023-09-17 14:46:12 +01:00
Eugene Sandulenko
3cfcdd5d6f
ANDROID: Add missing include 2023-09-17 14:39:58 +02:00
Eugene Sandulenko
2bea791278 OSYSTEM: Improed const'ness of the buildHelpDialogData() call 2023-09-17 00:56:28 +02:00
Eugene Sandulenko
a14b2bf9ba ANDROID: Added andriod-help.zip to the bundle 2023-09-17 00:56:28 +02:00
Eugene Sandulenko
7527757d6f BACKENDS: ANDROID: Move Android-specific HelpDialog tabs to backend 2023-09-17 00:56:28 +02:00
Eugene Sandulenko
d4d82be3e7 BACKENDS: SDL: Specified platform-dependent quit shortcut in help dialog 2023-09-17 00:56:28 +02:00
Eugene Sandulenko
6ae8089c61 GUI: Move Keyboards shortcut help to SDL backend 2023-09-17 00:56:28 +02:00
Ankush Dutt
a26d00a2b7 DLC: Remove Playstore code 2023-09-14 08:22:56 +02:00
Ankush Dutt
f03d59620b JANITORIAL: Remove unneeded functions from dlcmanager.h 2023-09-14 08:22:56 +02:00
Ankush Dutt
a4888cf24c JANITORIAL: Improve code readability in scummvmcloud.cpp 2023-09-14 08:22:56 +02:00
Ankush Dutt
9a68de2f52 BACKENDS: DLC: Handle errors in ScummVMCloud::extractZip() 2023-09-14 08:22:56 +02:00
Ankush Dutt
2a60a4d213 DLC: Set kFeatureDLC and _dlcStore for ScummVMCloud, Playstore in backend 2023-09-14 08:22:56 +02:00
Ankush Dutt
6890e3097b BACKENDS: DLC: Improve code readability in scummvmcloud.cpp 2023-09-14 08:22:56 +02:00
Ankush Dutt
0c7f65e5b7 JANITORIAL: Remove unneeded includes from dlcmanager.cpp 2023-09-14 08:22:56 +02:00
Ankush Dutt
4ae119d63f DLC: Add USE_DLC in configure for general DLC integration
- Developers will need to use --enable-dlc with configure if they want to integrate
the DLC downloader. The kFeatureDLC will determine if the target platform is supported
- USE_SCUMMVMDLC will be used specifically to compile curl based ScummVMCloud (USE_DLC
will be automatically enabled if ScummVMCloud is supported)
2023-09-14 08:22:56 +02:00
Ankush Dutt
e24ad8fc20 JANITORIAL: Use debug instead of commented warning in scummvmcloud.cpp 2023-09-14 08:22:56 +02:00
Ankush Dutt
097b049aea DLC: Use forward declaration where appropriate 2023-09-14 08:22:56 +02:00
Ankush Dutt
708432c163 BACKENDS: Change return type of getDefaultDLCsPath() to Common::Path 2023-09-14 08:22:56 +02:00