aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/wii/osystem_events.cpp
diff options
context:
space:
mode:
authorAndre Heider2009-09-20 12:53:32 +0000
committerAndre Heider2009-09-20 12:53:32 +0000
commitab6caf1df61a185c697747021696b6193e165512 (patch)
treefc993105c51bb4cd73199162950f1621a8a3cee6 /backends/platform/wii/osystem_events.cpp
parent59f72d111f4455fe9309980fed240619537344f8 (diff)
downloadscummvm-rg350-ab6caf1df61a185c697747021696b6193e165512.tar.gz
scummvm-rg350-ab6caf1df61a185c697747021696b6193e165512.tar.bz2
scummvm-rg350-ab6caf1df61a185c697747021696b6193e165512.zip
New "Input" tab for the options dialog to set pad sensitivity and acceleration.
svn-id: r44205
Diffstat (limited to 'backends/platform/wii/osystem_events.cpp')
-rw-r--r--backends/platform/wii/osystem_events.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/backends/platform/wii/osystem_events.cpp b/backends/platform/wii/osystem_events.cpp
index 9f00528839..f971f98678 100644
--- a/backends/platform/wii/osystem_events.cpp
+++ b/backends/platform/wii/osystem_events.cpp
@@ -32,6 +32,8 @@
#include <wiikeyboard/keyboard.h>
#endif
+#include "common/config-manager.h"
+
#define TIMER_THREAD_STACKSIZE (1024 * 32)
#define TIMER_THREAD_PRIO 64
@@ -179,6 +181,9 @@ void OSystem_Wii::initEvents() {
WPAD_SetIdleTimeout(120);
#endif
+ _padSensitivity = 64 - ConfMan.getInt("wii_pad_sensitivity");
+ _padAcceleration = 9 - ConfMan.getInt("wii_pad_acceleration");
+
#ifdef USE_WII_KBD
_kbd_active = KEYBOARD_Init() >= 0;
#endif
@@ -405,10 +410,12 @@ bool OSystem_Wii::pollEvent(Common::Event &event) {
if (time - _lastPadCheck > PAD_CHECK_TIME) {
_lastPadCheck = time;
- if (abs (PAD_StickX(0)) > 16)
- mx += PAD_StickX(0) / (4 * _overlayWidth / _currentWidth);
- if (abs (PAD_StickY(0)) > 16)
- my -= PAD_StickY(0) / (4 * _overlayHeight / _currentHeight);
+ if (abs (PAD_StickX(0)) > _padSensitivity)
+ mx += PAD_StickX(0) /
+ (_padAcceleration * _overlayWidth / _currentWidth);
+ if (abs (PAD_StickY(0)) > _padSensitivity)
+ my -= PAD_StickY(0) /
+ (_padAcceleration * _overlayHeight / _currentHeight);
if (mx < 0)
mx = 0;