AppleWin/source/frontends/libretro/analog.cpp
Andrea Odetti 56511affa2 libretro: add namespace ra2 and remove tabs.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2021-02-25 16:24:52 +00:00

27 lines
696 B
C++

#include "frontends/libretro/analog.h"
#include "frontends/libretro/environment.h"
#include "libretro.h"
#define AXIS_MIN -32768
#define AXIS_MAX 32767
namespace ra2
{
Analog::Analog()
: myAxisCodes(2)
{
myAxisCodes[0] = std::make_pair(RETRO_DEVICE_INDEX_ANALOG_LEFT, RETRO_DEVICE_ID_ANALOG_X);
myAxisCodes[1] = std::make_pair(RETRO_DEVICE_INDEX_ANALOG_LEFT, RETRO_DEVICE_ID_ANALOG_Y);
}
double Analog::getAxis(int i) const
{
const auto & code = myAxisCodes[i];
const int value = input_state_cb(0, RETRO_DEVICE_ANALOG, code.first, code.second);
const double axis = 2.0 * double(value - AXIS_MIN) / double(AXIS_MAX - AXIS_MIN) - 1.0;
return axis;
}
}