From fefcc6f5b58ffde742548d6fda055323a3aff6be Mon Sep 17 00:00:00 2001 From: nakeee Date: Fri, 29 Jan 2010 07:29:11 +0000 Subject: [PATCH] Build fix git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4983 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/InputCommon/Src/Configuration.cpp | 68 +++++++------------ 1 file changed, 26 insertions(+), 42 deletions(-) diff --git a/Source/Core/InputCommon/Src/Configuration.cpp b/Source/Core/InputCommon/Src/Configuration.cpp index 4c8b95527d..43b6169fa5 100644 --- a/Source/Core/InputCommon/Src/Configuration.cpp +++ b/Source/Core/InputCommon/Src/Configuration.cpp @@ -1,16 +1,5 @@ - -// Project description -// ------------------- -// Name: Input Configuration and Calibration -// Description: Common SDL Input Functions -// -// Author: Falcon4ever (nJoy@falcon4ever.com, www.multigesture.net), JPeterson etc // Copyright (C) 2003 Dolphin Project. -// -// -// Licensetype: GNU General Public License (GPL) -// // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, version 2.0. @@ -27,8 +16,6 @@ // http://code.google.com/p/dolphin-emu/ // -// Include -// ------------------- #if defined HAVE_WX && HAVE_WX #include #endif @@ -38,14 +25,13 @@ #include #endif -#include "SDL.h" // Local +#include "SDL_Util.h" // Local namespace InputCommon { // Degree to radian and back -// ------------- float Deg2Rad(float Deg) { return Deg * (float)M_PI / 180.0f; @@ -56,7 +42,6 @@ float Rad2Deg(float Rad) } // Check if the pad is within the dead zone, we assume the range is 0x8000 -// ---------------- float CoordinatesToRadius(int x, int y) { return sqrt(pow((float)x, 2) + pow((float)y, 2)); @@ -77,17 +62,18 @@ bool IsDeadZone(float DeadZone, int x, int y) } // Scale down stick values from 0x8000 to 0x80 -/* ---------------- - The value returned by SDL_JoystickGetAxis is a signed integer s16 - (-32768 to 32767). The value used for the gamecube controller is an unsigned - char u8 (0 to 255) with neutral at 0x80 (128), so that it's equivalent to a signed - -128 to 127. -*/ -// --------------------- +/* + The value returned by SDL_JoystickGetAxis is a signed integer s16 (-32768 to + 32767). The value used for the gamecube controller is an unsigned char u8 (0 + to 255) with neutral at 0x80 (128), so that it's equivalent to a signed -128 + to 127. */ +// int Pad_Convert(int _val) { - /* If the limits on PadState[].axis[] actually is a u16 then we don't need this - but if it's not actually limited to that we need to apply these limits */ + + /* If the limits on PadState[].axis[] actually is a u16 then we don't need + this but if it's not actually limited to that we need to apply these + limits */ if(_val > 32767) _val = 32767; // upper limit if(_val < -32768) _val = -32768; // lower limit @@ -103,7 +89,6 @@ int Pad_Convert(int _val) } // Adjust the radius -// ---------------- void RadiusAdjustment(s8 &_x, s8 &_y, int _Radius) { // Get the radius setting @@ -115,13 +100,14 @@ void RadiusAdjustment(s8 &_x, s8 &_y, int _Radius) _y = (s8)y; } -/* Convert the stick raidus from a square or rounded box to a circular radius. I don't know what - input values the actual GC controller produce for the GC, it may be a square, a circle or - something in between. But one thing that is certain is that PC pads differ in their output - (as shown in the list below), so it may be beneficiary to convert whatever radius they - produce to the radius the GC games expect. This is the first implementation of this - that convert a square radius to a circual radius. Use the advanced settings to enable - and calibrate it. +/* Convert the stick raidus from a square or rounded box to a circular + radius. I don't know what input values the actual GC controller produce for + the GC, it may be a square, a circle or something in between. But one thing + that is certain is that PC pads differ in their output (as shown in the list + below), so it may be beneficiary to convert whatever radius they produce to + the radius the GC games expect. This is the first implementation of this + that convert a square radius to a circual radius. Use the advanced settings + to enable and calibrate it. Observed diagonals: Perfect circle: 71% = sin(45) @@ -130,11 +116,11 @@ void RadiusAdjustment(s8 &_x, s8 &_y, int _Radius) XBox 360 Wireless: 85% GameCube Controller (Third Party) with EMS Trio Linker Plus II: 60% */ -// --------------------- -/* Calculate the distance from the outer edges of the box to the outer edges of the circle inside the box - at any angle from 0 to 360. The returned value is 1 + Distance, for example at most sqrt(2) in the - corners and at least 1.0 at the horizontal and vertical angles. */ +/* Calculate the distance from the outer edges of the box to the outer edges of + the circle inside the box at any angle from 0 to 360. The returned value is + 1 + Distance, for example at most sqrt(2) in the corners and at least 1.0 at + the horizontal and vertical angles. */ float Square2CircleDistance(float deg) { // See if we have to adjust the angle @@ -157,9 +143,7 @@ void Square2Circle(int &_x, int &_y, int _Diagonal, bool Circle2Square) if(_x > 32767) _x = 32767; if(_y > 32767) _y = 32767; // upper limit if(_x < -32768) _x = -32768; if(_y < -32768) _y = -32768; // lower limit - // ==================================== // Convert to circle - // ----------- // Get the manually configured diagonal distance float Diagonal = (float)_Diagonal / 100.0f; @@ -167,8 +151,9 @@ void Square2Circle(int &_x, int &_y, int _Diagonal, bool Circle2Square) float OrigDist = sqrt( pow((float)_y, 2) + pow((float)_x, 2) ); // Get current distance float deg = Rad2Deg(atan2((float)_y, (float)_x)); // Get current angle - /* Calculate the actual distance between the maxium diagonal values, and the outer edges of the - square. A diagonal of 85% means a maximum distance of 0.85 * sqrt(2) ~1.2 in the diagonals. */ + /* Calculate the actual distance between the maxium diagonal values, and + the outer edges of the square. A diagonal of 85% means a maximum + distance of 0.85 * sqrt(2) ~1.2 in the diagonals. */ float corner_circle_dist = ( Diagonal / sin(Deg2Rad(45.0f)) ); float SquareDist = Square2CircleDistance(deg); // The original-to-square distance adjustment @@ -203,7 +188,6 @@ void Square2Circle(int &_x, int &_y, int _Diagonal, bool Circle2Square) } // Windows Virtual Key Codes Names -// --------------------- #ifdef _WIN32 std::string VKToString(int keycode) {