diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/DX8/src/java/net/java/games/input/DirectInputAxis.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/DX8/src/java/net/java/games/input/DirectInputAxis.java b/plugins/DX8/src/java/net/java/games/input/DirectInputAxis.java index a09267d..58299b7 100644 --- a/plugins/DX8/src/java/net/java/games/input/DirectInputAxis.java +++ b/plugins/DX8/src/java/net/java/games/input/DirectInputAxis.java @@ -145,7 +145,12 @@ class DirectInputAxis extends AbstractComponent { * @return A float between -1.0 and 1.0 */ public float getPollData() { - int data = ((device.data[offset] >> bitshift)&bitmask); + int data = 0; + try { + data = ((device.data[offset] >> bitshift)&bitmask); + } catch (ArrayIndexOutOfBoundsException) { + System.out.println("Tried to get data for axis: " + this.getName() + ", device.data[" + offset + "] does not exists as device.data is only " + device.data.length + " long.") + } if ((type&DIDFT_BUTTON) != 0 ) { return (float)((data&0x80)>>7); } else if ((type&DIDFT_AXIS)!=0){ // all axes are set for -32768 to 32738 |