- while (PendingEvent()) /* got event */
- {
- Event event;
-
- NextEvent(&event);
-
- switch (event.type)
- {
- case EVENT_KEYPRESS:
- switch (GetEventKey((KeyEvent *)&event, TRUE))
- {
- case KSYM_Return:
- if (check_remaining == 0)
- result = 1;
- break;
-
- case KSYM_Escape:
- FadeSkipNextFadeIn();
- result = 0;
- break;
-
- default:
- break;
- }
- break;
-
- case EVENT_KEYRELEASE:
- key_joystick_mapping = 0;
- break;
-
- default:
- HandleOtherEvents(&event);
- break;
- }
- }
-
- if (!ReadJoystick(joystick_nr, &joy_x, &joy_y, NULL, NULL))
- return FALSE;
-
- new_joystick_xleft = MIN(new_joystick_xleft, joy_x);
- new_joystick_xright = MAX(new_joystick_xright, joy_x);
- new_joystick_yupper = MIN(new_joystick_yupper, joy_y);
- new_joystick_ylower = MAX(new_joystick_ylower, joy_y);
-
- setup.input[player_nr].joy.xleft = new_joystick_xleft;
- setup.input[player_nr].joy.yupper = new_joystick_yupper;
- setup.input[player_nr].joy.xright = new_joystick_xright;
- setup.input[player_nr].joy.ylower = new_joystick_ylower;
- setup.input[player_nr].joy.xmiddle = new_joystick_xmiddle;
- setup.input[player_nr].joy.ymiddle = new_joystick_ymiddle;
-
- CheckJoystickData();
-
- joy_value = JoystickExt(joystick_nr, TRUE);
-
- if (joy_value & JOY_BUTTON && check_remaining == 0)
- result = 1;
-
- x = (joy_value & JOY_LEFT ? -1 : joy_value & JOY_RIGHT ? +1 : 0);
- y = (joy_value & JOY_UP ? -1 : joy_value & JOY_DOWN ? +1 : 0);
-
- if (x != last_x || y != last_y)
- {
- DrawFixedGraphic(xpos + last_x, ypos + last_y,
- IMG_MENU_CALIBRATE_YELLOW, 0);
- DrawFixedGraphic(xpos + x, ypos + y,
- IMG_MENU_CALIBRATE_RED, 0);
-
- last_x = x;
- last_y = y;
-
- if (check_remaining > 0 && !check[x+1][y+1])
- {
- check[x+1][y+1] = TRUE;
- check_remaining--;
- }
- }
-
- BackToFront();
- }
-
- /* calibrated center position (joystick should now be centered) */
- if (!ReadJoystick(joystick_nr, &joy_x, &joy_y, NULL, NULL))
- return FALSE;