From 5adbc83453d14b23818442f545ceede0e4548196 Mon Sep 17 00:00:00 2001 From: Rachel Bryk Date: Mon, 11 Aug 2014 13:43:26 -0400 Subject: [PATCH] Change ControlState typedef to double, and change all related floats/doubles to use it. Fixes an off by 1 issue related to double->float->double conversion, and eliminates numerous warnings. --- Source/Core/Core/HW/GCPadEmu.cpp | 6 +- .../Core/HW/WiimoteEmu/Attachment/Classic.cpp | 6 +- .../Core/HW/WiimoteEmu/Attachment/Drums.cpp | 2 +- .../Core/HW/WiimoteEmu/Attachment/Guitar.cpp | 4 +- .../HW/WiimoteEmu/Attachment/Turntable.cpp | 10 +-- Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp | 40 +++++----- .../Core/DolphinWX/InputConfigDiagBitmaps.cpp | 30 +++---- Source/Core/InputCommon/ControllerEmu.cpp | 4 +- Source/Core/InputCommon/ControllerEmu.h | 78 +++++++++---------- .../DInput/DInputJoystick.cpp | 2 +- .../DInput/DInputKeyboardMouse.cpp | 4 +- .../InputCommon/ControllerInterface/Device.h | 2 +- .../ControllerInterface/ExpressionParser.cpp | 2 +- .../ControllerInterface/OSX/OSXKeyboard.mm | 2 +- .../ControllerInterface/SDL/SDL.cpp | 2 +- .../ControllerInterface/XInput/XInput.cpp | 2 +- 16 files changed, 99 insertions(+), 97 deletions(-) diff --git a/Source/Core/Core/HW/GCPadEmu.cpp b/Source/Core/Core/HW/GCPadEmu.cpp index 123f32969e..26beda9373 100644 --- a/Source/Core/Core/HW/GCPadEmu.cpp +++ b/Source/Core/Core/HW/GCPadEmu.cpp @@ -92,7 +92,7 @@ std::string GCPad::GetName() const void GCPad::GetInput(GCPadStatus* const pad) { - double x, y, triggers[2]; + ControlState x, y, triggers[2]; // buttons m_buttons->GetState(&pad->button, button_bitmasks); @@ -121,8 +121,8 @@ void GCPad::GetInput(GCPadStatus* const pad) void GCPad::SetMotor(const u8 on) { - float state = static_cast(on) / 255; - float force = abs(state - 0.5f) * 2; + ControlState state = static_cast(on) / 255; + ControlState force = abs(state - 0.5) * 2; if (state < 0.5) force = -force; diff --git a/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.cpp b/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.cpp index de1c794a96..7f45b7ae37 100644 --- a/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.cpp +++ b/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.cpp @@ -89,7 +89,7 @@ void Classic::GetState(u8* const data) // left stick { - double x, y; + ControlState x, y; m_left_stick->GetState(&x, &y); ccdata->lx = static_cast(Classic::LEFT_STICK_CENTER_X + (x * Classic::LEFT_STICK_RADIUS)); @@ -98,7 +98,7 @@ void Classic::GetState(u8* const data) // right stick { - double x, y; + ControlState x, y; u8 x_, y_; m_right_stick->GetState(&x, &y); @@ -113,7 +113,7 @@ void Classic::GetState(u8* const data) //triggers { - double trigs[2] = { 0, 0 }; + ControlState trigs[2] = { 0, 0 }; u8 lt, rt; m_triggers->GetState(&ccdata->bt, classic_trigger_bitmasks, trigs); diff --git a/Source/Core/Core/HW/WiimoteEmu/Attachment/Drums.cpp b/Source/Core/Core/HW/WiimoteEmu/Attachment/Drums.cpp index f77636d214..b1551480da 100644 --- a/Source/Core/Core/HW/WiimoteEmu/Attachment/Drums.cpp +++ b/Source/Core/Core/HW/WiimoteEmu/Attachment/Drums.cpp @@ -60,7 +60,7 @@ void Drums::GetState(u8* const data) // stick { - double x, y; + ControlState x, y; m_stick->GetState(&x, &y); ddata->sx = static_cast((x * 0x1F) + 0x20); diff --git a/Source/Core/Core/HW/WiimoteEmu/Attachment/Guitar.cpp b/Source/Core/Core/HW/WiimoteEmu/Attachment/Guitar.cpp index 4a35413f9d..fde46ac811 100644 --- a/Source/Core/Core/HW/WiimoteEmu/Attachment/Guitar.cpp +++ b/Source/Core/Core/HW/WiimoteEmu/Attachment/Guitar.cpp @@ -73,7 +73,7 @@ void Guitar::GetState(u8* const data) // stick { - double x, y; + ControlState x, y; m_stick->GetState(&x, &y); gdata->sx = static_cast((x * 0x1F) + 0x20); @@ -84,7 +84,7 @@ void Guitar::GetState(u8* const data) gdata->tb = 0x0F; // not touched // whammy bar - double whammy; + ControlState whammy; m_whammy->GetState(&whammy); gdata->whammy = static_cast(whammy * 0x1F); diff --git a/Source/Core/Core/HW/WiimoteEmu/Attachment/Turntable.cpp b/Source/Core/Core/HW/WiimoteEmu/Attachment/Turntable.cpp index 716bd38007..2a6b8ce87c 100644 --- a/Source/Core/Core/HW/WiimoteEmu/Attachment/Turntable.cpp +++ b/Source/Core/Core/HW/WiimoteEmu/Attachment/Turntable.cpp @@ -62,7 +62,7 @@ void Turntable::GetState(u8* const data) // stick { - double x, y; + ControlState x, y; m_stick->GetState(&x, &y); ttdata->sx = static_cast((x * 0x1F) + 0x20); @@ -71,7 +71,7 @@ void Turntable::GetState(u8* const data) // left table { - double tt; + ControlState tt; s8 tt_; m_left_table->GetState(&tt); @@ -83,7 +83,7 @@ void Turntable::GetState(u8* const data) // right table { - double tt; + ControlState tt; s8 tt_; m_right_table->GetState(&tt); @@ -97,7 +97,7 @@ void Turntable::GetState(u8* const data) // effect dial { - double dial; + ControlState dial; u8 dial_; m_effect_dial->GetState(&dial); @@ -109,7 +109,7 @@ void Turntable::GetState(u8* const data) // crossfade slider { - double cfs; + ControlState cfs; m_crossfade->GetState(&cfs); ttdata->slider = static_cast((cfs * 0x07) + 0x08); diff --git a/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp b/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp index 1bcf7444bf..682c783a72 100644 --- a/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp +++ b/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp @@ -97,7 +97,7 @@ void EmulateShake(AccelData* const accel auto const shake_step_max = 15; // peak G-force - auto const shake_intensity = 3.f; + auto const shake_intensity = 3.0; // shake is a bitfield of X,Y,Z shake button states static const unsigned int btns[] = { 0x01, 0x02, 0x04 }; @@ -120,7 +120,7 @@ void EmulateTilt(AccelData* const accel , ControllerEmu::Tilt* const tilt_group , const bool sideways, const bool upright) { - double roll, pitch; + ControlState roll, pitch; // 180 degrees tilt_group->GetState(&roll, &pitch); @@ -152,13 +152,13 @@ void EmulateTilt(AccelData* const accel (&accel->x)[fb] = sin(pitch)*sgn[fb]; } -#define SWING_INTENSITY 2.5f//-uncalibrated(aprox) 0x40-calibrated +#define SWING_INTENSITY 2.5//-uncalibrated(aprox) 0x40-calibrated void EmulateSwing(AccelData* const accel , ControllerEmu::Force* const swing_group , const bool sideways, const bool upright) { - double swing[3]; + ControlState swing[3]; swing_group->GetState(swing); s8 g_dir[3] = {-1, -1, -1}; @@ -176,7 +176,7 @@ void EmulateSwing(AccelData* const accel if (!sideways && upright) g_dir[axis_map[0]] *= -1; - for (unsigned int i=0; i<3; ++i) + for (unsigned int i = 0; i < 3; ++i) (&accel->x)[axis_map[i]] += swing[i] * g_dir[i] * SWING_INTENSITY; } @@ -406,7 +406,7 @@ void Wiimote::GetAccelData(u8* const data) FillRawAccelFromGForceData(*(wm_accel*)data, *(accel_cal*)&m_eeprom[0x16], m_accel); } -#define kCutoffFreq 5.0f +#define kCutoffFreq 5.0 inline void LowPassFilter(double & var, double newval, double period) { double RC=1.0/kCutoffFreq; @@ -419,15 +419,15 @@ void Wiimote::GetIRData(u8* const data, bool use_accel) u16 x[4], y[4]; memset(x, 0xFF, sizeof(x)); - double xx = 10000, yy = 0, zz = 0; + ControlState xx = 10000, yy = 0, zz = 0; double nsin,ncos; if (use_accel) { double ax,az,len; - ax=m_accel.x; - az=m_accel.z; - len=sqrt(ax*ax+az*az); + ax = m_accel.x; + az = m_accel.z; + len = sqrt(ax*ax+az*az); if (len) { ax/=len; @@ -449,8 +449,8 @@ void Wiimote::GetIRData(u8* const data, bool use_accel) ncos=1; } - LowPassFilter(ir_sin,nsin,1.0f/60); - LowPassFilter(ir_cos,ncos,1.0f/60); + LowPassFilter(ir_sin,nsin,1.0/60); + LowPassFilter(ir_cos,ncos,1.0/60); m_ir->GetState(&xx, &yy, &zz, true); @@ -462,14 +462,16 @@ void Wiimote::GetIRData(u8* const data, bool use_accel) static const double bnddown=0.85; static const double bndleft=0.443364; static const double bndright=-0.443364; - static const double dist1=100.f/camWidth; //this seems the optimal distance for zelda - static const double dist2=1.2f*dist1; + static const double dist1=100.0/camWidth; //this seems the optimal distance for zelda + static const double dist2=1.2*dist1; for (auto& vtx : v) { - vtx.x=xx*(bndright-bndleft)/2+(bndleft+bndright)/2; - if (m_sensor_bar_on_top) vtx.y=yy*(bndup-bnddown)/2+(bndup+bnddown)/2; - else vtx.y=yy*(bndup-bnddown)/2-(bndup+bnddown)/2; + vtx.x = xx * (bndright - bndleft) / 2 + (bndleft + bndright) / 2; + if (m_sensor_bar_on_top) + vtx.y = yy * (bndup - bnddown) / 2 + (bndup + bnddown) / 2; + else + vtx.y = yy * (bndup - bnddown) / 2 - (bndup + bnddown) / 2; vtx.z=0; } @@ -487,7 +489,7 @@ void Wiimote::GetIRData(u8* const data, bool use_accel) //MatrixIdentity(rot); MatrixMultiply(tot,scale,rot); - for (int i=0; i<4; i++) + for (int i = 0; i < 4; i++) { MatrixTransformVertex(tot,v[i]); if ((v[i].x<-1)||(v[i].x>1)||(v[i].y<-1)||(v[i].y>1)) @@ -535,7 +537,7 @@ void Wiimote::GetIRData(u8* const data, bool use_accel) { memset(data, 0xFF, 12); wm_ir_extended* const irdata = (wm_ir_extended*)data; - for (unsigned int i=0; i<4; ++i) + for (unsigned int i = 0; i < 4; ++i) if (x[i] < 1024 && y[i] < 768) { irdata[i].x = u8(x[i]); diff --git a/Source/Core/DolphinWX/InputConfigDiagBitmaps.cpp b/Source/Core/DolphinWX/InputConfigDiagBitmaps.cpp index e33e14a53c..9960381e7f 100644 --- a/Source/Core/DolphinWX/InputConfigDiagBitmaps.cpp +++ b/Source/Core/DolphinWX/InputConfigDiagBitmaps.cpp @@ -43,7 +43,7 @@ static void DrawCenteredRectangle(wxDC &dc, int x, int y, int w, int h) #define COORD_VIS_SIZE 4 -static void DrawCoordinate(wxDC &dc, double x, double y) +static void DrawCoordinate(wxDC &dc, ControlState x, ControlState y) { int xc = VIS_COORD(x); int yc = VIS_COORD(y); @@ -60,7 +60,7 @@ static void DrawControlGroupBox(wxDC &dc, ControlGroupBox *g) { // this is starting to be a mess combining all these in one case - double x = 0, y = 0, z = 0; + ControlState x = 0, y = 0, z = 0; switch (g->control_group->type) { @@ -103,7 +103,7 @@ static void DrawControlGroupBox(wxDC &dc, ControlGroupBox *g) dc.SetPen(LightGrayPen); // polygon offset - float max + ControlState max , diagonal , box = 64 , d_of = box / 256.0 @@ -111,18 +111,18 @@ static void DrawControlGroupBox(wxDC &dc, ControlGroupBox *g) if (g->control_group->name == "Main Stick") { - max = (87.0f / 127.0f) * 100; - diagonal = (55.0f / 127.0f) * 100; + max = (87.0 / 127.0) * 100; + diagonal = (55.0 / 127.0) * 100; } else if (g->control_group->name == "C-Stick") { - max = (74.0f / 127.0f) * 100; - diagonal = (46.0f / 127.0f) * 100; + max = (74.0 / 127.0) * 100; + diagonal = (46.0 / 127.0) * 100; } else { - max = (82.0f / 127.0f) * 100; - diagonal = (58.0f / 127.0f) * 100; + max = (82.0 / 127.0) * 100; + diagonal = (58.0 / 127.0) * 100; } // polygon corners @@ -153,7 +153,7 @@ static void DrawControlGroupBox(wxDC &dc, ControlGroupBox *g) // raw dot { - float xx, yy; + ControlState xx, yy; xx = g->control_group->controls[3]->control_ref->State(); xx -= g->control_group->controls[2]->control_ref->State(); yy = g->control_group->controls[1]->control_ref->State(); @@ -177,9 +177,9 @@ static void DrawControlGroupBox(wxDC &dc, ControlGroupBox *g) break; case GROUP_TYPE_FORCE : { - double raw_dot[3]; - double adj_dot[3]; - const float deadzone = g->control_group->settings[0]->value; + ControlState raw_dot[3]; + ControlState adj_dot[3]; + const ControlState deadzone = g->control_group->settings[0]->value; // adjusted ((ControllerEmu::Force*)g->control_group)->GetState(adj_dot); @@ -287,7 +287,7 @@ static void DrawControlGroupBox(wxDC &dc, ControlGroupBox *g) dc.SetPen(*wxGREY_PEN); ControlState deadzone = g->control_group->settings[0]->value; - double* const trigs = new double[trigger_count]; + ControlState* const trigs = new ControlState[trigger_count]; ((ControllerEmu::Triggers*)g->control_group)->GetState(trigs); for (unsigned int n = 0; n < trigger_count; ++n) @@ -363,7 +363,7 @@ static void DrawControlGroupBox(wxDC &dc, ControlGroupBox *g) dc.SetBrush(*wxGREY_BRUSH); dc.DrawRectangle(31 + state * 30, 0, 2, 14); - double adj_state; + ControlState adj_state; ((ControllerEmu::Slider*)g->control_group)->GetState(&adj_state); if (state) { diff --git a/Source/Core/InputCommon/ControllerEmu.cpp b/Source/Core/InputCommon/ControllerEmu.cpp index 87378f86e0..6200ec2002 100644 --- a/Source/Core/InputCommon/ControllerEmu.cpp +++ b/Source/Core/InputCommon/ControllerEmu.cpp @@ -104,7 +104,7 @@ void ControllerEmu::ControlGroup::SaveConfig(IniFile::Section *sec, const std::s { if (s->is_virtual) continue; - sec->Set(group + s->name, s->value*100.0f, s->default_value*100.0f); + sec->Set(group + s->name, (float)s->value * 100.0f, (float)s->default_value * 100.0f); } for (auto& c : controls) @@ -113,7 +113,7 @@ void ControllerEmu::ControlGroup::SaveConfig(IniFile::Section *sec, const std::s sec->Set(group + c->name, c->control_ref->expression, ""); // range - sec->Set(group + c->name + "/Range", c->control_ref->range*100.0f, 100.0f); + sec->Set(group + c->name + "/Range", (float) (c->control_ref->range*100.0, 100.0)); } // extensions diff --git a/Source/Core/InputCommon/ControllerEmu.h b/Source/Core/InputCommon/ControllerEmu.h index d390c1f90f..ec1ab8a2b7 100644 --- a/Source/Core/InputCommon/ControllerEmu.h +++ b/Source/Core/InputCommon/ControllerEmu.h @@ -151,7 +151,7 @@ public: // The GameCube controller and Wiimote attachments have a different default radius AnalogStick(const char* const _name, ControlState default_radius); - void GetState(double* const x, double* const y) + void GetState(ControlState* const x, ControlState* const y) { ControlState yy = controls[0]->control_ref->State() - controls[1]->control_ref->State(); ControlState xx = controls[3]->control_ref->State() - controls[2]->control_ref->State(); @@ -167,7 +167,7 @@ public: ControlState dist = sqrt(xx*xx + yy*yy); // dead zone code - dist = std::max(0.0f, dist - deadzone); + dist = std::max(0.0, dist - deadzone); dist /= (1 - deadzone); // radius @@ -178,8 +178,8 @@ public: if (m) dist *= 0.5; - yy = std::max(-1.0f, std::min(1.0f, ang_sin * dist)); - xx = std::max(-1.0f, std::min(1.0f, ang_cos * dist)); + yy = std::max(-1.0, std::min(1.0, ang_sin * dist)); + xx = std::max(-1.0, std::min(1.0, ang_cos * dist)); *y = yy; *x = xx; @@ -210,7 +210,7 @@ public: public: MixedTriggers(const std::string& _name); - void GetState(u16 *const digital, const u16* bitmasks, double* analog) + void GetState(u16 *const digital, const u16* bitmasks, ControlState* analog) { const unsigned int trig_count = ((unsigned int) (controls.size() / 2)); for (unsigned int i=0; ivalue; for (unsigned int i=0; icontrol_ref->State() - deadzone, 0.0f) / (1 - deadzone); + *analog = std::max(controls[i]->control_ref->State() - deadzone, 0.0) / (1 - deadzone); } }; @@ -247,12 +247,12 @@ public: public: Slider(const std::string& _name); - void GetState(double* const slider) + void GetState(ControlState* const slider) { - const float deadzone = settings[0]->value; - const float state = controls[1]->control_ref->State() - controls[0]->control_ref->State(); + const ControlState deadzone = settings[0]->value; + const ControlState state = controls[1]->control_ref->State() - controls[0]->control_ref->State(); - if (fabsf(state) > deadzone) + if (fabs(state) > deadzone) *slider = (state - (deadzone * sign(state))) / (1 - deadzone); else *slider = 0; @@ -264,24 +264,24 @@ public: public: Force(const std::string& _name); - void GetState(double* axis) + void GetState(ControlState* axis) { - const float deadzone = settings[0]->value; - for (unsigned int i=0; i<6; i+=2) + const ControlState deadzone = settings[0]->value; + for (unsigned int i = 0; i < 6; i += 2) { - float tmpf = 0; - const float state = controls[i+1]->control_ref->State() - controls[i]->control_ref->State(); - if (fabsf(state) > deadzone) + ControlState tmpf = 0; + const ControlState state = controls[i+1]->control_ref->State() - controls[i]->control_ref->State(); + if (fabs(state) > deadzone) tmpf = ((state - (deadzone * sign(state))) / (1 - deadzone)); - float &ax = m_swing[i >> 1]; + ControlState &ax = m_swing[i >> 1]; *axis++ = (tmpf - ax); ax = tmpf; } } private: - float m_swing[3]; + ControlState m_swing[3]; }; class Tilt : public ControlGroup @@ -289,7 +289,7 @@ public: public: Tilt(const std::string& _name); - void GetState(double* const x, double* const y, const bool step = true) + void GetState(ControlState* const x, ControlState* const y, const bool step = true) { // this is all a mess @@ -298,7 +298,7 @@ public: ControlState deadzone = settings[0]->value; ControlState circle = settings[1]->value; - auto const angle = settings[2]->value / 1.8f; + auto const angle = settings[2]->value / 1.8; ControlState m = controls[4]->control_ref->State(); // deadzone / circle stick code @@ -309,7 +309,7 @@ public: ControlState ang_cos = cos(ang); // the amt a full square stick would have at current angle - ControlState square_full = std::min(ang_sin ? 1/fabsf(ang_sin) : 2, ang_cos ? 1/fabsf(ang_cos) : 2); + ControlState square_full = std::min(ang_sin ? 1/fabs(ang_sin) : 2, ang_cos ? 1/fabs(ang_cos) : 2); // the amt a full stick would have that was (user setting circular) at current angle // I think this is more like a pointed circle rather than a rounded square like it should be @@ -318,7 +318,7 @@ public: ControlState dist = sqrt(xx*xx + yy*yy); // dead zone code - dist = std::max(0.0f, dist - deadzone * stick_full); + dist = std::max(0.0, dist - deadzone * stick_full); dist /= (1 - deadzone); // circle stick code @@ -328,8 +328,8 @@ public: if (m) dist *= 0.5; - yy = std::max(-1.0f, std::min(1.0f, ang_sin * dist)); - xx = std::max(-1.0f, std::min(1.0f, ang_cos * dist)); + yy = std::max(-1.0, std::min(1.0, ang_sin * dist)); + xx = std::max(-1.0, std::min(1.0, ang_cos * dist)); // this is kinda silly here // gui being open will make this happen 2x as fast, o well @@ -338,14 +338,14 @@ public: if (step) { if (xx > m_tilt[0]) - m_tilt[0] = std::min(m_tilt[0] + 0.1f, xx); + m_tilt[0] = std::min(m_tilt[0] + 0.1, xx); else if (xx < m_tilt[0]) - m_tilt[0] = std::max(m_tilt[0] - 0.1f, xx); + m_tilt[0] = std::max(m_tilt[0] - 0.1, xx); if (yy > m_tilt[1]) - m_tilt[1] = std::min(m_tilt[1] + 0.1f, yy); + m_tilt[1] = std::min(m_tilt[1] + 0.1, yy); else if (yy < m_tilt[1]) - m_tilt[1] = std::max(m_tilt[1] - 0.1f, yy); + m_tilt[1] = std::max(m_tilt[1] - 0.1, yy); } *y = m_tilt[1] * angle; @@ -353,7 +353,7 @@ public: } private: - float m_tilt[2]; + ControlState m_tilt[2]; }; class Cursor : public ControlGroup @@ -361,34 +361,34 @@ public: public: Cursor(const std::string& _name); - void GetState(double* const x, double* const y, double* const z, const bool adjusted = false) + void GetState(ControlState* const x, ControlState* const y, ControlState* const z, const bool adjusted = false) { - const float zz = controls[4]->control_ref->State() - controls[5]->control_ref->State(); + const ControlState zz = controls[4]->control_ref->State() - controls[5]->control_ref->State(); // silly being here if (zz > m_z) - m_z = std::min(m_z + 0.1f, zz); + m_z = std::min(m_z + 0.1, zz); else if (zz < m_z) - m_z = std::max(m_z - 0.1f, zz); + m_z = std::max(m_z - 0.1, zz); *z = m_z; // hide - if (controls[6]->control_ref->State() > 0.5f) + if (controls[6]->control_ref->State() > 0.5) { *x = 10000; *y = 0; } else { - float yy = controls[0]->control_ref->State() - controls[1]->control_ref->State(); - float xx = controls[3]->control_ref->State() - controls[2]->control_ref->State(); + ControlState yy = controls[0]->control_ref->State() - controls[1]->control_ref->State(); + ControlState xx = controls[3]->control_ref->State() - controls[2]->control_ref->State(); // adjust cursor according to settings if (adjusted) { xx *= (settings[1]->value * 2); yy *= (settings[2]->value * 2); - yy += (settings[0]->value - 0.5f); + yy += (settings[0]->value - 0.5); } *x = xx; @@ -396,7 +396,7 @@ public: } } - float m_z; + ControlState m_z; }; class Extension : public ControlGroup diff --git a/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp b/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp index 1ff48877db..ecd5db838c 100644 --- a/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp +++ b/Source/Core/InputCommon/ControllerInterface/DInput/DInputJoystick.cpp @@ -266,7 +266,7 @@ std::string Joystick::Hat::GetName() const ControlState Joystick::Axis::GetState() const { - return std::max(0.0f, ControlState(m_axis - m_base) / m_range); + return std::max(0.0, ControlState(m_axis - m_base) / m_range); } ControlState Joystick::Button::GetState() const diff --git a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp index 52960bbc3c..d9728dcbac 100644 --- a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp +++ b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp @@ -298,12 +298,12 @@ ControlState KeyboardMouse::Button::GetState() const ControlState KeyboardMouse::Axis::GetState() const { - return std::max(0.0f, ControlState(m_axis) / m_range); + return std::max(0.0, ControlState(m_axis) / m_range); } ControlState KeyboardMouse::Cursor::GetState() const { - return std::max(0.0f, ControlState(m_axis) / (m_positive ? 1.0f : -1.0f)); + return std::max(0.0, ControlState(m_axis) / (m_positive ? 1.0 : -1.0)); } void KeyboardMouse::Light::SetState(const ControlState state) diff --git a/Source/Core/InputCommon/ControllerInterface/Device.h b/Source/Core/InputCommon/ControllerInterface/Device.h index 6e1868a4ba..fa4f351cb5 100644 --- a/Source/Core/InputCommon/ControllerInterface/Device.h +++ b/Source/Core/InputCommon/ControllerInterface/Device.h @@ -10,7 +10,7 @@ #include "Common/Common.h" // idk in case I wanted to change it to double or something, idk what's best -typedef float ControlState; +typedef double ControlState; namespace ciface { diff --git a/Source/Core/InputCommon/ControllerInterface/ExpressionParser.cpp b/Source/Core/InputCommon/ControllerInterface/ExpressionParser.cpp index c28356260d..e93b22826d 100644 --- a/Source/Core/InputCommon/ControllerInterface/ExpressionParser.cpp +++ b/Source/Core/InputCommon/ControllerInterface/ExpressionParser.cpp @@ -273,7 +273,7 @@ public: case TOK_OR: return std::max(lhsValue, rhsValue); case TOK_ADD: - return std::min(lhsValue + rhsValue, 1.0f); + return std::min(lhsValue + rhsValue, 1.0); default: assert(false); return 0; diff --git a/Source/Core/InputCommon/ControllerInterface/OSX/OSXKeyboard.mm b/Source/Core/InputCommon/ControllerInterface/OSX/OSXKeyboard.mm index 89642aecf0..98df7c3535 100644 --- a/Source/Core/InputCommon/ControllerInterface/OSX/OSXKeyboard.mm +++ b/Source/Core/InputCommon/ControllerInterface/OSX/OSXKeyboard.mm @@ -253,7 +253,7 @@ ControlState Keyboard::Key::GetState() const ControlState Keyboard::Cursor::GetState() const { - return std::max(0.0f, ControlState(m_axis) / (m_positive ? 1.0f : -1.0f)); + return std::max(0.0, ControlState(m_axis) / (m_positive ? 1.0 : -1.0)); } ControlState Keyboard::Button::GetState() const diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp index c43cd255e8..b745f7b2d4 100644 --- a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp +++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp @@ -407,7 +407,7 @@ ControlState Joystick::Button::GetState() const ControlState Joystick::Axis::GetState() const { - return std::max(0.0f, ControlState(SDL_JoystickGetAxis(m_js, m_index)) / m_range); + return std::max(0.0, ControlState(SDL_JoystickGetAxis(m_js, m_index)) / m_range); } ControlState Joystick::Hat::GetState() const diff --git a/Source/Core/InputCommon/ControllerInterface/XInput/XInput.cpp b/Source/Core/InputCommon/ControllerInterface/XInput/XInput.cpp index 8b68fa80bc..b58c1c81a5 100644 --- a/Source/Core/InputCommon/ControllerInterface/XInput/XInput.cpp +++ b/Source/Core/InputCommon/ControllerInterface/XInput/XInput.cpp @@ -256,7 +256,7 @@ ControlState Device::Trigger::GetState() const ControlState Device::Axis::GetState() const { - return std::max( 0.0f, ControlState(m_axis) / m_range ); + return std::max( 0.0, ControlState(m_axis) / m_range ); } void Device::Motor::SetState(ControlState state)