From a46f6f6cf41c5ca62b488e7e7c2dd49ab6da276e Mon Sep 17 00:00:00 2001 From: Humphrey Shotton <humpheh@gmail.com> Date: Tue, 22 Jan 2019 21:37:15 +0000 Subject: [PATCH] Correctly index joysticks in internal state --- pixelgl/joystick.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pixelgl/joystick.go b/pixelgl/joystick.go index 3cdec27..70bcf51 100644 --- a/pixelgl/joystick.go +++ b/pixelgl/joystick.go @@ -25,6 +25,8 @@ const ( Joystick14 = Joystick(glfw.Joystick14) Joystick15 = Joystick(glfw.Joystick15) Joystick16 = Joystick(glfw.Joystick16) + + JoystickLast = Joystick(glfw.JoystickLast) ) // JoystickPresent returns if the joystick is currently connected. @@ -90,7 +92,7 @@ func (w *Window) JoystickAxis(js Joystick, axis int) float64 { // Used internally during Window.UpdateInput to update the state of the joysticks. func (w *Window) updateJoystickInput() { - for js := Joystick1; js < Joystick16; js++ { + for js := Joystick1; js <= Joystick16; js++ { // Determine and store if the joystick was connected joystickPresent := glfw.JoystickPresent(glfw.Joystick(js)) w.tempJoy.connected[js] = joystickPresent @@ -118,10 +120,10 @@ func (w *Window) updateJoystickInput() { } type joystickState struct { - connected [Joystick16]bool - name [Joystick16]string - buttons [Joystick16][]byte - axis [Joystick16][]float32 + connected [Joystick16 + 1]bool + name [Joystick16 + 1]string + buttons [Joystick16 + 1][]byte + axis [Joystick16 + 1][]float32 } // Returns if a button on a joystick is down, returning false if the button or joystick is invalid. -- GitLab