[Scummvm-cvs-logs] SF.net SVN: scummvm:[44205] scummvm/trunk/backends/platform/wii
dhewg at users.sourceforge.net
dhewg at users.sourceforge.net
Sun Sep 20 14:53:33 CEST 2009
Revision: 44205
http://scummvm.svn.sourceforge.net/scummvm/?rev=44205&view=rev
Author: dhewg
Date: 2009-09-20 12:53:32 +0000 (Sun, 20 Sep 2009)
Log Message:
-----------
New "Input" tab for the options dialog to set pad sensitivity and acceleration.
Modified Paths:
--------------
scummvm/trunk/backends/platform/wii/options.cpp
scummvm/trunk/backends/platform/wii/options.h
scummvm/trunk/backends/platform/wii/osystem.cpp
scummvm/trunk/backends/platform/wii/osystem.h
scummvm/trunk/backends/platform/wii/osystem_events.cpp
Modified: scummvm/trunk/backends/platform/wii/options.cpp
===================================================================
--- scummvm/trunk/backends/platform/wii/options.cpp 2009-09-20 12:44:35 UTC (rev 44204)
+++ scummvm/trunk/backends/platform/wii/options.cpp 2009-09-20 12:53:32 UTC (rev 44205)
@@ -67,6 +67,20 @@
_sliderUnderscanY->setMinValue(0);
_sliderUnderscanY->setMaxValue(32);
+ _tabInput = _tab->addTab("Input");
+
+ new StaticTextWidget(_tab, 16, 16, 128, 16,
+ "GC Pad sensitivity:", Graphics::kTextAlignRight);
+ _sliderPadSensitivity = new SliderWidget(_tab, 160, 15, 128, 18, 'x');
+ _sliderPadSensitivity->setMinValue(0);
+ _sliderPadSensitivity->setMaxValue(64);
+
+ new StaticTextWidget(_tab, 16, 44, 128, 16,
+ "GC Pad acceleration:", Graphics::kTextAlignRight);
+ _sliderPadAcceleration = new SliderWidget(_tab, 160, 43, 128, 18, 'y');
+ _sliderPadAcceleration->setMinValue(0);
+ _sliderPadAcceleration->setMaxValue(8);
+
#ifdef USE_WII_DI
_tabDVD = _tab->addTab("DVD");
@@ -242,14 +256,24 @@
}
void WiiOptionsDialog::load() {
- int x = ConfMan.getInt(_strUnderscanX,
+ int i;
+
+ i = ConfMan.getInt(_strUnderscanX,
Common::ConfigManager::kApplicationDomain);
- int y = ConfMan.getInt(_strUnderscanY,
+ _sliderUnderscanX->setValue(i);
+
+ i = ConfMan.getInt(_strUnderscanY,
Common::ConfigManager::kApplicationDomain);
+ _sliderUnderscanY->setValue(i);
- _sliderUnderscanX->setValue(x);
- _sliderUnderscanY->setValue(y);
+ i = ConfMan.getInt("wii_pad_sensitivity",
+ Common::ConfigManager::kApplicationDomain);
+ _sliderPadSensitivity->setValue(i);
+ i = ConfMan.getInt("wii_pad_acceleration",
+ Common::ConfigManager::kApplicationDomain);
+ _sliderPadAcceleration->setValue(i);
+
#ifdef USE_WII_SMB
_editSMBServer->setEditString(ConfMan.get("wii_smb_server",
Common::ConfigManager::kApplicationDomain));
@@ -270,6 +294,13 @@
_sliderUnderscanY->getValue(),
Common::ConfigManager::kApplicationDomain);
+ ConfMan.setInt("wii_pad_sensitivity",
+ _sliderPadSensitivity->getValue(),
+ Common::ConfigManager::kApplicationDomain);
+ ConfMan.setInt("wii_pad_acceleration",
+ _sliderPadAcceleration->getValue(),
+ Common::ConfigManager::kApplicationDomain);
+
#ifdef USE_WII_SMB
ConfMan.set("wii_smb_server", _editSMBServer->getEditString(),
Common::ConfigManager::kApplicationDomain);
Modified: scummvm/trunk/backends/platform/wii/options.h
===================================================================
--- scummvm/trunk/backends/platform/wii/options.h 2009-09-20 12:44:35 UTC (rev 44204)
+++ scummvm/trunk/backends/platform/wii/options.h 2009-09-20 12:53:32 UTC (rev 44205)
@@ -52,6 +52,10 @@
SliderWidget *_sliderUnderscanX;
SliderWidget *_sliderUnderscanY;
+ int _tabInput;
+ SliderWidget *_sliderPadSensitivity;
+ SliderWidget *_sliderPadAcceleration;
+
#ifdef USE_WII_DI
int _tabDVD;
StaticTextWidget *_textDVDStatus;
Modified: scummvm/trunk/backends/platform/wii/osystem.cpp
===================================================================
--- scummvm/trunk/backends/platform/wii/osystem.cpp 2009-09-20 12:44:35 UTC (rev 44204)
+++ scummvm/trunk/backends/platform/wii/osystem.cpp 2009-09-20 12:53:32 UTC (rev 44205)
@@ -85,6 +85,8 @@
_event_quit(false),
_lastPadCheck(0),
+ _padSensitivity(16),
+ _padAcceleration(4),
_savefile(NULL),
_mixer(NULL),
@@ -111,6 +113,8 @@
ConfMan.registerDefault("wii_video_default_underscan_y", 16);
ConfMan.registerDefault("wii_video_ds_underscan_x", 16);
ConfMan.registerDefault("wii_video_ds_underscan_y", 16);
+ ConfMan.registerDefault("wii_pad_sensitivity", 48);
+ ConfMan.registerDefault("wii_pad_acceleration", 5);
ConfMan.registerDefault("wii_smb_server", "");
ConfMan.registerDefault("wii_smb_share", "");
ConfMan.registerDefault("wii_smb_username", "");
@@ -274,5 +278,8 @@
WiiOptionsDialog dlg(ds);
dlg.runModal();
_optionsDlgActive = false;
+
+ _padSensitivity = 64 - ConfMan.getInt("wii_pad_sensitivity");
+ _padAcceleration = 9 - ConfMan.getInt("wii_pad_acceleration");
}
Modified: scummvm/trunk/backends/platform/wii/osystem.h
===================================================================
--- scummvm/trunk/backends/platform/wii/osystem.h 2009-09-20 12:44:35 UTC (rev 44204)
+++ scummvm/trunk/backends/platform/wii/osystem.h 2009-09-20 12:53:32 UTC (rev 44205)
@@ -110,6 +110,8 @@
bool _event_quit;
u32 _lastPadCheck;
+ u8 _padSensitivity;
+ u8 _padAcceleration;
void initGfx();
void deinitGfx();
Modified: scummvm/trunk/backends/platform/wii/osystem_events.cpp
===================================================================
--- scummvm/trunk/backends/platform/wii/osystem_events.cpp 2009-09-20 12:44:35 UTC (rev 44204)
+++ scummvm/trunk/backends/platform/wii/osystem_events.cpp 2009-09-20 12:53:32 UTC (rev 44205)
@@ -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 @@
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 @@
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;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list