aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/platform/wince/CEActionsPocket.cpp8
-rw-r--r--backends/platform/wince/CEActionsSmartphone.cpp8
-rw-r--r--backends/platform/wince/Makefile2
-rw-r--r--backends/platform/wince/README-WinCE.txt10
-rw-r--r--backends/platform/wince/wince-sdl.cpp5
5 files changed, 29 insertions, 4 deletions
diff --git a/backends/platform/wince/CEActionsPocket.cpp b/backends/platform/wince/CEActionsPocket.cpp
index 8adf9874e5..1f6eeb3770 100644
--- a/backends/platform/wince/CEActionsPocket.cpp
+++ b/backends/platform/wince/CEActionsPocket.cpp
@@ -132,11 +132,12 @@ void CEActionsPocket::initInstanceGame() {
bool is_drascula = (strncmp(gameid.c_str(), "drascula",8) == 0);
bool is_tucker = (gameid == "tucker");
bool is_groovie = (gameid == "groovie");
+ bool is_tinsel = (gameid == "tinsel");
GUI_Actions::initInstanceGame();
// See if a right click mapping could be needed
- if (is_sword1 || is_sword2 || is_sky || is_queen || is_comi || is_gob ||
+ if (is_sword1 || is_sword2 || is_sky || is_queen || is_comi || is_gob || is_tinsel ||
is_samnmax || is_cine || is_touche || is_parallaction || is_drascula)
_right_click_needed = true;
@@ -166,6 +167,9 @@ void CEActionsPocket::initInstanceGame() {
} else if (is_parallaction) {
_action_enabled[POCKET_ACTION_SAVE] = true;
_key_action[POCKET_ACTION_SAVE].setKey('s', SDLK_s);
+ } else if (is_tinsel) {
+ _action_enabled[POCKET_ACTION_SAVE] = true;
+ _key_action[POCKET_ACTION_SAVE].setKey(Common::ASCII_F1, SDLK_F1);
} else {
_action_enabled[POCKET_ACTION_SAVE] = true;
_key_action[POCKET_ACTION_SAVE].setKey(Common::ASCII_F5, SDLK_F5); // F5 key
@@ -175,7 +179,7 @@ void CEActionsPocket::initInstanceGame() {
// Skip
if (!is_cine && !is_parallaction && !is_groovie)
_action_enabled[POCKET_ACTION_SKIP] = true;
- if (is_simon || is_sky || is_sword2 || is_queen || is_sword1 || is_gob ||
+ if (is_simon || is_sky || is_sword2 || is_queen || is_sword1 || is_gob || is_tinsel ||
is_saga || is_kyra || is_touche || is_lure || is_feeble || is_drascula || is_tucker)
_key_action[POCKET_ACTION_SKIP].setKey(VK_ESCAPE);
else
diff --git a/backends/platform/wince/CEActionsSmartphone.cpp b/backends/platform/wince/CEActionsSmartphone.cpp
index 663ad18433..99f73bf37d 100644
--- a/backends/platform/wince/CEActionsSmartphone.cpp
+++ b/backends/platform/wince/CEActionsSmartphone.cpp
@@ -122,11 +122,12 @@ void CEActionsSmartphone::initInstanceGame() {
bool is_drascula = (strncmp(gameid.c_str(), "drascula",8) == 0);
bool is_tucker = (gameid == "tucker");
bool is_groovie = (gameid == "groovie");
+ bool is_tinsel = (gameid == "tinsel");
GUI_Actions::initInstanceGame();
// See if a right click mapping could be needed
- if (is_sword1 || is_sword2 || is_sky || is_queen || is_comi || is_gob ||
+ if (is_sword1 || is_sword2 || is_sky || is_queen || is_comi || is_gob || is_tinsel ||
is_samnmax || is_cine || is_touche || is_parallaction || is_drascula)
_right_click_needed = true;
@@ -149,13 +150,16 @@ void CEActionsSmartphone::initInstanceGame() {
} else if (is_parallaction) {
_action_enabled[SMARTPHONE_ACTION_SAVE] = true;
_key_action[SMARTPHONE_ACTION_SAVE].setKey('s', SDLK_s);
+ } else if (is_tinsel) {
+ _action_enabled[SMARTPHONE_ACTION_SAVE] = true;
+ _key_action[SMARTPHONE_ACTION_SAVE].setKey(Common::ASCII_F1, SDLK_F1);
} else {
_action_enabled[SMARTPHONE_ACTION_SAVE] = true;
_key_action[SMARTPHONE_ACTION_SAVE].setKey(Common::ASCII_F5, SDLK_F5); // F5 key
}
// Skip
_action_enabled[SMARTPHONE_ACTION_SKIP] = true;
- if (is_simon || is_sky || is_sword2 || is_queen || is_sword1 || is_gob ||
+ if (is_simon || is_sky || is_sword2 || is_queen || is_sword1 || is_gob || is_tinsel ||
is_saga || is_kyra || is_touche || is_lure || is_feeble || is_drascula || is_tucker || is_groovie)
_key_action[SMARTPHONE_ACTION_SKIP].setKey(VK_ESCAPE);
else
diff --git a/backends/platform/wince/Makefile b/backends/platform/wince/Makefile
index 1d17253d21..bda259eaba 100644
--- a/backends/platform/wince/Makefile
+++ b/backends/platform/wince/Makefile
@@ -39,6 +39,8 @@ ENABLE_PARALLACTION = STATIC_PLUGIN
ENABLE_DRASCULA = STATIC_PLUGIN
ENABLE_GROOVIE = STATIC_PLUGIN
ENABLE_TUCKER = STATIC_PLUGIN
+#ENABLE_SCI = STATIC_PLUGIN
+#ENABLE_TINSEL = STATIC_PLUGIN
#ENABLE_CRUISE = STATIC_PLUGIN
#ENABLE_IGOR = STATIC_PLUGIN
#ENABLE_M4 = STATIC_PLUGIN
diff --git a/backends/platform/wince/README-WinCE.txt b/backends/platform/wince/README-WinCE.txt
index b258eff46d..6a289766a2 100644
--- a/backends/platform/wince/README-WinCE.txt
+++ b/backends/platform/wince/README-WinCE.txt
@@ -574,6 +574,7 @@ Readme file for more information on this.
The control scheme is awkward (Pocket PCs)
------------------------------------------
+
Map and use the 'Free Look' action. Since normal pointer operation is to
enter a left click at each tap position, the free look mode enables
'hovering' the mouse on an object, then right clicking either by using the
@@ -581,6 +582,15 @@ double tap method or by pressing the 'Right Click' action. Also, a left click
can be entered while in free look mode, by clicking a second time near the
current pointer's location. Note that two taps equal a left click.
+---------------
+-- Discworld --
+---------------
+
+By default, the double tap to right click action is disabled in this game
+as this interferes with the game's controls. This setting can be overridden
+(see 'no_doubletap_rightclick' parameter above).
+
+
------------------------------------------------------------------------
Support
------------------------------------------------------------------------
diff --git a/backends/platform/wince/wince-sdl.cpp b/backends/platform/wince/wince-sdl.cpp
index bd138d73c9..a191af0810 100644
--- a/backends/platform/wince/wince-sdl.cpp
+++ b/backends/platform/wince/wince-sdl.cpp
@@ -1083,6 +1083,11 @@ void OSystem_WINCE3::update_game_settings() {
if (ConfMan.hasKey("no_doubletap_rightclick"))
_noDoubleTapRMB = ConfMan.getBool("no_doubletap_rightclick");
+ else if (gameid == "tinsel") {
+ _noDoubleTapRMB = true;
+ ConfMan.setBool("no_doubletap_rightclick", true);
+ ConfMan.flushToDisk();
+ }
compute_sample_rate();
}