[Scummvm-git-logs] scummvm master -> f0eabd195220b68b0763f986c15c990f6e7c43c5
tag2015
noreply at scummvm.org
Thu May 25 13:00:49 UTC 2023
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
d792d5e32f AGS: Implement Click method in agsjoy plugin
8dc305eadf AGS: Mark steam/demo versions of Until I Have You as supported
f0eabd1952 AGS: Add workarounds in AGSController plugin for UIHY
Commit: d792d5e32f061537b9e0a284a0dcae7819ba2827
https://github.com/scummvm/scummvm/commit/d792d5e32f061537b9e0a284a0dcae7819ba2827
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2023-05-25T11:11:07+02:00
Commit Message:
AGS: Implement Click method in agsjoy plugin
This is needed to use the keyboard in Until I Have You (Demo) menus
Changed paths:
engines/ags/plugins/ags_joy/ags_joy.cpp
diff --git a/engines/ags/plugins/ags_joy/ags_joy.cpp b/engines/ags/plugins/ags_joy/ags_joy.cpp
index e50e57a7330..27af71eea2e 100644
--- a/engines/ags/plugins/ags_joy/ags_joy.cpp
+++ b/engines/ags/plugins/ags_joy/ags_joy.cpp
@@ -73,6 +73,9 @@ void AGSJoy::IsOpen(ScriptMethodParams ¶ms) {
}
void AGSJoy::Click(ScriptMethodParams ¶ms) {
+ PARAMS1(int, button);
+
+ PluginSimulateMouseClick(button);
}
void AGSJoy::Close(ScriptMethodParams ¶ms) {
Commit: 8dc305eadff21d6894feb81d0e2b052090f5fe57
https://github.com/scummvm/scummvm/commit/8dc305eadff21d6894feb81d0e2b052090f5fe57
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2023-05-25T13:03:10+02:00
Commit Message:
AGS: Mark steam/demo versions of Until I Have You as supported
Gamepad support is not implemented, but mouse/keyboard works fine
Changed paths:
engines/ags/detection_tables.h
diff --git a/engines/ags/detection_tables.h b/engines/ags/detection_tables.h
index 08d1bd69578..9aca40bfaa4 100644
--- a/engines/ags/detection_tables.h
+++ b/engines/ags/detection_tables.h
@@ -3777,8 +3777,6 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
// Commercial game that likely uses custom extensions. Not only does it seem
// to use AGSController plugin built-in, even when I hooked up AGSController for
// the stand-alone AGS 3.5 interpreter, it hangs just like in ScummVM
- UNSUPPORTED_DEMO_ENTRY("untilihaveyou", "until i have you.exe", "cda1d7e36993dd55ba5513c1c43e5b2b", 457842687),
- UNSUPPORTED_GAME_ENTRY("untilihaveyou", "until i have you.exe", "cda1d7e36993dd55ba5513c1c43e5b2b", 1089857773), // Steam
UNSUPPORTED_GAME_ENTRY("untilihaveyou", "until i have you.exe", "cda1d7e36993dd55ba5513c1c43e5b2b", 1072879555),
// 2.55 game, but uses a plugin agsflashlight. Also, even with AGS interpreter
// hacked to specify plugin, errors on loading room107 saying that
@@ -4178,6 +4176,7 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY_EN_GOG("unavowed", "Unavowed.exe", "52c411caa3bfb65788ed8768ceaa0c30", 1756040362), // Linux/Windows v.1.0.0 (GOG v1.31)
GAME_ENTRY_EN_GOG("unavowed", "Unavowed.exe", "52c411caa3bfb65788ed8768ceaa0c30", 1756041833), // Linux/Windows v.1.0.1 (GOG v1.32)
GAME_ENTRY_EN_GOG("unavowed", "Unavowed.exe", "52c411caa3bfb65788ed8768ceaa0c30", 1756042001), // Linux/Windows v.1.0.2 (GOG v1.4)
+ GAME_ENTRY_EN_STEAM("untilihaveyou", "until i have you.exe", "cda1d7e36993dd55ba5513c1c43e5b2b", 1089857773), // Steam
GAME_ENTRY_EN_STEAM("waitingfortheloop", "waitingfortheloop.exe", "0241777c2537fc5d077c05cde10bfa9f", 51472537),
GAME_ENTRY_EN("waitingfortheloop", "waitingfortheloop.exe", "0241777c2537fc5d077c05cde10bfa9f", 51273604),
GAME_ENTRY("welcometosunnymunarvagir", "alpha4.ags", "392dbdd0697ae32af4cfe5212f9213c5", 23000263),
@@ -4713,6 +4712,8 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
DEMO_ENTRY_LANG("tsomi2", "The Secret of Monkey Island 2.exe", "3b7cceb3e4bdb031dc5d8f290936e94b", 5075308, Common::ES_ESP),
DEMO_ENTRY_LANG("ultimalatinvii", "UltimaVIILatin1.0.exe", "63f8a60cc094996bd070e68cb3c4722c", 83843416, Common::ES_ESP), // v1.00 demo/beta
GAME_ENTRY_LANG_PLATFORM("ultimalatinvii", "UltimaLauncher.exe", "63f8a60cc094996bd070e68cb3c4722c", 9065961, Common::ES_ESP, "Launcher"),
+ DEMO_ENTRY_EN("untilihaveyou", "until i have you.exe", "cda1d7e36993dd55ba5513c1c43e5b2b", 457842687),
+ DEMO_ENTRY_EN("untilihaveyou", "Until I Have You Demo.exe", "cda1d7e36993dd55ba5513c1c43e5b2b", 479749741),
DEMO_ENTRY_EN("updatequest", "U-Quest.exe", "06a03fe35791b0578068ab1873455463", 1776804),
DEMO_ENTRY_EN("valis", "valis 0.70.exe", "0710e2ec71042617f565c01824f0cf3c", 4348394),
DEMO_ENTRY_LANG("villard", "VMF_DEMO 2.0.1.exe", "534f936a0fac0c6f72b6ce6aaa6c9ce2", 653406938, Common::IT_ITA),
Commit: f0eabd195220b68b0763f986c15c990f6e7c43c5
https://github.com/scummvm/scummvm/commit/f0eabd195220b68b0763f986c15c990f6e7c43c5
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2023-05-25T14:46:53+02:00
Commit Message:
AGS: Add workarounds in AGSController plugin for UIHY
* Use PluginSimulateMouseClick instead of eventmanager, this is needed
for the menus to work properly;
* Disable gamepad support - The current implementation does not work and
crashes in the options menu (controller support is problematic even in the
original game). Creating a map for ScummVM's keymapper specifically
for this game would probably be a better solution
Changed paths:
engines/ags/plugins/ags_controller/ags_controller.cpp
diff --git a/engines/ags/plugins/ags_controller/ags_controller.cpp b/engines/ags/plugins/ags_controller/ags_controller.cpp
index 83853cc6360..35b74b2937b 100644
--- a/engines/ags/plugins/ags_controller/ags_controller.cpp
+++ b/engines/ags/plugins/ags_controller/ags_controller.cpp
@@ -65,6 +65,15 @@ void AGSController::Controller_Update() {
}
void AGSController::ControllerCount(ScriptMethodParams ¶ms) {
+
+ // WORKAROUND: The current implementation doesn't work at all, in UIHY at least
+ // Just disable the gamepad for now, also to prevent accessing the controller options
+ // that crash everything
+ if ((ConfMan.get("gameid") == "untilihaveyou")) {
+ debug(0, "AGSController: Returning ControllerCount=0 to force-disable controller!");
+ params._result = 0;
+ return;
+ }
int joystickNum = ConfMan.getInt("joystick_num");
params._result = (joystickNum == -1) ? 0 : 1;
}
@@ -129,6 +138,15 @@ void AGSController::Controller_BatteryStatus(ScriptMethodParams ¶ms) {
void AGSController::ClickMouse(ScriptMethodParams ¶ms) {
PARAMS1(int, button);
+
+ // WORKAROUND: This method is used to fake mouseclicks in the game menus (for keyboard
+ // and gamepad control) but the implementation using eventmanager doesn't seem to work
+ // Just use PluginSimulateMouseClick, which matches AGSController original implementation
+ if ((ConfMan.get("gameid") == "untilihaveyou")) {
+ PluginSimulateMouseClick(button);
+ return;
+ }
+
assert(button < 3);
Common::EventType DOWN[3] = {
Common::EVENT_LBUTTONDOWN, Common::EVENT_RBUTTONDOWN, Common::EVENT_MBUTTONDOWN
More information about the Scummvm-git-logs
mailing list