[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