support more axes

This commit is contained in:
Glenn Maynard
2003-06-17 06:05:10 +00:00
parent c06ac1a83a
commit e96cb79c5f
4 changed files with 24 additions and 10 deletions
+6 -2
View File
@@ -58,8 +58,12 @@ 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_Z_ROT_UP: sReturn += "ZR-Up"; break; case JOY_ROT_UP: sReturn += "R-Up"; break;
case JOY_Z_ROT_DOWN:sReturn += "ZR-Down"; break; case JOY_ROT_DOWN:sReturn += "R-Down"; break;
case JOY_ROT_LEFT: sReturn += "R-Left"; break;
case JOY_ROT_RIGHT:sReturn += "R-Right"; break;
case JOY_ROT_Z_UP: sReturn += "ZR-Up"; break;
case JOY_ROT_Z_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;
+1 -1
View File
@@ -28,7 +28,7 @@ enum JoystickButton {
JOY_LEFT = 0, JOY_RIGHT, JOY_LEFT = 0, JOY_RIGHT,
JOY_UP, JOY_DOWN, JOY_UP, JOY_DOWN,
JOY_Z_UP, JOY_Z_DOWN, JOY_Z_UP, JOY_Z_DOWN,
JOY_Z_ROT_UP, JOY_Z_ROT_DOWN, JOY_ROT_UP, JOY_ROT_DOWN, JOY_ROT_LEFT, JOY_ROT_RIGHT, JOY_ROT_Z_UP, JOY_ROT_Z_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,
+6 -4
View File
@@ -159,10 +159,12 @@ void ScreenMapControllers::Input( const DeviceInput& DeviceI, const InputEventTy
DeviceI.button == JOY_RIGHT || DeviceI.button == JOY_RIGHT ||
DeviceI.button == JOY_UP || DeviceI.button == JOY_UP ||
DeviceI.button == JOY_DOWN || DeviceI.button == JOY_DOWN ||
DeviceI.button == JOY_Z_UP || DeviceI.button == JOY_ROT_UP ||
DeviceI.button == JOY_Z_DOWN || DeviceI.button == JOY_ROT_DOWN ||
DeviceI.button == JOY_Z_ROT_UP || DeviceI.button == JOY_ROT_LEFT ||
DeviceI.button == JOY_Z_ROT_DOWN ) ) DeviceI.button == JOY_ROT_RIGHT ||
DeviceI.button == JOY_ROT_Z_UP ||
DeviceI.button == JOY_ROT_Z_DOWN ) )
{ {
//m_textError.SetText( "Game option is set to ignore the Joystick D-Pad." ); //m_textError.SetText( "Game option is set to ignore the Joystick D-Pad." );
//m_fErrorDisplayCountdown = 5; // show the error message //m_fErrorDisplayCountdown = 5; // show the error message
@@ -516,8 +516,14 @@ void UpdatePolled(DIDevice &device)
case DIJOFS_Z: INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_Z_UP), state.lZ < -50); case DIJOFS_Z: INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_Z_UP), state.lZ < -50);
INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_Z_DOWN), state.lZ > 50); INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_Z_DOWN), state.lZ > 50);
break; break;
case DIJOFS_RZ: INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_Z_ROT_UP), state.lRz < -50); case DIJOFS_RX: INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_ROT_LEFT), state.lRx < -50);
INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_Z_ROT_DOWN), state.lRz > 50); INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_ROT_RIGHT), state.lRx > 50);
break;
case DIJOFS_RY: INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_ROT_UP), state.lRy < -50);
INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_ROT_DOWN), state.lRy > 50);
break;
case DIJOFS_RZ: INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_ROT_Z_UP), state.lRz < -50);
INPUTFILTER->ButtonPressed(DeviceInput(dev, JOY_ROT_Z_DOWN), state.lRz > 50);
break; break;
} }
} }
@@ -595,7 +601,9 @@ void UpdateBuffered(DIDevice &device)
case DIJOFS_X: up = JOY_LEFT; down = JOY_RIGHT; break; case DIJOFS_X: up = JOY_LEFT; down = JOY_RIGHT; break;
case DIJOFS_Y: up = JOY_UP; down = JOY_DOWN; break; case DIJOFS_Y: up = JOY_UP; down = JOY_DOWN; break;
case DIJOFS_Z: up = JOY_Z_UP; down = JOY_Z_DOWN; break; case DIJOFS_Z: up = JOY_Z_UP; down = JOY_Z_DOWN; break;
case DIJOFS_RZ: up = JOY_Z_ROT_UP; down = JOY_Z_ROT_DOWN; break; case DIJOFS_RX: up = JOY_ROT_UP; down = JOY_ROT_DOWN; break;
case DIJOFS_RY: up = JOY_ROT_LEFT; down = JOY_ROT_RIGHT; break;
case DIJOFS_RZ: up = JOY_ROT_Z_UP; down = JOY_ROT_Z_DOWN; break;
default: ASSERT(0); default: ASSERT(0);
} }