From ab6caf1df61a185c697747021696b6193e165512 Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Sun, 20 Sep 2009 12:53:32 +0000 Subject: New "Input" tab for the options dialog to set pad sensitivity and acceleration. svn-id: r44205 --- backends/platform/wii/osystem_events.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'backends/platform/wii/osystem_events.cpp') 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 #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; -- cgit v1.2.3