Compatibility fixes.

This commit is contained in:
Camilla Berglund 2012-01-30 00:02:54 +01:00
parent cd1caded8d
commit fa17b7e616
1 changed files with 22 additions and 11 deletions

View File

@ -232,11 +232,13 @@ static long getElementValue(_glfwJoystick* joystick, _glfwJoystickElement* eleme
static void removeJoystick(_glfwJoystick* joystick) static void removeJoystick(_glfwJoystick* joystick)
{ {
int i;
if (joystick->present) if (joystick->present)
{ {
joystick->present = GL_FALSE; joystick->present = GL_FALSE;
for (int i = 0; i < joystick->numAxes; i++) for (i = 0; i < joystick->numAxes; i++)
{ {
_glfwJoystickElement* axes = _glfwJoystickElement* axes =
(_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick->axes, i); (_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick->axes, i);
@ -245,7 +247,7 @@ static void removeJoystick(_glfwJoystick* joystick)
CFArrayRemoveAllValues(joystick->axes); CFArrayRemoveAllValues(joystick->axes);
joystick->numAxes = 0; joystick->numAxes = 0;
for (int i = 0; i < joystick->numButtons; i++) for (i = 0; i < joystick->numButtons; i++)
{ {
_glfwJoystickElement* button = _glfwJoystickElement* button =
(_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick->buttons, i); (_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick->buttons, i);
@ -254,7 +256,7 @@ static void removeJoystick(_glfwJoystick* joystick)
CFArrayRemoveAllValues(joystick->buttons); CFArrayRemoveAllValues(joystick->buttons);
joystick->numButtons = 0; joystick->numButtons = 0;
for (int i = 0; i < joystick->numHats; i++) for (i = 0; i < joystick->numHats; i++)
{ {
_glfwJoystickElement* hat = _glfwJoystickElement* hat =
(_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick->hats, i); (_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick->hats, i);
@ -287,23 +289,26 @@ static void removalCallback(void* target, IOReturn result, void* refcon, void* s
static void pollJoystickEvents(void) static void pollJoystickEvents(void)
{ {
for (int i = 0; i < GLFW_JOYSTICK_LAST + 1; i++) int i;
CFIndex j;
for (i = 0; i < GLFW_JOYSTICK_LAST + 1; i++)
{ {
_glfwJoystick* joystick = &_glfwJoysticks[i]; _glfwJoystick* joystick = &_glfwJoysticks[i];
if (joystick->present) if (joystick->present)
{ {
for (CFIndex i = 0; i < joystick->numButtons; i++) for (j = 0; j < joystick->numButtons; j++)
{ {
_glfwJoystickElement* button = _glfwJoystickElement* button =
(_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick->buttons, i); (_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick->buttons, j);
button->value = getElementValue(joystick, button); button->value = getElementValue(joystick, button);
} }
for (CFIndex i = 0; i < joystick->numAxes; i++) for (j = 0; j < joystick->numAxes; j++)
{ {
_glfwJoystickElement* axes = _glfwJoystickElement* axes =
(_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick->axes, i); (_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick->axes, j);
axes->value = getElementValue(joystick, axes); axes->value = getElementValue(joystick, axes);
} }
} }
@ -449,7 +454,9 @@ void _glfwInitJoysticks(void)
void _glfwTerminateJoysticks(void) void _glfwTerminateJoysticks(void)
{ {
for (int i = 0; i < GLFW_JOYSTICK_LAST + 1; i++) int i;
for (i = 0; i < GLFW_JOYSTICK_LAST + 1; i++)
{ {
_glfwJoystick* joystick = &_glfwJoysticks[i]; _glfwJoystick* joystick = &_glfwJoysticks[i];
removeJoystick(joystick); removeJoystick(joystick);
@ -498,6 +505,8 @@ int _glfwPlatformGetJoystickParam(int joy, int param)
int _glfwPlatformGetJoystickPos(int joy, float* pos, int numaxes) int _glfwPlatformGetJoystickPos(int joy, float* pos, int numaxes)
{ {
int i;
if (joy < GLFW_JOYSTICK_1 || joy > GLFW_JOYSTICK_LAST) if (joy < GLFW_JOYSTICK_1 || joy > GLFW_JOYSTICK_LAST)
return 0; return 0;
@ -514,7 +523,7 @@ int _glfwPlatformGetJoystickPos(int joy, float* pos, int numaxes)
// Update joystick state // Update joystick state
pollJoystickEvents(); pollJoystickEvents();
for (int i = 0; i < numaxes; i++) for (i = 0; i < numaxes; i++)
{ {
_glfwJoystickElement* axes = _glfwJoystickElement* axes =
(_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick.axes, i); (_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick.axes, i);
@ -543,6 +552,8 @@ int _glfwPlatformGetJoystickPos(int joy, float* pos, int numaxes)
int _glfwPlatformGetJoystickButtons(int joy, unsigned char* buttons, int _glfwPlatformGetJoystickButtons(int joy, unsigned char* buttons,
int numbuttons) int numbuttons)
{ {
int i;
if (joy < GLFW_JOYSTICK_1 || joy > GLFW_JOYSTICK_LAST) if (joy < GLFW_JOYSTICK_1 || joy > GLFW_JOYSTICK_LAST)
return 0; return 0;
@ -559,7 +570,7 @@ int _glfwPlatformGetJoystickButtons(int joy, unsigned char* buttons,
// Update joystick state // Update joystick state
pollJoystickEvents(); pollJoystickEvents();
for (int i = 0; i < numbuttons; i++) for (i = 0; i < numbuttons; i++)
{ {
_glfwJoystickElement* button = (_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick.buttons, i); _glfwJoystickElement* button = (_glfwJoystickElement*) CFArrayGetValueAtIndex(joystick.buttons, i);
buttons[i] = button->value ? GLFW_PRESS : GLFW_RELEASE; buttons[i] = button->value ? GLFW_PRESS : GLFW_RELEASE;