static void OpenPromptWindow(txt_joystick_input_t *joystick_input) { txt_window_t *window; SDL_Joystick *joystick; // Silently update when the shift button is held down. joystick_input->check_conflicts = !TXT_GetModifierState(TXT_MOD_SHIFT); if (SDL_Init(SDL_INIT_JOYSTICK) < 0) { return; } // Check the current joystick is valid joystick = SDL_JoystickOpen(joystick_index); if (joystick == NULL) { OpenErrorWindow(); return; } // Open the prompt window window = TXT_MessageBox(NULL, "Press the new button on the controller..."); TXT_SDL_SetEventCallback(EventCallback, joystick_input); TXT_SignalConnect(window, "closed", PromptWindowClosed, joystick); joystick_input->prompt_window = window; SDL_JoystickEventState(SDL_ENABLE); }
static void OpenPromptWindow(txt_joystick_input_t *joystick_input) { txt_window_t *window; txt_label_t *label; SDL_Joystick *joystick; if (SDL_Init(SDL_INIT_JOYSTICK) < 0) { return; } // Check the current joystick is valid joystick = SDL_JoystickOpen(joystick_index); if (joystick == NULL) { OpenErrorWindow(); return; } // Open the prompt window window = TXT_NewWindow(NULL); TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL); TXT_SetWindowAction(window, TXT_HORIZ_CENTER, TXT_NewWindowAbortAction(window)); TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL); label = TXT_NewLabel("Press the new joystick button..."); TXT_AddWidget(window, label); TXT_SetWidgetAlign(label, TXT_HORIZ_CENTER); TXT_SDL_SetEventCallback(EventCallback, joystick_input); TXT_SignalConnect(window, "closed", PromptWindowClosed, joystick); joystick_input->prompt_window = window; SDL_JoystickEventState(SDL_ENABLE); }