[Scummvm-git-logs] scummvm master -> 6e6c13414272b34931ead5a427743f500d0f822f
bluegr
noreply at scummvm.org
Fri Aug 21 13:08:44 UTC 2026
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
5fb76c2a71 IOS7: Disable all gestures when virtual controller is visible
6e6c134142 SCUMM: RA1: Fix button layout for iOS virtual controller
Commit: 5fb76c2a71fbe8a678792a37d21f68a971e2031d
https://github.com/scummvm/scummvm/commit/5fb76c2a71fbe8a678792a37d21f68a971e2031d
Author: Lars Sundström (l.sundstrom at gmail.com)
Date: 2026-08-21T16:08:39+03:00
Commit Message:
IOS7: Disable all gestures when virtual controller is visible
Not all gestures were disabled when connecting virtual controller.
The pich gesture to show the keyboard interfered with the virtual
controller making it impossible to register simultaneous touches.
Make sure to disable all gestures when virtual controller is
visible.
Changed paths:
backends/platform/ios7/ios7_video.mm
diff --git a/backends/platform/ios7/ios7_video.mm b/backends/platform/ios7/ios7_video.mm
index a9c7efb0f17..a64f0efe65e 100644
--- a/backends/platform/ios7/ios7_video.mm
+++ b/backends/platform/ios7/ios7_video.mm
@@ -92,6 +92,15 @@ bool iOS7_fetchEvent(InternalEvent *event) {
UILongPressGestureRecognizer *oneFingerLongPressGesture;
UILongPressGestureRecognizer *twoFingerLongPressGesture;
UILongPressGestureRecognizer *pencilTwoTapLongTouchGesture;
+ UIPinchGestureRecognizer *pinchKeyboard;
+ UISwipeGestureRecognizer *swipeRight;
+ UISwipeGestureRecognizer *swipeLeft;
+ UISwipeGestureRecognizer *swipeUp;
+ UISwipeGestureRecognizer *swipeDown;
+ UISwipeGestureRecognizer *swipeRight3;
+ UISwipeGestureRecognizer *swipeLeft3;
+ UISwipeGestureRecognizer *swipeUp3;
+ UISwipeGestureRecognizer *swipeDown3;
CGPoint touchesBegan;
#endif
}
@@ -255,51 +264,51 @@ bool iOS7_fetchEvent(InternalEvent *event) {
[pencilTwoTapLongTouchGesture setDelaysTouchesEnded:NO];
[pencilTwoTapLongTouchGesture setCancelsTouchesInView:NO];
- UIPinchGestureRecognizer *pinchKeyboard = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardPinch:)];
+ pinchKeyboard = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardPinch:)];
- UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersSwipeRight:)];
+ swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersSwipeRight:)];
swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
swipeRight.numberOfTouchesRequired = 2;
swipeRight.delaysTouchesBegan = NO;
swipeRight.delaysTouchesEnded = NO;
- UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersSwipeLeft:)];
+ swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersSwipeLeft:)];
swipeLeft.direction = UISwipeGestureRecognizerDirectionLeft;
swipeLeft.numberOfTouchesRequired = 2;
swipeLeft.delaysTouchesBegan = NO;
swipeLeft.delaysTouchesEnded = NO;
- UISwipeGestureRecognizer *swipeUp = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersSwipeUp:)];
+ swipeUp = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersSwipeUp:)];
swipeUp.direction = UISwipeGestureRecognizerDirectionUp;
swipeUp.numberOfTouchesRequired = 2;
swipeUp.delaysTouchesBegan = NO;
swipeUp.delaysTouchesEnded = NO;
- UISwipeGestureRecognizer *swipeDown = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersSwipeDown:)];
+ swipeDown = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersSwipeDown:)];
swipeDown.direction = UISwipeGestureRecognizerDirectionDown;
swipeDown.numberOfTouchesRequired = 2;
swipeDown.delaysTouchesBegan = NO;
swipeDown.delaysTouchesEnded = NO;
- UISwipeGestureRecognizer *swipeRight3 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(threeFingersSwipeRight:)];
+ swipeRight3 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(threeFingersSwipeRight:)];
swipeRight3.direction = UISwipeGestureRecognizerDirectionRight;
swipeRight3.numberOfTouchesRequired = 3;
swipeRight3.delaysTouchesBegan = NO;
swipeRight3.delaysTouchesEnded = NO;
- UISwipeGestureRecognizer *swipeLeft3 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(threeFingersSwipeLeft:)];
+ swipeLeft3 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(threeFingersSwipeLeft:)];
swipeLeft3.direction = UISwipeGestureRecognizerDirectionLeft;
swipeLeft3.numberOfTouchesRequired = 3;
swipeLeft3.delaysTouchesBegan = NO;
swipeLeft3.delaysTouchesEnded = NO;
- UISwipeGestureRecognizer *swipeUp3 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(threeFingersSwipeUp:)];
+ swipeUp3 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(threeFingersSwipeUp:)];
swipeUp3.direction = UISwipeGestureRecognizerDirectionUp;
swipeUp3.numberOfTouchesRequired = 3;
swipeUp3.delaysTouchesBegan = NO;
swipeUp3.delaysTouchesEnded = NO;
- UISwipeGestureRecognizer *swipeDown3 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(threeFingersSwipeDown:)];
+ swipeDown3 = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(threeFingersSwipeDown:)];
swipeDown3.direction = UISwipeGestureRecognizerDirectionDown;
swipeDown3.numberOfTouchesRequired = 3;
swipeDown3.delaysTouchesBegan = NO;
@@ -583,6 +592,15 @@ bool iOS7_fetchEvent(InternalEvent *event) {
[twoFingerLongPressGesture setEnabled:enabled];
[pencilThreeTapGesture setEnabled:enabled];
[pencilTwoTapLongTouchGesture setEnabled:enabled];
+ [pinchKeyboard setEnabled:enabled];
+ [swipeLeft setEnabled:enabled];
+ [swipeRight setEnabled:enabled];
+ [swipeUp setEnabled:enabled];
+ [swipeDown setEnabled:enabled];
+ [swipeLeft3 setEnabled:enabled];
+ [swipeRight3 setEnabled:enabled];
+ [swipeUp3 setEnabled:enabled];
+ [swipeDown3 setEnabled:enabled];
}
#endif
Commit: 6e6c13414272b34931ead5a427743f500d0f822f
https://github.com/scummvm/scummvm/commit/6e6c13414272b34931ead5a427743f500d0f822f
Author: Lars Sundström (l.sundstrom at gmail.com)
Date: 2026-08-21T16:08:39+03:00
Commit Message:
SCUMM: RA1: Fix button layout for iOS virtual controller
The Rebel Assault games have support for showing on-screen controls.
The iOS port has a virtual controller which can be configured with
different elements. The directional element can be either a DPAD or
a thumb stick, where the latter is acting as a joystick, which is the
intended control for the games.
Make sure to show the thumb stick instead of the DPAD and make the
A button act as the shooting trigger.
Changed paths:
engines/scumm/insane/rebel/rebel_gamepad.cpp
engines/scumm/insane/rebel1/menu.cpp
diff --git a/engines/scumm/insane/rebel/rebel_gamepad.cpp b/engines/scumm/insane/rebel/rebel_gamepad.cpp
index e25e3e74be4..4dc3f60ae75 100644
--- a/engines/scumm/insane/rebel/rebel_gamepad.cpp
+++ b/engines/scumm/insane/rebel/rebel_gamepad.cpp
@@ -32,7 +32,7 @@ namespace {
const char *const kIOSGamepadControllerKey = "gamepad_controller";
const char *const kIOSGamepadControllerMinimalLayoutKey = "gamepad_controller_minimal_layout";
const char *const kIOSGamepadControllerDirectionalInputKey = "gamepad_controller_directional_input";
-const int kIOSGamepadControllerDirectionalInputDpad = 1;
+const int kIOSGamepadControllerDirectionalInputThumbstick = 0;
void saveDomainSetting(RebelIOSGamepadControllerState::SavedSetting &setting,
const Common::ConfigManager::Domain *domain, const char *key) {
@@ -84,10 +84,10 @@ void RebelIOSGamepadControllerState::enable() {
saveDomainSetting(_gamepadControllerMinimalLayout, domain, kIOSGamepadControllerMinimalLayoutKey);
saveDomainSetting(_gamepadControllerDirectionalInput, domain, kIOSGamepadControllerDirectionalInputKey);
- // Same iOS virtual-controller profile used by Freescape: compact d-pad overlay.
+ // Same iOS virtual-controller profile used by Freescape: with thumbstick input for Rebel.
ConfMan.setBool(kIOSGamepadControllerKey, true, _domainName);
ConfMan.setBool(kIOSGamepadControllerMinimalLayoutKey, true, _domainName);
- ConfMan.setInt(kIOSGamepadControllerDirectionalInputKey, kIOSGamepadControllerDirectionalInputDpad, _domainName);
+ ConfMan.setInt(kIOSGamepadControllerDirectionalInputKey, kIOSGamepadControllerDirectionalInputThumbstick, _domainName);
g_system->applyBackendSettings();
_active = true;
#endif
diff --git a/engines/scumm/insane/rebel1/menu.cpp b/engines/scumm/insane/rebel1/menu.cpp
index 8f5c548ebe3..86628801b66 100644
--- a/engines/scumm/insane/rebel1/menu.cpp
+++ b/engines/scumm/insane/rebel1/menu.cpp
@@ -754,6 +754,11 @@ bool InsaneRebel1::notifyEvent(const Common::Event &event) {
event.joystick.button, event.type == Common::EVENT_JOYBUTTON_DOWN,
_menuActive, _interactiveVideoActive && !_menuActive,
_joystickAxisX, _joystickAxisY);
+ if (_interactiveVideoActive && !_menuActive &&
+ event.joystick.button == Common::JOYSTICK_BUTTON_A) {
+ _playerFired = event.type == Common::EVENT_JOYBUTTON_DOWN;
+ return true;
+ }
}
if (event.type == Common::EVENT_CUSTOM_BACKEND_ACTION_AXIS) {
More information about the Scummvm-git-logs
mailing list