diff --git a/plugins/LilyPad/Config.cpp b/plugins/LilyPad/Config.cpp index 0e425a8534..1b3d94796e 100644 --- a/plugins/LilyPad/Config.cpp +++ b/plugins/LilyPad/Config.cpp @@ -75,6 +75,7 @@ u8 ps2e = 0; HWND hWndProp = 0; int selected = 0; +bool quickSetup = false; // Older versions of PCSX2 don't always create the ini dir on startup, so LilyPad does it // for it. But if PCSX2 sets the ini path with a call to setSettingsDir, then it means @@ -286,13 +287,10 @@ wchar_t *GetCommandStringW(u8 command, int port, int slot) return temp; } /* Get text from the buttons. */ - if (command >= 0x0C && command <= 0x2A) { + if (command >= 0x0F && command <= 0x2D) { HWND hWnd = GetDlgItem(hWnds[port][slot][padtype], 0x10F0 + command); if (!hWnd) { wchar_t *strings[] = { - L"Lock Buttons", // 0x0C (12) - L"Lock Input", // 0x0D (13) - L"Lock Direction", // 0x0E (14) L"Mouse", // 0x0F (15) L"Select", // 0x10 (16) L"L3", // 0x11 (17) @@ -320,9 +318,12 @@ wchar_t *GetCommandStringW(u8 command, int port, int slot) L"R-Stick Left", // 0x27 (39) L"Analog", // 0x28 (40) L"Excluded Input", // 0x29 (41) - L"Turbo", // 0x2A (42) + L"Lock Buttons", // 0x2A (42) + L"Lock Input", // 0x2B (43) + L"Lock Direction", // 0x2C (44) + L"Turbo", // 0x2D (45) }; - return strings[command - 0xC]; + return strings[command - 0xF]; } int res = GetWindowTextW(hWnd, temp, 20); if ((unsigned int)res - 1 <= 18) @@ -395,15 +396,12 @@ void SelChanged(int port, int slot) int ffbFound = 0; ForceFeedbackBinding *ffb = 0; Binding *b = 0; - if (config.bind && !config.configureOnBind) { - i = 0; - config.bind = false; - } if (i >= 1) { int index = -1; int flipped = 0; while (1) { - index = ListView_GetNextItem(hWndList, index, LVNI_SELECTED); + if (!(config.bind && (!config.configureOnBind || quickSetup))) + index = ListView_GetNextItem(hWndList, index, LVNI_SELECTED); if (index < 0) break; LVITEMW item; @@ -490,12 +488,19 @@ void SelChanged(int port, int slot) } } } + config.bind = false; - for (i = IDC_DPAD; i <= IDC_FACE_ANALOG; i++) { + // Input & Special Bindings: + for (i = IDC_DPAD; i <= ID_SPECIAL_INPUTS; i++) { hWndTemp = GetDlgItem(hWnd, i); - if (hWndTemp) - ShowWindow(hWndTemp, !ffb && !b); + if (hWndTemp) { + if (i >= ID_EXCLUDE && i <= ID_TURBO_KEY) + ShowWindow(hWndTemp, !ffb && !b && config.specialInputs[port][slot]); + else + ShowWindow(hWndTemp, !ffb && !b); + } } + // Input configuration: for (i = IDC_SLIDER_SENSITIVITY; i <= IDC_AXIS_SKIP_DEADZONE; i++) { hWndTemp = GetDlgItem(hWnd, i); if (hWndTemp) @@ -505,6 +510,7 @@ void SelChanged(int port, int slot) if (i == IDC_AXIS_SKIP_DEADZONE && skipDeadZone <= deadZone) ShowWindow(hWndTemp, 0); } + // Pad Force Feedback configuration: for (i = ID_TEST; i <= IDC_FF_AXIS8_SCALE; i++) { hWndTemp = GetDlgItem(hWnd, i); if (hWndTemp) { @@ -1500,6 +1506,10 @@ void EndBinding(HWND hWnd) } selected = 0; + quickSetup = false; + SetWindowTextW(GetDlgItem(hWnd, ID_QUICK_SETUP), L"Quick Setup"); + SetWindowTextW(GetDlgItem(hWnd, IDC_QUICK_SETUP_TEXT), L""); + dm->ReleaseInput(); ClearKeyQueue(); hWndButtonProc.Release(); @@ -1608,9 +1618,9 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, unsigned int msg, WPARAM wParam, LPARAM l InitInfo info = {selected == 0x7F, 1, hWndProp, &hWndButtonProc}; Device *dev = dm->GetActiveDevice(&info, &uid, &index, &value); - int selectedDevice = config.deviceSelect[port][slot]; + static unsigned int prev_uid = !uid; - if (dev == nullptr || (selectedDevice != -1 && dm->devices[selectedDevice] != dev)) + if (dev == nullptr || (quickSetup && (uid == prev_uid || uid & UID_AXIS))) return 0; //Check the bindings for an excluded input, and ignore it if found. @@ -1626,7 +1636,8 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, unsigned int msg, WPARAM wParam, LPARAM l int command = selected; // Good idea to do this first, as BindCommand modifies the ListView, which will // call it anyways, which is a bit funky. - EndBinding(hWnd); + if (!quickSetup) + EndBinding(hWnd); UnselectAll(hWndList); int index = -1; if (command < 0x30) { @@ -1638,6 +1649,33 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, unsigned int msg, WPARAM wParam, LPARAM l ListView_EnsureVisible(hWndList, index, 0); config.bind = true; ListView_SetColumnWidth(hWndList, 2, LVSCW_AUTOSIZE_USEHEADER); + + if (quickSetup) { + HWND hWndS = GetDlgItem(hWnds[port][slot][padtype], selected + 0x10F0); + for (selected++; selected <= (ID_ANALOG - (ID_SELECT - 0x10)); selected++) { + HWND hWndS = GetDlgItem(hWnds[port][slot][padtype], selected + 0x10F0); + if (hWndS) { + break; + } + } + if (!hWndS || selected > (ID_ANALOG - (ID_SELECT - 0x10))) { + prev_uid = !uid; + EndBinding(hWnd); + SetWindowTextW(GetDlgItem(hWnd, IDC_QUICK_SETUP_TEXT), L"Finished"); + } else { + wchar_t temp[60]; + wsprintfW(temp, L"Please enter an input for %ws", GetCommandStringW(selected, port, slot)); + SetWindowTextW(GetDlgItem(hWnd, IDC_QUICK_SETUP_TEXT), temp); + Sleep(80); + for (int i = 0; i < dm->numDevices; i++) { + if (dm->devices[i]->active && (dm->devices[i]->api != WM || dm->devices[i]->api != RAW)) + dm->devices[i]->Deactivate(); + } + prev_uid = uid; + } + } else { + SetWindowTextW(GetDlgItem(hWnd, IDC_QUICK_SETUP_TEXT), L"Succeeded"); + } } } break; @@ -1660,6 +1698,8 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, unsigned int msg, WPARAM wParam, LPARAM l EndBinding(hWnd); return 0; case PSN_SETACTIVE: + SetWindowTextW(GetDlgItem(hWnd, IDC_QUICK_SETUP_TEXT), L""); + ListView_SetColumnWidth(hWndList, 2, LVSCW_AUTOSIZE_USEHEADER); return 0; case PSN_APPLY: SetWindowLongPtr(hWnd, DWLP_MSGRESULT, PSNRET_NOERROR); @@ -1758,14 +1798,29 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, unsigned int msg, WPARAM wParam, LPARAM l int selectedDev = SendMessage(GetDlgItem(hWnd, IDC_DEVICE_SELECT), CB_GETCURSEL, 0, 0); config.deviceSelect[port][slot] = SendMessage(GetDlgItem(hWnd, IDC_DEVICE_SELECT), CB_GETITEMDATA, selectedDev, 0); RefreshEnabledDevicesAndDisplay(1, hWndGeneral, 1); + if (selectedDev > 0) { + for (int i = 0; i < dm->numDevices; i++) { + Device *dev = dm->devices[config.deviceSelect[port][slot]]; + if (dm->devices[i] != dev) { + dm->DisableDevice(i); + } else { + dm->EnableDevice(i); + } + } + } ListView_SetColumnWidth(hWndList, 2, LVSCW_AUTOSIZE_USEHEADER); } else if (HIWORD(wParam) == CBN_SELCHANGE && LOWORD(wParam) == IDC_FF_EFFECT) { int typeIndex = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0); if (typeIndex >= 0) ChangeEffect(port, slot, 0, 0, (unsigned int *)&typeIndex); } else if (HIWORD(wParam) == BN_CLICKED) { - EndBinding(hWnd); int cmd = LOWORD(wParam); + if (quickSetup && cmd == ID_QUICK_SETUP) { + SetWindowTextW(GetDlgItem(hWnd, IDC_QUICK_SETUP_TEXT), L"Stopped"); + EndBinding(hWnd); + return 0; + } + EndBinding(hWnd); if (cmd == ID_BIG_MOTOR || cmd == ID_SMALL_MOTOR) { int i = (int)SendMessage(GetDlgItem(hWnd, IDC_FORCEFEEDBACK), CB_GETCURSEL, 0, 0); if (i >= 0) { @@ -1834,6 +1889,8 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, unsigned int msg, WPARAM wParam, LPARAM l } } else if (cmd == ID_CONTROLS) { UnselectAll(hWndList); + SetWindowTextW(GetDlgItem(hWnd, IDC_QUICK_SETUP_TEXT), L""); + ListView_SetColumnWidth(hWndList, 2, LVSCW_AUTOSIZE_USEHEADER); } else if (cmd == ID_TEST) { // Just in case... if (selected) @@ -1860,13 +1917,48 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, unsigned int msg, WPARAM wParam, LPARAM l SetTimer(hWnd, 1, 3000, 0); } } - } else if (cmd >= ID_LOCK_BUTTONS && cmd <= ID_TURBO_KEY) { // || cmd == ID_FORCE_FEEDBACK) { + } else if (cmd >= IDC_DPAD && cmd <= ID_QUICK_SETUP) { // || cmd == ID_FORCE_FEEDBACK) { // Messes up things, unfortunately. // End binding on a bunch of notification messages, and // this will send a bunch. // UnselectAll(hWndList); EndBinding(hWnd); - selected = cmd - (ID_SELECT - 0x10); + SetWindowTextW(GetDlgItem(hWnd, IDC_QUICK_SETUP_TEXT), L""); + + RefreshEnabledDevices(0); + int selectedDev = SendMessage(GetDlgItem(hWnd, IDC_DEVICE_SELECT), CB_GETCURSEL, 0, 0); + if (selectedDev > 0) { + for (int i = 0; i < dm->numDevices; i++) { + Device *dev = dm->devices[config.deviceSelect[port][slot]]; + if (dm->devices[i] != dev) { + dm->DisableDevice(i); + } else { + dm->EnableDevice(i); + } + } + } + + if (cmd != ID_QUICK_SETUP) { + selected = cmd - (ID_SELECT - 0x10); + } else { + quickSetup = true; + HWND hWndS; + for (selected = 0x10; selected <= (ID_ANALOG - (ID_SELECT - 0x10)); selected++) { + hWndS = GetDlgItem(hWnds[port][slot][padtype], selected + 0x10F0); + if (hWndS) { + break; + } + } + if (hWndS) { + SetWindowTextW(GetDlgItem(hWnd, ID_QUICK_SETUP), L"Stop"); + } else { + EndBinding(hWnd); + return 0; + } + } + wchar_t temp[60]; + wsprintfW(temp, L"Please enter an input for %ws", GetCommandStringW(selected, port, slot)); + SetWindowTextW(GetDlgItem(hWnd, IDC_QUICK_SETUP_TEXT), temp); hWndButtonProc.SetWndHandle(GetDlgItem(hWnd, cmd)); hWndButtonProc.Eat(DoNothingWndProc, 0); @@ -1881,6 +1973,13 @@ INT_PTR CALLBACK DialogProc(HWND hWnd, unsigned int msg, WPARAM wParam, LPARAM l SetTimer(hWnd, 1, 30, 0); } else if (cmd == IDC_CONFIGURE_ON_BIND) { config.configureOnBind = IsDlgButtonChecked(hWnd, IDC_CONFIGURE_ON_BIND); + } else if (cmd == ID_SPECIAL_INPUTS) { + config.specialInputs[port][slot] = !config.specialInputs[port][slot]; + SetWindowTextW(GetDlgItem(hWnd, ID_SPECIAL_INPUTS), config.specialInputs[port][slot] ? L"Hide Special Inputs" : L"Show Special Inputs"); + SetWindowPos(hWndList, NULL, 0, 0, 275, config.specialInputs[port][slot] ? 324 : 440, SWP_NOZORDER | SWP_NOMOVE); + ListView_SetColumnWidth(hWndList, 2, LVSCW_AUTOSIZE_USEHEADER); + UnselectAll(hWndList); + SelChanged(port, slot); } if (cmd == IDC_RAPID_FIRE) { // Don't allow setting it back to indeterminate. diff --git a/plugins/LilyPad/Config.h b/plugins/LilyPad/Config.h index e285076e59..f5bad72cd6 100644 --- a/plugins/LilyPad/Config.h +++ b/plugins/LilyPad/Config.h @@ -44,6 +44,8 @@ public: u8 configureOnBind; bool bind; + bool specialInputs[2][4]; + union { struct diff --git a/plugins/LilyPad/LilyPad.cpp b/plugins/LilyPad/LilyPad.cpp index 3ee9065d68..9fe2279aca 100644 --- a/plugins/LilyPad/LilyPad.cpp +++ b/plugins/LilyPad/LilyPad.cpp @@ -394,7 +394,7 @@ void ProcessButtonBinding(Binding *b, ButtonSum *sum, int value) value = std::min((int)(((__int64)value * (FULLY_DOWN - (__int64)b->skipDeadZone)) / FULLY_DOWN) + b->skipDeadZone, FULLY_DOWN); } - if (b->command == 0x2A) { // Turbo key + if (b->command == 0x2D) { // Turbo key static unsigned int LastCheck = 0; unsigned int t = timeGetTime(); if (t - LastCheck < 300) @@ -550,16 +550,16 @@ void Update(unsigned int port, unsigned int slot) if (cmd > 0x0F && cmd != 0x28) { ProcessButtonBinding(b, &s[port][slot], state); } else if ((state >> 15) && !(dev->oldVirtualControlState[b->controlIndex] >> 15)) { - if (cmd == 0x0F) { + if (cmd == 0x0F) { // Mouse miceEnabled = !miceEnabled; UpdateEnabledDevices(); - } else if (cmd == 0x0C) { + } else if (cmd == 0x2A) { // Lock Buttons lockStateChanged[port][slot] |= LOCK_BUTTONS; - } else if (cmd == 0x0E) { - lockStateChanged[port][slot] |= LOCK_DIRECTION; - } else if (cmd == 0x0D) { + } else if (cmd == 0x2B) { // Lock Input lockStateChanged[port][slot] |= LOCK_BOTH; - } else if (cmd == 0x28 && !pads[port][slot].modeLock && padtype == Dualshock2Pad) { + } else if (cmd == 0x2C) { // Lock Direction + lockStateChanged[port][slot] |= LOCK_DIRECTION; + } else if (cmd == 0x28 && !pads[port][slot].modeLock && padtype == Dualshock2Pad) { // Analog if (pads[port][slot].mode == MODE_ANALOG) pads[port][slot].mode = MODE_DIGITAL; else if (pads[port][slot].mode == MODE_DIGITAL) @@ -602,25 +602,25 @@ void Update(unsigned int port, unsigned int slot) int values[5]; int i; for (i = 0; i < 5; i++) { - int id = oldIdList[i] - 0x1104; + int id = oldIdList[i] - ID_DPAD_UP; values[i] = s[port][slot].buttons[id]; s[port][slot].buttons[id] = 0; } - s[port][slot].buttons[ID_TRIANGLE - 0x1104] = values[1]; + s[port][slot].buttons[ID_TRIANGLE - ID_DPAD_UP] = values[1]; for (i = 0; i < 5; i++) { - int id = idList[i] - 0x1104; + int id = idList[i] - ID_DPAD_UP; s[port][slot].buttons[id] = values[i]; } if (s[port][slot].buttons[14] <= 48 && s[port][slot].buttons[12] <= 48) { for (int i = 0; i < 5; i++) { - unsigned int id = idList[i] - 0x1104; + unsigned int id = idList[i] - ID_DPAD_UP; if (pads[port][slot].sum.buttons[id] < s[port][slot].buttons[id]) { s[port][slot].buttons[id] = pads[port][slot].sum.buttons[id]; } } } else if (pads[port][slot].sum.buttons[14] <= 48 && pads[port][slot].sum.buttons[12] <= 48) { for (int i = 0; i < 5; i++) { - unsigned int id = idList[i] - 0x1104; + unsigned int id = idList[i] - ID_DPAD_UP; if (pads[port][slot].sum.buttons[id]) { s[port][slot].buttons[id] = 0; } diff --git a/plugins/LilyPad/LilyPad.rc b/plugins/LilyPad/LilyPad.rc index 7d42cf6578..ac2ed536c0 100644 --- a/plugins/LilyPad/LilyPad.rc +++ b/plugins/LilyPad/LilyPad.rc @@ -56,50 +56,56 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN CONTROL "",IDC_BINDINGS_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_VSCROLL | WS_TABSTOP,7,7,183,271,WS_EX_CLIENTEDGE // Input Bindings: - PUSHBUTTON "Select",ID_SELECT,328,13,34,15 - PUSHBUTTON "Start",ID_START,366,13,34,15 - PUSHBUTTON "Analog",ID_ANALOG,328,30,34,15 - PUSHBUTTON "Mouse",ID_MOUSE,366,30,34,15 - GROUPBOX "Shoulder buttons",IDC_SHOULDER,196,3,108,46 - PUSHBUTTON "L1",ID_L1,210,13,34,15 - PUSHBUTTON "R1",ID_R1,254,13,34,15 - PUSHBUTTON "L2",ID_L2,210,30,34,15 - PUSHBUTTON "R2",ID_R2,254,30,34,15 - GROUPBOX "D-Pad",IDC_DPAD,196,49,108,70 - PUSHBUTTON "Up",ID_DPAD_UP,233,60,34,15 - PUSHBUTTON "Left",ID_DPAD_LEFT,214,79,34,15 - PUSHBUTTON "Right",ID_DPAD_RIGHT,252,79,34,15 - PUSHBUTTON "Down",ID_DPAD_DOWN,233,97,34,15 - GROUPBOX "Face buttons",IDC_FACE,310,49,108,70 - PUSHBUTTON "Triangle",ID_TRIANGLE,347,60,34,15 - PUSHBUTTON "Square",ID_SQUARE,328,79,34,15 - PUSHBUTTON "Circle",ID_CIRCLE,366,79,34,15 - PUSHBUTTON "Cross",ID_CROSS,347,98,34,15 - GROUPBOX "Left Analog Stick",IDC_LSTICK,196,120,108,70 - PUSHBUTTON "Up",ID_LSTICK_UP,234,131,30,15 - PUSHBUTTON "Left",ID_LSTICK_LEFT,202,150,30,15 - PUSHBUTTON "L3",ID_L3,234,150,30,15 - PUSHBUTTON "Right",ID_LSTICK_RIGHT,266,150,30,15 - PUSHBUTTON "Down",ID_LSTICK_DOWN,234,170,30,15 - GROUPBOX "Right Analog Stick",IDC_RSTICK,310,120,108,70 - PUSHBUTTON "Up",ID_RSTICK_UP,348,131,30,15 - PUSHBUTTON "Left",ID_RSTICK_LEFT,316,150,30,15 - PUSHBUTTON "R3",ID_R3,348,150,30,15 - PUSHBUTTON "Right",ID_RSTICK_RIGHT,380,150,30,15 - PUSHBUTTON "Down",ID_RSTICK_DOWN,348,170,30,15 + PUSHBUTTON "Select",ID_SELECT,328,34,34,15 + PUSHBUTTON "Start",ID_START,366,34,34,15 + PUSHBUTTON "Analog",ID_ANALOG,328,51,34,15 + PUSHBUTTON "Mouse",ID_MOUSE,366,51,34,15 + GROUPBOX "Shoulder buttons",IDC_SHOULDER,196,24,108,46 + PUSHBUTTON "L1",ID_L1,210,34,34,15 + PUSHBUTTON "R1",ID_R1,254,34,34,15 + PUSHBUTTON "L2",ID_L2,210,51,34,15 + PUSHBUTTON "R2",ID_R2,254,51,34,15 + GROUPBOX "D-Pad",IDC_DPAD,196,70,108,70 + PUSHBUTTON "Up",ID_DPAD_UP,233,81,34,15 + PUSHBUTTON "Left",ID_DPAD_LEFT,214,100,34,15 + PUSHBUTTON "Right",ID_DPAD_RIGHT,252,100,34,15 + PUSHBUTTON "Down",ID_DPAD_DOWN,233,118,34,15 + GROUPBOX "Face buttons",IDC_FACE,310,70,108,70 + PUSHBUTTON "Triangle",ID_TRIANGLE,347,81,34,15 + PUSHBUTTON "Square",ID_SQUARE,328,100,34,15 + PUSHBUTTON "Circle",ID_CIRCLE,366,100,34,15 + PUSHBUTTON "Cross",ID_CROSS,347,119,34,15 + GROUPBOX "Left Analog Stick",IDC_LSTICK,196,141,108,70 + PUSHBUTTON "Up",ID_LSTICK_UP,234,152,30,15 + PUSHBUTTON "Left",ID_LSTICK_LEFT,202,171,30,15 + PUSHBUTTON "L3",ID_L3,234,171,30,15 + PUSHBUTTON "Right",ID_LSTICK_RIGHT,266,171,30,15 + PUSHBUTTON "Down",ID_LSTICK_DOWN,234,191,30,15 + GROUPBOX "Right Analog Stick",IDC_RSTICK,310,141,108,70 + PUSHBUTTON "Up",ID_RSTICK_UP,348,152,30,15 + PUSHBUTTON "Left",ID_RSTICK_LEFT,316,171,30,15 + PUSHBUTTON "R3",ID_R3,348,171,30,15 + PUSHBUTTON "Right",ID_RSTICK_RIGHT,380,171,30,15 + PUSHBUTTON "Down",ID_RSTICK_DOWN,348,191,30,15 // Force Feedback bindings: - GROUPBOX "Add Force Feedback Effect",ID_FORCEFEEDBACK_BOX,262,194,155,51 - COMBOBOX IDC_FORCEFEEDBACK,269,207,142,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Big Motor",ID_BIG_MOTOR,269,225,64,14 - PUSHBUTTON "Small Motor",ID_SMALL_MOTOR,347,225,64,14 - // Special bindings and options: - PUSHBUTTON "Lock Input",ID_LOCK_ALL_INPUT,196,195,59,15 - PUSHBUTTON "Lock Direction",ID_LOCK_DIRECTION,196,213,59,15 - PUSHBUTTON "Lock Buttons",ID_LOCK_BUTTONS,196,231,59,15 - PUSHBUTTON "Turbo",ID_TURBO_KEY,196,249,59,15 - PUSHBUTTON "Exclude Input",ID_EXCLUDE,261,249,59,15 - COMBOBOX IDC_DEVICE_SELECT,326,250,91,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Configure on bind",IDC_CONFIGURE_ON_BIND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,265,70,15 + GROUPBOX "Add Force Feedback Effect",ID_FORCEFEEDBACK_BOX,196,215,221,30 + COMBOBOX IDC_FORCEFEEDBACK,202,225,96,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Big Motor",ID_BIG_MOTOR,304,224,50,14 + PUSHBUTTON "Small Motor",ID_SMALL_MOTOR,360,224,50,14 + // Input options: + PUSHBUTTON "Quick Setup",ID_QUICK_SETUP,358,7,59,15 + CTEXT "",IDC_QUICK_SETUP_TEXT,196,7,156,15,WS_BORDER + CONTROL "Configure on bind",IDC_CONFIGURE_ON_BIND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,266,70,15 + PUSHBUTTON "Show Special Inputs",ID_SPECIAL_INPUTS,196,249,90,15 + COMBOBOX IDC_DEVICE_SELECT,304,250,113,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + // Special bindings: + PUSHBUTTON "Lock Input",ID_LOCK_ALL_INPUT,7,210,58,15 + PUSHBUTTON "Lock Direction",ID_LOCK_DIRECTION,69,210,58,15 + PUSHBUTTON "Lock Buttons",ID_LOCK_BUTTONS,131,210,58,15 + PUSHBUTTON "Turbo",ID_TURBO_KEY,7,228,58,15 + PUSHBUTTON "Exclude Input",ID_EXCLUDE,7,246,58,15 + // Force Feedback & Input configurations: + PUSHBUTTON "Back to Controls",ID_CONTROLS,196,260,59,15 // Force Feedback configuration: GROUPBOX "",ID_FF,195,9,222,248 COMBOBOX IDC_FF_EFFECT,203,23,206,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP @@ -127,8 +133,7 @@ BEGIN CONTROL "Axis 6",IDC_FF_AXIS6_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,243,91,10 CONTROL "Flip",IDC_FF_AXIS6_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,243,35,10 EDITTEXT IDC_FF_AXIS6_SCALE,375,243,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - PUSHBUTTON "Back to Controls",ID_CONTROLS,196,261,59,15 - PUSHBUTTON "Test",ID_TEST,257,261,59,15 + PUSHBUTTON "Test",ID_TEST,257,260,59,15 // Input configuration: GROUPBOX "Configure Binding",ID_SENSITIVITY,195,9,222,110 EDITTEXT IDC_AXIS_DEVICE,202,22,74,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP @@ -154,30 +159,36 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN CONTROL "",IDC_BINDINGS_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_VSCROLL | WS_TABSTOP,7,7,183,271,WS_EX_CLIENTEDGE // Input Bindings: - PUSHBUTTON "Select", ID_SELECT,262,22,43,15 - PUSHBUTTON "Start", ID_START,306,22,43,15 - PUSHBUTTON "White L",ID_TRIANGLE,196,66,43,15 - PUSHBUTTON "Yellow L",ID_CIRCLE,218,48,43,15 - PUSHBUTTON "Green L",ID_R1,240,66,43,15 - PUSHBUTTON "Blue L",ID_CROSS,262,48,43,15 - PUSHBUTTON "Red",ID_L1,284,66,43,15 - PUSHBUTTON "Blue R",ID_SQUARE,306,48,43,15 - PUSHBUTTON "Green R",ID_R2,328,66,43,15 - PUSHBUTTON "Yellow R",ID_DPAD_UP,350,48,43,15 - PUSHBUTTON "White R",ID_L2,372,66,43,15 + PUSHBUTTON "Select", ID_SELECT,262,25,43,15 + PUSHBUTTON "Start", ID_START,306,25,43,15 + PUSHBUTTON "White L",ID_TRIANGLE,196,69,43,15 + PUSHBUTTON "Yellow L",ID_CIRCLE,218,51,43,15 + PUSHBUTTON "Green L",ID_R1,240,69,43,15 + PUSHBUTTON "Blue L",ID_CROSS,262,51,43,15 + PUSHBUTTON "Red",ID_L1,284,69,43,15 + PUSHBUTTON "Blue R",ID_SQUARE,306,51,43,15 + PUSHBUTTON "Green R",ID_R2,328,69,43,15 + PUSHBUTTON "Yellow R",ID_DPAD_UP,350,51,43,15 + PUSHBUTTON "White R",ID_L2,372,69,43,15 // Force Feedback bindings: - GROUPBOX "Add Force Feedback Effect",ID_FORCEFEEDBACK_BOX,262,194,155,51 - COMBOBOX IDC_FORCEFEEDBACK,269,207,142,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Big Motor",ID_BIG_MOTOR,269,225,64,14 - PUSHBUTTON "Small Motor",ID_SMALL_MOTOR,347,225,64,14 - // Special bindings and options: - PUSHBUTTON "Lock Input",ID_LOCK_ALL_INPUT,196,195,59,15 - PUSHBUTTON "Lock Direction",ID_LOCK_DIRECTION,196,213,59,15 - PUSHBUTTON "Lock Buttons",ID_LOCK_BUTTONS,196,231,59,15 - PUSHBUTTON "Turbo",ID_TURBO_KEY,196,249,59,15 - PUSHBUTTON "Exclude Input",ID_EXCLUDE,261,249,59,15 - COMBOBOX IDC_DEVICE_SELECT,326,250,91,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Configure on bind",IDC_CONFIGURE_ON_BIND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,265,70,15 + GROUPBOX "Add Force Feedback Effect",ID_FORCEFEEDBACK_BOX,196,215,221,30 + COMBOBOX IDC_FORCEFEEDBACK,202,225,96,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Big Motor",ID_BIG_MOTOR,304,224,50,14 + PUSHBUTTON "Small Motor",ID_SMALL_MOTOR,360,224,50,14 + // Input options: + PUSHBUTTON "Quick Setup",ID_QUICK_SETUP,358,7,59,15 + CTEXT "",IDC_QUICK_SETUP_TEXT,196,7,156,15,WS_BORDER + CONTROL "Configure on bind",IDC_CONFIGURE_ON_BIND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,266,70,15 + PUSHBUTTON "Show Special Inputs",ID_SPECIAL_INPUTS,196,249,90,15 + COMBOBOX IDC_DEVICE_SELECT,304,250,113,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + // Special bindings: + PUSHBUTTON "Lock Input",ID_LOCK_ALL_INPUT,7,210,58,15 + PUSHBUTTON "Lock Direction",ID_LOCK_DIRECTION,69,210,58,15 + PUSHBUTTON "Lock Buttons",ID_LOCK_BUTTONS,131,210,58,15 + PUSHBUTTON "Turbo",ID_TURBO_KEY,7,228,58,15 + PUSHBUTTON "Exclude Input",ID_EXCLUDE,7,246,58,15 + // Force Feedback & Input configurations: + PUSHBUTTON "Back to Controls",ID_CONTROLS,196,260,59,15 // Force Feedback configuration: GROUPBOX "",ID_FF,195,9,222,248 COMBOBOX IDC_FF_EFFECT,203,23,206,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP @@ -205,8 +216,7 @@ BEGIN CONTROL "Axis 6",IDC_FF_AXIS6_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,243,91,10 CONTROL "Flip",IDC_FF_AXIS6_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,243,35,10 EDITTEXT IDC_FF_AXIS6_SCALE,375,243,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - PUSHBUTTON "Back to Controls",ID_CONTROLS,196,261,59,15 - PUSHBUTTON "Test",ID_TEST,257,261,59,15 + PUSHBUTTON "Test",ID_TEST,257,260,59,15 // Input configuration: GROUPBOX "Configure Binding",ID_SENSITIVITY,195,9,222,110 EDITTEXT IDC_AXIS_DEVICE,202,22,74,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP @@ -232,30 +242,36 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN CONTROL "",IDC_BINDINGS_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_VSCROLL | WS_TABSTOP,7,7,183,271,WS_EX_CLIENTEDGE // Input Bindings: - PUSHBUTTON "Fret 1",ID_R2,283,7,45,15 - PUSHBUTTON "Fret 2",ID_CIRCLE,283,30,45,15 - PUSHBUTTON "Fret 3",ID_TRIANGLE,283,53,45,15 - PUSHBUTTON "Fret 4",ID_CROSS,283,76,45,15 - PUSHBUTTON "Fret 5",ID_SQUARE,283,99,45,15 - PUSHBUTTON "Start",ID_START,256,122,45,15 - PUSHBUTTON "Select/Tilt",ID_SELECT,307,122,45,15 - PUSHBUTTON "Whammy Bar Up",ID_LSTICK_UP,219,146,69,15 - PUSHBUTTON "Whammy Bar Down",ID_LSTICK_DOWN,219,164,69,15 - PUSHBUTTON "Strum Bar Up",ID_DPAD_UP,336,146,58,15 - PUSHBUTTON "Strum Bar Down",ID_DPAD_DOWN,336,164,58,15 + PUSHBUTTON "Fret 1",ID_R2,283,30,45,15 + PUSHBUTTON "Fret 2",ID_CIRCLE,283,53,45,15 + PUSHBUTTON "Fret 3",ID_TRIANGLE,283,76,45,15 + PUSHBUTTON "Fret 4",ID_CROSS,283,99,45,15 + PUSHBUTTON "Fret 5",ID_SQUARE,283,122,45,15 + PUSHBUTTON "Start",ID_START,256,145,45,15 + PUSHBUTTON "Select/Tilt",ID_SELECT,307,145,45,15 + PUSHBUTTON "Whammy Bar Up",ID_LSTICK_UP,219,168,69,15 + PUSHBUTTON "Whammy Bar Down",ID_LSTICK_DOWN,219,191,69,15 + PUSHBUTTON "Strum Bar Up",ID_DPAD_UP,336,168,58,15 + PUSHBUTTON "Strum Bar Down",ID_DPAD_DOWN,336,191,58,15 // Force Feedback bindings: - GROUPBOX "Add Force Feedback Effect",ID_FORCEFEEDBACK_BOX,262,194,155,51 - COMBOBOX IDC_FORCEFEEDBACK,269,207,142,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Big Motor",ID_BIG_MOTOR,269,225,64,14 - PUSHBUTTON "Small Motor",ID_SMALL_MOTOR,347,225,64,14 - // Special bindings and options: - PUSHBUTTON "Lock Input",ID_LOCK_ALL_INPUT,196,195,59,15 - PUSHBUTTON "Lock Direction",ID_LOCK_DIRECTION,196,213,59,15 - PUSHBUTTON "Lock Buttons",ID_LOCK_BUTTONS,196,231,59,15 - PUSHBUTTON "Turbo",ID_TURBO_KEY,196,249,59,15 - PUSHBUTTON "Exclude Input",ID_EXCLUDE,261,249,59,15 - COMBOBOX IDC_DEVICE_SELECT,326,250,91,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Configure on bind",IDC_CONFIGURE_ON_BIND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,265,70,15 + GROUPBOX "Add Force Feedback Effect",ID_FORCEFEEDBACK_BOX,196,215,221,30 + COMBOBOX IDC_FORCEFEEDBACK,202,225,96,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Big Motor",ID_BIG_MOTOR,304,224,50,14 + PUSHBUTTON "Small Motor",ID_SMALL_MOTOR,360,224,50,14 + // Input options: + PUSHBUTTON "Quick Setup",ID_QUICK_SETUP,358,7,59,15 + CTEXT "",IDC_QUICK_SETUP_TEXT,196,7,156,15,WS_BORDER + CONTROL "Configure on bind",IDC_CONFIGURE_ON_BIND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,266,70,15 + PUSHBUTTON "Show Special Inputs",ID_SPECIAL_INPUTS,196,249,90,15 + COMBOBOX IDC_DEVICE_SELECT,304,250,113,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + // Special bindings: + PUSHBUTTON "Lock Input",ID_LOCK_ALL_INPUT,7,210,58,15 + PUSHBUTTON "Lock Direction",ID_LOCK_DIRECTION,69,210,58,15 + PUSHBUTTON "Lock Buttons",ID_LOCK_BUTTONS,131,210,58,15 + PUSHBUTTON "Turbo",ID_TURBO_KEY,7,228,58,15 + PUSHBUTTON "Exclude Input",ID_EXCLUDE,7,246,58,15 + // Force Feedback & Input configurations: + PUSHBUTTON "Back to Controls",ID_CONTROLS,196,260,59,15 // Force Feedback configuration: GROUPBOX "",ID_FF,195,9,222,248 COMBOBOX IDC_FF_EFFECT,203,23,206,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP @@ -283,8 +299,7 @@ BEGIN CONTROL "Axis 6",IDC_FF_AXIS6_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,243,91,10 CONTROL "Flip",IDC_FF_AXIS6_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,243,35,10 EDITTEXT IDC_FF_AXIS6_SCALE,375,243,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - PUSHBUTTON "Back to Controls",ID_CONTROLS,196,261,59,15 - PUSHBUTTON "Test",ID_TEST,257,261,59,15 + PUSHBUTTON "Test",ID_TEST,257,260,59,15 // Input configuration: GROUPBOX "Configure Binding",ID_SENSITIVITY,195,9,222,110 EDITTEXT IDC_AXIS_DEVICE,202,22,74,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP @@ -308,7 +323,7 @@ IDD_CONFIG_PS1_MOUSE DIALOGEX 0, 0, 424, 283 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - CONTROL "",IDC_BINDINGS_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_VSCROLL | WS_TABSTOP,7,7,183,285,WS_EX_CLIENTEDGE + CONTROL "",IDC_BINDINGS_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_VSCROLL | WS_TABSTOP,7,7,183,271,WS_EX_CLIENTEDGE // Input bindings: PUSHBUTTON "Mouse",ID_MOUSE,379,28,34,15 GROUPBOX "Mouse buttons",IDC_FACE,242,46,124,34 @@ -320,47 +335,24 @@ BEGIN PUSHBUTTON "Y-axis Up",ID_LSTICK_UP,283,92,45,15 PUSHBUTTON "Y-axis Down",ID_LSTICK_DOWN,283,132,45,15 // Force Feedback bindings: - GROUPBOX "Add Force Feedback Effect",ID_FORCEFEEDBACK_BOX,262,194,155,51 - COMBOBOX IDC_FORCEFEEDBACK,269,207,142,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Big Motor",ID_BIG_MOTOR,269,225,64,14 - PUSHBUTTON "Small Motor",ID_SMALL_MOTOR,347,225,64,14 - // Special bindings and options: - PUSHBUTTON "Lock Input",ID_LOCK_ALL_INPUT,196,195,59,15 - PUSHBUTTON "Lock Direction",ID_LOCK_DIRECTION,196,213,59,15 - PUSHBUTTON "Lock Buttons",ID_LOCK_BUTTONS,196,231,59,15 - PUSHBUTTON "Turbo",ID_TURBO_KEY,196,249,59,15 - PUSHBUTTON "Exclude Input",ID_EXCLUDE,261,249,59,15 - COMBOBOX IDC_DEVICE_SELECT,326,250,91,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Configure on bind",IDC_CONFIGURE_ON_BIND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,265,70,15 - // Force Feedback configuration: - GROUPBOX "",ID_FF,195,9,222,248 - COMBOBOX IDC_FF_EFFECT,203,23,206,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_FF_AXIS1,"msctls_trackbar32",WS_TABSTOP,199,43,214,17 - CONTROL "Axis 1",IDC_FF_AXIS1_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,63,91,10 - CONTROL "Flip",IDC_FF_AXIS1_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,63,35,10 - EDITTEXT IDC_FF_AXIS1_SCALE,375,63,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - CONTROL "",IDC_FF_AXIS2,"msctls_trackbar32",WS_TABSTOP,199,79,214,17 - CONTROL "Axis 2",IDC_FF_AXIS2_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,99,91,10 - CONTROL "Flip",IDC_FF_AXIS2_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,99,35,10 - EDITTEXT IDC_FF_AXIS2_SCALE,375,92,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - CONTROL "",IDC_FF_AXIS3,"msctls_trackbar32",WS_TABSTOP,199,115,214,17 - CONTROL "Axis 3",IDC_FF_AXIS3_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,135,91,10 - CONTROL "Flip",IDC_FF_AXIS3_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,135,35,10 - EDITTEXT IDC_FF_AXIS3_SCALE,375,135,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - CONTROL "",IDC_FF_AXIS4,"msctls_trackbar32",WS_TABSTOP,199,151,214,17 - CONTROL "Axis 4",IDC_FF_AXIS4_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,171,91,10 - CONTROL "Flip",IDC_FF_AXIS4_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,171,35,10 - EDITTEXT IDC_FF_AXIS4_SCALE,375,171,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - CONTROL "",IDC_FF_AXIS5,"msctls_trackbar32",WS_TABSTOP,199,187,214,17 - CONTROL "Axis 5",IDC_FF_AXIS5_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,207,91,10 - CONTROL "Flip",IDC_FF_AXIS5_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,207,35,10 - EDITTEXT IDC_FF_AXIS5_SCALE,375,207,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - CONTROL "",IDC_FF_AXIS6,"msctls_trackbar32",WS_TABSTOP,199,223,214,17 - CONTROL "Axis 6",IDC_FF_AXIS6_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,243,91,10 - CONTROL "Flip",IDC_FF_AXIS6_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,243,35,10 - EDITTEXT IDC_FF_AXIS6_SCALE,375,243,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - PUSHBUTTON "Back to Controls",ID_CONTROLS,196,261,59,15 - PUSHBUTTON "Test",ID_TEST,257,261,59,15 + GROUPBOX "Add Force Feedback Effect",ID_FORCEFEEDBACK_BOX,196,215,221,30 + COMBOBOX IDC_FORCEFEEDBACK,202,225,96,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Big Motor",ID_BIG_MOTOR,304,224,50,14 + PUSHBUTTON "Small Motor",ID_SMALL_MOTOR,360,224,50,14 + // Input options: + PUSHBUTTON "Quick Setup",ID_QUICK_SETUP,358,7,59,15 + CTEXT "",IDC_QUICK_SETUP_TEXT,196,7,156,15,WS_BORDER + CONTROL "Configure on bind",IDC_CONFIGURE_ON_BIND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,266,70,15 + PUSHBUTTON "Show Special Inputs",ID_SPECIAL_INPUTS,196,249,90,15 + COMBOBOX IDC_DEVICE_SELECT,304,250,113,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + // Special bindings: + PUSHBUTTON "Lock Input",ID_LOCK_ALL_INPUT,7,210,58,15 + PUSHBUTTON "Lock Direction",ID_LOCK_DIRECTION,69,210,58,15 + PUSHBUTTON "Lock Buttons",ID_LOCK_BUTTONS,131,210,58,15 + PUSHBUTTON "Turbo",ID_TURBO_KEY,7,228,58,15 + PUSHBUTTON "Exclude Input",ID_EXCLUDE,7,246,58,15 + // Force Feedback & Input configurations: + PUSHBUTTON "Back to Controls",ID_CONTROLS,196,260,59,15 // Input configuration: GROUPBOX "Configure Binding",ID_SENSITIVITY,195,9,222,110 EDITTEXT IDC_AXIS_DEVICE,202,22,74,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP @@ -384,7 +376,7 @@ IDD_CONFIG_NEGCON DIALOGEX 0, 0, 424, 283 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - CONTROL "",IDC_BINDINGS_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_VSCROLL | WS_TABSTOP,7,7,183,285,WS_EX_CLIENTEDGE + CONTROL "",IDC_BINDINGS_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_VSCROLL | WS_TABSTOP,7,7,183,271,WS_EX_CLIENTEDGE // Input bindings: GROUPBOX "Shoulder buttons",IDC_SHOULDER,220,30,173,34 PUSHBUTTON "Analog L",ID_L1,233,41,34,15 @@ -406,47 +398,24 @@ BEGIN PUSHBUTTON "Start",ID_START,207,139,34,15 PUSHBUTTON "Mouse",ID_MOUSE,207,158,34,15 // Force Feedback bindings: - GROUPBOX "Add Force Feedback Effect",ID_FORCEFEEDBACK_BOX,262,194,155,51 - COMBOBOX IDC_FORCEFEEDBACK,269,207,142,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Big Motor",ID_BIG_MOTOR,269,225,64,14 - PUSHBUTTON "Small Motor",ID_SMALL_MOTOR,347,225,64,14 - // Special bindings and options: - PUSHBUTTON "Lock Input",ID_LOCK_ALL_INPUT,196,195,59,15 - PUSHBUTTON "Lock Direction",ID_LOCK_DIRECTION,196,213,59,15 - PUSHBUTTON "Lock Buttons",ID_LOCK_BUTTONS,196,231,59,15 - PUSHBUTTON "Turbo",ID_TURBO_KEY,196,249,59,15 - PUSHBUTTON "Exclude Input",ID_EXCLUDE,261,249,59,15 - COMBOBOX IDC_DEVICE_SELECT,326,250,91,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Configure on bind",IDC_CONFIGURE_ON_BIND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,265,70,15 - // Force Feedback configuration: - GROUPBOX "",ID_FF,195,9,222,248 - COMBOBOX IDC_FF_EFFECT,203,23,206,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_FF_AXIS1,"msctls_trackbar32",WS_TABSTOP,199,43,214,17 - CONTROL "Axis 1",IDC_FF_AXIS1_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,63,91,10 - CONTROL "Flip",IDC_FF_AXIS1_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,63,35,10 - EDITTEXT IDC_FF_AXIS1_SCALE,375,63,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - CONTROL "",IDC_FF_AXIS2,"msctls_trackbar32",WS_TABSTOP,199,79,214,17 - CONTROL "Axis 2",IDC_FF_AXIS2_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,99,91,10 - CONTROL "Flip",IDC_FF_AXIS2_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,99,35,10 - EDITTEXT IDC_FF_AXIS2_SCALE,375,92,40,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - CONTROL "",IDC_FF_AXIS3,"msctls_trackbar32",WS_TABSTOP,199,115,214,17 - CONTROL "Axis 3",IDC_FF_AXIS3_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,135,91,10 - CONTROL "Flip",IDC_FF_AXIS3_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,135,35,10 - EDITTEXT IDC_FF_AXIS3_SCALE,375,135,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - CONTROL "",IDC_FF_AXIS4,"msctls_trackbar32",WS_TABSTOP,199,151,214,17 - CONTROL "Axis 4",IDC_FF_AXIS4_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,171,91,10 - CONTROL "Flip",IDC_FF_AXIS4_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,171,35,10 - EDITTEXT IDC_FF_AXIS4_SCALE,375,171,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - CONTROL "",IDC_FF_AXIS5,"msctls_trackbar32",WS_TABSTOP,199,187,214,17 - CONTROL "Axis 5",IDC_FF_AXIS5_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,207,91,10 - CONTROL "Flip",IDC_FF_AXIS5_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,207,35,10 - EDITTEXT IDC_FF_AXIS5_SCALE,375,207,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - CONTROL "",IDC_FF_AXIS6,"msctls_trackbar32",WS_TABSTOP,199,223,214,17 - CONTROL "Axis 6",IDC_FF_AXIS6_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,243,91,10 - CONTROL "Flip",IDC_FF_AXIS6_FLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,302,243,35,10 - EDITTEXT IDC_FF_AXIS6_SCALE,375,243,33,12,ES_RIGHT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP,WS_EX_RTLREADING - PUSHBUTTON "Back to Controls",ID_CONTROLS,196,261,59,15 - PUSHBUTTON "Test",ID_TEST,257,261,59,15 + GROUPBOX "Add Force Feedback Effect",ID_FORCEFEEDBACK_BOX,196,215,221,30 + COMBOBOX IDC_FORCEFEEDBACK,202,225,96,106,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Big Motor",ID_BIG_MOTOR,304,224,50,14 + PUSHBUTTON "Small Motor",ID_SMALL_MOTOR,360,224,50,14 + // Input options: + PUSHBUTTON "Quick Setup",ID_QUICK_SETUP,358,7,59,15 + CTEXT "",IDC_QUICK_SETUP_TEXT,196,7,156,15,WS_BORDER + CONTROL "Configure on bind",IDC_CONFIGURE_ON_BIND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,266,70,15 + PUSHBUTTON "Show Special Inputs",ID_SPECIAL_INPUTS,196,249,90,15 + COMBOBOX IDC_DEVICE_SELECT,304,250,113,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + // Special bindings: + PUSHBUTTON "Lock Input",ID_LOCK_ALL_INPUT,7,210,58,15 + PUSHBUTTON "Lock Direction",ID_LOCK_DIRECTION,69,210,58,15 + PUSHBUTTON "Lock Buttons",ID_LOCK_BUTTONS,131,210,58,15 + PUSHBUTTON "Turbo",ID_TURBO_KEY,7,228,58,15 + PUSHBUTTON "Exclude Input",ID_EXCLUDE,7,246,58,15 + // Force Feedback & Input configurations: + PUSHBUTTON "Back to Controls",ID_CONTROLS,196,260,59,15 // Input configuration: GROUPBOX "Configure Binding",ID_SENSITIVITY,195,9,222,110 EDITTEXT IDC_AXIS_DEVICE,202,22,74,12,ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP @@ -507,7 +476,8 @@ BEGIN CONTROL "Save state # in title",IDC_SAVE_STATE_TITLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,217,79,10 CONTROL "Guitar Hero 2 Hack",IDC_GH2_HACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,228,79,10 CONTROL "Enable logging",IDC_DEBUG_FILE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,239,79,10 - PUSHBUTTON "Load Bindings",ID_LOAD,283,259,62,15 + PUSHBUTTON "Restore Defaults",ID_RESTORE_DEFAULTS,219,259,62,15 + PUSHBUTTON "Load Bindings",ID_LOAD,287,259,62,15 PUSHBUTTON "Save Bindings",ID_SAVE,355,259,62,15 END diff --git a/plugins/LilyPad/resource.h b/plugins/LilyPad/resource.h index 25938a492c..3d747cd26e 100644 --- a/plugins/LilyPad/resource.h +++ b/plugins/LilyPad/resource.h @@ -2,49 +2,57 @@ // Microsoft Visual C++ generated include file. // Used by LilyPad.rc // -#define IDD_GENERAL 102 -#define IDD_ABOUT 103 -#define IDI_FROG 104 -#define IDD_CONFIG 105 -#define IDD_CONFIG_GUITAR 106 -#define IDD_PROPPAGE_LARGE 107 -#define IDC_CURSOR1 108 -#define IDC_ESCAPE_FULLSCREEN_HACK 109 -#define IDD_DIAG 110 -#define IDR_INI1 111 -#define IDD_CONFIG_POPN 112 -#define IDD_CONFIG_PS1_MOUSE 113 -#define IDD_CONFIG_NEGCON 114 -#define IDC_KB_DISABLE 1100 -#define IDC_KB_DI 1101 -#define IDC_KB_WM 1102 -#define IDC_KB_RAW 1103 -#define IDC_DISABLE_PAD1 1104 -#define IDC_M_DISABLE 1105 -#define IDC_M_DI 1106 -#define IDC_M_WM 1107 -#define IDC_M_RAW 1108 -#define IDC_G_XI 1109 -#define IDC_G_DI 1110 -#define IDC_G_DS3 1111 -#define IDC_CLOSE_HACK 1112 -#define IDC_DEBUG_FILE 1113 -#define IDC_GUITAR1 1114 -#define IDC_ANALOG_START1 1115 -#define IDC_MULTITAP1 1116 -#define IDC_DISABLE_SCREENSAVER 1117 -#define IDC_MOUSE_UNFOCUS 1118 -#define IDC_AXIS_BUTTONS 1119 -#define IDC_MULTITAP2 1120 -#define IDC_BACKGROUND 1121 -#define IDC_MULTIPLE_BINDING 1122 -#define IDC_FORCE_HIDE 1124 -#define IDC_GH2_HACK 1125 -#define IDC_SAVE_STATE_TITLE 1129 -#define IDC_PAD_LIST 1130 -#define IDC_COMBO1 1131 -#define IDC_PAD_TYPE 1132 -#define IDC_DIAG_LIST 1133 +#define IDD_GENERAL 0x66 +#define IDD_ABOUT 0x67 +#define IDI_FROG 0x68 +#define IDD_CONFIG 0x69 +#define IDD_CONFIG_GUITAR 0x6A +#define IDD_PROPPAGE_LARGE 0x6B +#define IDC_CURSOR1 0x6C +#define IDC_ESCAPE_FULLSCREEN_HACK 0x6D +#define IDD_DIAG 0x6E +#define IDR_INI1 0x6F +#define IDD_CONFIG_POPN 0x70 +#define IDD_CONFIG_PS1_MOUSE 0x71 +#define IDD_CONFIG_NEGCON 0x72 +#define IDC_VERSION 0x73 +// General tab: +#define IDC_KB_DISABLE 0x44C +#define IDC_KB_DI 0x44D +#define IDC_KB_WM 0x44E +#define IDC_KB_RAW 0x44F +#define IDC_DISABLE_PAD1 0x450 +#define IDC_M_DISABLE 0x451 +#define IDC_M_DI 0x452 +#define IDC_M_WM 0x453 +#define IDC_M_RAW 0x454 +#define IDC_G_XI 0x455 +#define IDC_G_DI 0x456 +#define IDC_G_DS3 0x457 +#define IDC_CLOSE_HACK 0x458 +#define IDC_DEBUG_FILE 0x459 +#define IDC_GUITAR1 0x45A +#define IDC_ANALOG_START1 0x45B +#define IDC_MULTITAP1 0x45C +#define IDC_DISABLE_SCREENSAVER 0x45D +#define IDC_MOUSE_UNFOCUS 0x45E +#define IDC_AXIS_BUTTONS 0x45F +#define IDC_MULTITAP2 0x460 +#define IDC_BACKGROUND 0x461 +#define IDC_MULTIPLE_BINDING 0x462 +#define IDC_FORCE_HIDE 0x463 +#define IDC_GH2_HACK 0x464 +#define IDC_SAVE_STATE_TITLE 0x465 +#define IDC_PAD_LIST 0x466 +#define IDC_COMBO1 0x467 +#define IDC_PAD_TYPE 0x468 +#define IDC_DIAG_LIST 0x469 +#define ID_SAVE 0x46A +#define ID_LOAD 0x46B +#define ID_RESTORE_DEFAULTS 0x46C +// Pad tabs: +#define IDC_BINDINGS_LIST 0xF00 +// Pad Input configuration: #define IDC_SLIDER_SENSITIVITY 0x1000 #define IDC_FLIP 0x1001 #define IDC_AXIS_DIRECTION 0x1002 @@ -61,14 +69,14 @@ #define IDC_SKIP_DEADZONE_OFF 0x100D #define IDC_SLIDER_SKIP_DEADZONE 0x100E #define IDC_AXIS_SKIP_DEADZONE 0x100F -#define IDC_DPAD 0x10F7 -#define IDC_LSTICK 0x10F8 -#define IDC_RSTICK 0x10F9 -#define IDC_FACE 0x10FA -#define IDC_SHOULDER 0x10FB -#define ID_LOCK_BUTTONS 0x10FC -#define ID_LOCK_ALL_INPUT 0x10FD -#define ID_LOCK_DIRECTION 0x10FE +// Pad Input Boxes: +#define IDC_DPAD 0x10D0 +#define IDC_LSTICK 0x10D1 +#define IDC_RSTICK 0x10D2 +#define IDC_FACE 0x10D3 +#define IDC_SHOULDER 0x10D4 +#define IDC_FACE_ANALOG 0x10D5 +// Pad Input Bindings: #define ID_MOUSE 0x10FF #define ID_SELECT 0x1100 #define ID_L3 0x1101 @@ -95,26 +103,30 @@ #define ID_RSTICK_DOWN 0x1116 #define ID_RSTICK_LEFT 0x1117 #define ID_ANALOG 0x1118 +// Special bindings: #define ID_EXCLUDE 0x1119 -#define ID_TURBO_KEY 0x111A -#define IDC_FORCEFEEDBACK 0x1130 -#define IDC_FORCEFEEDBACK_FUNCTION 0x1131 -#define ID_BIG_MOTOR 0x1132 -#define ID_SMALL_MOTOR 0x1133 -#define ID_FORCEFEEDBACK_BOX 0x1134 -#define IDC_CONFIGURE_ON_BIND 0x1135 -#define IDC_DEVICE_SELECT 0x1136 -#define IDC_FACE_ANALOG 0x1137 -#define IDC_BINDINGS_LIST 0x1200 -#define ID_SAVE 0x1201 -#define ID_LOAD 0x1202 -#define ID_TEST 0x1300 -#define ID_CONTROLS 0x1301 -#define IDC_FF_DEVICE 0x1302 -#define IDC_FF_MOTOR 0x1303 -#define ID_FF 0x1304 -#define IDC_FF_EFFECT 0x1305 -#define IDC_VERSION 0x1306 +#define ID_LOCK_BUTTONS 0x111A +#define ID_LOCK_ALL_INPUT 0x111B +#define ID_LOCK_DIRECTION 0x111C +#define ID_TURBO_KEY 0x111D +#define ID_QUICK_SETUP 0x111E +#define IDC_QUICK_SETUP_TEXT 0x111F +// Force Feedback bindings: +#define IDC_FORCEFEEDBACK 0x1200 +#define IDC_FORCEFEEDBACK_FUNCTION 0x1201 +#define ID_BIG_MOTOR 0x1202 +#define ID_SMALL_MOTOR 0x1203 +#define ID_FORCEFEEDBACK_BOX 0x1204 +// Input options: +#define IDC_CONFIGURE_ON_BIND 0x1230 +#define IDC_DEVICE_SELECT 0x1231 +#define ID_CLEAR 0x1232 +#define ID_SPECIAL_INPUTS 0x1233 +// Pad Force Feedback configuration: +#define ID_CONTROLS 0x1300 +#define ID_TEST 0x1301 +#define ID_FF 0x1302 +#define IDC_FF_EFFECT 0x1303 #define IDC_FF_AXIS1_ENABLED 0x1310 #define IDC_FF_AXIS1 0x1311 #define IDC_FF_AXIS1_FLIP 0x1312 @@ -147,14 +159,16 @@ #define IDC_FF_AXIS8 0x1381 #define IDC_FF_AXIS8_FLIP 0x1382 #define IDC_FF_AXIS8_SCALE 0x1383 +// Force Feedback & Input configurations: +#define ID_CONTROLS 0x1390 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 113 +#define _APS_NEXT_RESOURCE_VALUE 116 #define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1133 +#define _APS_NEXT_CONTROL_VALUE 5009 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif