static void ConfigExtraButtons(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(unused)) { txt_window_t *window; txt_table_t *buttons_table; window = TXT_NewWindow("Additional mouse buttons"); TXT_SetWindowHelpURL(window, WINDOW_HELP_URL); TXT_AddWidgets(window, buttons_table = TXT_NewTable(2), NULL); TXT_SetColumnWidths(buttons_table, 24, 5); AddMouseControl(buttons_table, "Move backward", &mousebbackward); AddMouseControl(buttons_table, "Use", &mousebuse); AddMouseControl(buttons_table, "Strafe left", &mousebstrafeleft); AddMouseControl(buttons_table, "Strafe right", &mousebstraferight); if (gamemission == hexen) { AddMouseControl(buttons_table, "Jump", &mousebjump); } AddMouseControl(buttons_table, "Previous weapon", &mousebprevweapon); AddMouseControl(buttons_table, "Next weapon", &mousebnextweapon); if (gamemission == doom) // [crispy] { AddMouseControl(buttons_table, "Free look [*]", &mousebmouselook); AddMouseControl(buttons_table, "Jump [*]", &mousebjump); } }
void ConfigMouse(void) { txt_window_t *window; window = TXT_NewWindow("Mouse configuration"); TXT_SetTableColumns(window, 2); TXT_SetWindowAction(window, TXT_HORIZ_CENTER, TestConfigAction()); TXT_SetWindowHelpURL(window, WINDOW_HELP_URL); TXT_AddWidgets(window, TXT_NewCheckBox("Enable mouse", &usemouse), TXT_TABLE_OVERFLOW_RIGHT, TXT_NewInvertedCheckBox("Allow vertical mouse movement", &novert), TXT_TABLE_OVERFLOW_RIGHT, TXT_NewCheckBox("Grab mouse in windowed mode", &grabmouse), TXT_TABLE_OVERFLOW_RIGHT, TXT_NewCheckBox("Double click acts as \"use\"", &dclick_use), TXT_TABLE_OVERFLOW_RIGHT, TXT_NewSeparator("Mouse motion"), TXT_NewLabel("Speed"), TXT_NewSpinControl(&mouseSensitivity, 1, 256), TXT_NewLabel("Acceleration"), TXT_NewFloatSpinControl(&mouse_acceleration, 1.0, 5.0), TXT_NewLabel("Acceleration threshold"), TXT_NewSpinControl(&mouse_threshold, 0, 32), TXT_NewSeparator("Buttons"), NULL); AddMouseControl(window, "Fire/Attack", &mousebfire); AddMouseControl(window, "Move forward", &mousebforward); AddMouseControl(window, "Strafe on", &mousebstrafe); TXT_AddWidget(window, TXT_NewButton2("More controls...", ConfigExtraButtons, NULL)); }