button implementation, etc.
This commit is contained in:
@@ -85,8 +85,8 @@ CString DeviceInput::GetDescription()
|
|||||||
case JOY_DOWN: sReturn += "Down"; break;
|
case JOY_DOWN: sReturn += "Down"; break;
|
||||||
case JOY_Z_UP: sReturn += "Z-Up"; break;
|
case JOY_Z_UP: sReturn += "Z-Up"; break;
|
||||||
case JOY_Z_DOWN: sReturn += "Z-Down"; break;
|
case JOY_Z_DOWN: sReturn += "Z-Down"; break;
|
||||||
case JOY_ROT_UP: sReturn += "Z-Down"; break;
|
case JOY_Z_ROT_UP: sReturn += "ZR-Up"; break;
|
||||||
case JOY_ROT_DOWN: sReturn += "Z-Down"; break;
|
case JOY_Z_ROT_DOWN:sReturn += "ZR-Down"; break;
|
||||||
case JOY_HAT_LEFT: sReturn += "H-Left"; break;
|
case JOY_HAT_LEFT: sReturn += "H-Left"; break;
|
||||||
case JOY_HAT_RIGHT: sReturn += "H-Right"; break;
|
case JOY_HAT_RIGHT: sReturn += "H-Right"; break;
|
||||||
case JOY_HAT_UP: sReturn += "H-Up"; break;
|
case JOY_HAT_UP: sReturn += "H-Up"; break;
|
||||||
@@ -491,8 +491,6 @@ void RageInput::Initialize()
|
|||||||
DIEDFL_ATTACHEDONLY ) ) )
|
DIEDFL_ATTACHEDONLY ) ) )
|
||||||
throw RageException( hr, "m_pDI->EnumDevices failed." );
|
throw RageException( hr, "m_pDI->EnumDevices failed." );
|
||||||
}
|
}
|
||||||
// for(int pumpNo = 0; pumpNo < NUM_PUMPS; ++pumpNo)
|
|
||||||
// m_Pumps[pumpNo].init(pumpNo);
|
|
||||||
|
|
||||||
for( int i=0; i<NUM_JOYSTICKS; i++ )
|
for( int i=0; i<NUM_JOYSTICKS; i++ )
|
||||||
{
|
{
|
||||||
@@ -734,6 +732,14 @@ void RageInput::Update()
|
|||||||
if ( IS_RIGHT(joyState.lX) ) m_joyState[i][JOY_RIGHT] = true;
|
if ( IS_RIGHT(joyState.lX) ) m_joyState[i][JOY_RIGHT] = true;
|
||||||
if ( IS_UP(joyState.lY) ) m_joyState[i][JOY_UP] = true;
|
if ( IS_UP(joyState.lY) ) m_joyState[i][JOY_UP] = true;
|
||||||
if ( IS_DOWN(joyState.lY) ) m_joyState[i][JOY_DOWN] = true;
|
if ( IS_DOWN(joyState.lY) ) m_joyState[i][JOY_DOWN] = true;
|
||||||
|
if ( IS_UP(joyState.lZ) ) m_joyState[i][JOY_Z_UP] = true;
|
||||||
|
if ( IS_DOWN(joyState.lZ) ) m_joyState[i][JOY_Z_DOWN] = true;
|
||||||
|
if ( IS_UP(joyState.lRz) ) m_joyState[i][JOY_Z_ROT_UP] = true;
|
||||||
|
if ( IS_DOWN(joyState.lRz) ) m_joyState[i][JOY_Z_ROT_DOWN] = true;
|
||||||
|
if ( joyState.rgdwPOV[0] == 27000 ) m_joyState[i][JOY_HAT_LEFT] = true;
|
||||||
|
if ( joyState.rgdwPOV[0] == 9000 ) m_joyState[i][JOY_HAT_RIGHT] = true;
|
||||||
|
if ( joyState.rgdwPOV[0] == 0 ) m_joyState[i][JOY_HAT_UP] = true;
|
||||||
|
if ( joyState.rgdwPOV[0] == 18000 ) m_joyState[i][JOY_HAT_DOWN] = true;
|
||||||
|
|
||||||
for (int button_index = JOY_1; button_index < NUM_JOYSTICK_BUTTONS; ++button_index)
|
for (int button_index = JOY_1; button_index < NUM_JOYSTICK_BUTTONS; ++button_index)
|
||||||
{
|
{
|
||||||
@@ -746,6 +752,12 @@ void RageInput::Update()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool RageInput::BeingPressed( DeviceInput di, bool Prev )
|
||||||
|
{
|
||||||
|
if(Prev) return WasBeingPressed(di);
|
||||||
|
return IsBeingPressed(di);
|
||||||
|
}
|
||||||
|
|
||||||
bool RageInput::IsBeingPressed( DeviceInput di )
|
bool RageInput::IsBeingPressed( DeviceInput di )
|
||||||
{
|
{
|
||||||
switch( di.device )
|
switch( di.device )
|
||||||
@@ -762,7 +774,7 @@ bool RageInput::IsBeingPressed( DeviceInput di )
|
|||||||
case DEVICE_PUMP2:
|
case DEVICE_PUMP2:
|
||||||
{
|
{
|
||||||
ASSERT(di.button < NUM_PUMP_PAD_BUTTONS);
|
ASSERT(di.button < NUM_PUMP_PAD_BUTTONS);
|
||||||
return m_pumpState[pump_index - DEVICE_PUMP1].button[di.button];
|
return m_pumpState[di.device - DEVICE_PUMP1].button[di.button];
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
ASSERT( false ); // bad device
|
ASSERT( false ); // bad device
|
||||||
@@ -786,7 +798,7 @@ bool RageInput::WasBeingPressed( DeviceInput di )
|
|||||||
case DEVICE_PUMP1:
|
case DEVICE_PUMP1:
|
||||||
case DEVICE_PUMP2: {
|
case DEVICE_PUMP2: {
|
||||||
ASSERT(di.button < NUM_PUMP_PAD_BUTTONS);
|
ASSERT(di.button < NUM_PUMP_PAD_BUTTONS);
|
||||||
return m_oldPumpState[pump_index - DEVICE_PUMP1].button[di.button];
|
return m_oldPumpState[di.device - DEVICE_PUMP1].button[di.button];
|
||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ enum InputDevice {
|
|||||||
enum JoystickButton {
|
enum JoystickButton {
|
||||||
JOY_LEFT = 0, JOY_RIGHT, JOY_UP, JOY_DOWN,
|
JOY_LEFT = 0, JOY_RIGHT, JOY_UP, JOY_DOWN,
|
||||||
JOY_Z_UP, JOY_Z_DOWN,
|
JOY_Z_UP, JOY_Z_DOWN,
|
||||||
JOY_ROT_UP, JOY_ROT_DOWN,
|
JOY_Z_ROT_UP, JOY_Z_ROT_DOWN,
|
||||||
JOY_HAT_LEFT, JOY_HAT_RIGHT, JOY_HAT_UP, JOY_HAT_DOWN,
|
JOY_HAT_LEFT, JOY_HAT_RIGHT, JOY_HAT_UP, JOY_HAT_DOWN,
|
||||||
JOY_1, JOY_2, JOY_3, JOY_4, JOY_5, JOY_6, JOY_7, JOY_8, JOY_9, JOY_10,
|
JOY_1, JOY_2, JOY_3, JOY_4, JOY_5, JOY_6, JOY_7, JOY_8, JOY_9, JOY_10,
|
||||||
JOY_11, JOY_12, JOY_13, JOY_14, JOY_15, JOY_16, JOY_17, JOY_18, JOY_19, JOY_20,
|
JOY_11, JOY_12, JOY_13, JOY_14, JOY_15, JOY_16, JOY_17, JOY_18, JOY_19, JOY_20,
|
||||||
@@ -147,6 +147,7 @@ public:
|
|||||||
void Update();
|
void Update();
|
||||||
bool IsBeingPressed( DeviceInput di );
|
bool IsBeingPressed( DeviceInput di );
|
||||||
bool WasBeingPressed( DeviceInput di );
|
bool WasBeingPressed( DeviceInput di );
|
||||||
|
bool BeingPressed( DeviceInput di, bool Prev = false);
|
||||||
|
|
||||||
// DIMOUSESTATE2 GetMouseState() { return dimMouseState; }
|
// DIMOUSESTATE2 GetMouseState() { return dimMouseState; }
|
||||||
void GetAbsPosition( int &x, int &y ) const { x = m_AbsPosition_x; y = m_AbsPosition_y; }
|
void GetAbsPosition( int &x, int &y ) const { x = m_AbsPosition_x; y = m_AbsPosition_y; }
|
||||||
|
|||||||
Reference in New Issue
Block a user