diff --git a/plugins/GSdx/GSDevice9.cpp b/plugins/GSdx/GSDevice9.cpp index ac3eed9ea7..f9fc212a4a 100644 --- a/plugins/GSdx/GSDevice9.cpp +++ b/plugins/GSdx/GSDevice9.cpp @@ -137,9 +137,9 @@ uint32 GSDevice9::GetMaxDepth(uint32 msaa = 0) void GSDevice9::ForceValidMsaaConfig() { - if(0 == GetMaxDepth(theApp.GetConfig("msaa", 0))) + if(0 == GetMaxDepth(theApp.GetConfig("UserHacks_MSAA", 0))) { - theApp.SetConfig("msaa", 0); // replace invalid msaa value in ini file with 0. + theApp.SetConfig("UserHacks_MSAA", 0); // replace invalid msaa value in ini file with 0. } }; diff --git a/plugins/GSdx/GSDeviceDX.cpp b/plugins/GSdx/GSDeviceDX.cpp index 160e3130d6..1165c4671b 100644 --- a/plugins/GSdx/GSDeviceDX.cpp +++ b/plugins/GSdx/GSDeviceDX.cpp @@ -25,7 +25,7 @@ GSDeviceDX::GSDeviceDX() { - m_msaa = theApp.GetConfig("msaa", 0); + m_msaa = theApp.GetConfig("UserHacks_MSAA", 0); m_msaa_desc.Count = 1; m_msaa_desc.Quality = 0; diff --git a/plugins/GSdx/GSSettingsDlg.cpp b/plugins/GSdx/GSSettingsDlg.cpp index 3bc1ae7b42..18d65a9f5f 100644 --- a/plugins/GSdx/GSSettingsDlg.cpp +++ b/plugins/GSdx/GSSettingsDlg.cpp @@ -106,16 +106,13 @@ void GSSettingsDlg::OnInit() CheckDlgButton(m_hWnd, IDC_FBA, theApp.GetConfig("fba", 1)); CheckDlgButton(m_hWnd, IDC_AA1, theApp.GetConfig("aa1", 0)); CheckDlgButton(m_hWnd, IDC_NATIVERES, theApp.GetConfig("nativeres", 0)); - // Hacks - CheckDlgButton(m_hWnd, IDC_ALPHAHACK, theApp.GetConfig("UserHacks_AlphaHack", 0)); - CheckDlgButton(m_hWnd, IDC_OFFSETHACK, theApp.GetConfig("UserHacks_HalfPixelOffset", 0)); - CheckDlgButton(m_hWnd, IDC_SPRITEHACK, theApp.GetConfig("UserHacks_SpriteHack", 0)); // Shade Boost CheckDlgButton(m_hWnd, IDC_SHADEBOOST, theApp.GetConfig("ShadeBoost", 0)); - - SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETRANGE, 0, MAKELPARAM(1000, 0)); - SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("UserHacks_SkipDraw", 0), 0)); + + // Hacks + CheckDlgButton(m_hWnd, IDC_HACKS_ENABLED, theApp.GetConfig("UserHacks", 0)); + SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_SETRANGE, 0, MAKELPARAM(8192, 256)); SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("resx", 1024), 0)); @@ -123,17 +120,6 @@ void GSSettingsDlg::OnInit() SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_SETRANGE, 0, MAKELPARAM(8192, 256)); SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("resy", 1024), 0)); - int r = theApp.GetConfig("Renderer", 0); - - if(r >= 0 && r <= 2) // DX9 - { - GSDevice9::ForceValidMsaaConfig(); - - m_lastValidMsaa = theApp.GetConfig("msaa", 0); - } - - SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_SETRANGE, 0, MAKELPARAM(16, 0)); - SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("msaa", 0), 0)); SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_SETRANGE, 0, MAKELPARAM(16, 0)); SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("extrathreads", 0), 0)); @@ -143,76 +129,7 @@ void GSSettingsDlg::OnInit() bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code) { - if(id == IDC_MSAAEDIT && code == EN_CHANGE) // validate and possibly warn user when changing msaa - { - //post change - - bool dx9 = false; - - INT_PTR i; - - if(ComboBoxGetSelData(IDC_RENDERER, i)) - { - dx9 = i >= 0 && i <= 2; - } - - if(dx9) - { - uint32 requestedMsaa = (int)SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_GETPOS, 0, 0); // valid from OnCommand? - uint32 derivedDepth = GSDevice9::GetMaxDepth(requestedMsaa); - - if(derivedDepth == 0) - { - //FIXME: Ugly UI: HW AA is currently a uint spinbox but usually only some values are supported (e.g. only 2/4/8 or a similar set). - // Better solution would be to use a drop-down with only valid msaa values such that we don't need this. Maybe some day. - // Known bad behavior: When manually deleting a HW AA value to put another instead (e.g. 2 -> delete -> 4) - // it's registered as 0 after the deletion (with possible higher derived z bits), and might issue - // a warning when the new value is registered (i.e. 4 in our example) since it might result in fewer - // z bits than 0, even if it's not different than the previous value (i.e. 2 in our example) z bits. - - //Find valid msaa values, regardless of derived z buffer bits - - string supportedAa = ""; - - for(int i = 2; i <= 16; i++) - { - if(GSDevice9::GetMaxDepth(i)) - { - if(supportedAa.length()) supportedAa += "/"; - - supportedAa += format("%d", i); - } - } - - if(!supportedAa.length()) - { - supportedAa = "None"; - } - - string s = format("AA=%d is not supported.\nSupported AA values: %s.", (int)requestedMsaa, supportedAa.c_str()); - - MessageBox(hWnd, s.c_str(),"Warning", MB_OK | MB_ICONWARNING); - - SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_SETPOS, 0, requestedMsaa = m_lastValidMsaa); // revert value from inside OnCommand? is this OK? - } - else if(derivedDepth < GSDevice9::GetMaxDepth(m_lastValidMsaa)) - { - string s = format("AA=%d will force GSdx to degrade Z buffer\nfrom 32 to 24 bit, which will probably cause glitches\n(changing 'Logarithmic Z' might help some).\n\nContinue?", (int)requestedMsaa); - - //s+= format("\nlastMsaa=%d, lastDepth=%d, newMsaa=%d, newDepth=%d", (int)m_lastValidMsaa, (int)GSDevice9::GetMaxDepth(m_lastValidMsaa), (int)requestedMsaa, (int)GSDevice9::GetMaxDepth(requestedMsaa)); - - if(IDOK != MessageBox(hWnd, s.c_str(), "Warning", MB_OKCANCEL|MB_ICONWARNING)) - { - SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_SETPOS, 0, requestedMsaa=m_lastValidMsaa); // revert value from inside OnCommand? is this OK? - } - } - - m_lastValidMsaa = requestedMsaa; - - UpdateControls(); - } - } - else if(id == IDC_UPSCALE_MULTIPLIER && code == CBN_SELCHANGE) + if(id == IDC_UPSCALE_MULTIPLIER && code == CBN_SELCHANGE) { UpdateControls(); } @@ -232,6 +149,14 @@ bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code) { ShadeBoostDlg.DoModal(); } + else if(id == IDC_HACKS_ENABLED && code == BN_CLICKED) + { + UpdateControls(); + } + else if(id == IDC_HACKSBUTTON && code == BN_CLICKED) + { + HacksDlg.DoModal(); + } else if(id == IDOK) { INT_PTR data; @@ -284,28 +209,21 @@ bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code) theApp.SetConfig("resx", (int)SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_GETPOS, 0, 0)); theApp.SetConfig("resy", (int)SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_GETPOS, 0, 0)); theApp.SetConfig("extrathreads", (int)SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_GETPOS, 0, 0)); - theApp.SetConfig("msaa", (int)SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_GETPOS, 0, 0)); - // Hacks - theApp.SetConfig("UserHacks_AlphaHack", (int)IsDlgButtonChecked(m_hWnd, IDC_ALPHAHACK)); - theApp.SetConfig("UserHacks_HalfPixelOffset", (int)IsDlgButtonChecked(m_hWnd, IDC_OFFSETHACK)); - theApp.SetConfig("UserHacks_SpriteHack", (int)IsDlgButtonChecked(m_hWnd, IDC_SPRITEHACK)); - theApp.SetConfig("UserHacks_SkipDraw", (int)SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_GETPOS, 0, 0)); // Shade Boost theApp.SetConfig("ShadeBoost", (int)IsDlgButtonChecked(m_hWnd, IDC_SHADEBOOST)); + + // Hacks + theApp.SetConfig("UserHacks", (int)IsDlgButtonChecked(m_hWnd, IDC_HACKS_ENABLED)); } return __super::OnCommand(hWnd, id, code); } - void GSSettingsDlg::UpdateControls() { INT_PTR i; - bool allowHacks = !!theApp.GetConfig("allowHacks", 0); - theApp.SetConfig("allowHacks", (int)allowHacks); - int scaling = 1; // in case reading the combo doesn't work, enable the custom res control anyway if(ComboBoxGetSelData(IDC_UPSCALE_MULTIPLIER, i)) @@ -338,34 +256,23 @@ void GSSettingsDlg::UpdateControls() //EnableWindow(GetDlgItem(m_hWnd, IDC_AA1), sw); // Let uers set software params regardless of renderer used //EnableWindow(GetDlgItem(m_hWnd, IDC_SWTHREADS_EDIT), sw); //EnableWindow(GetDlgItem(m_hWnd, IDC_SWTHREADS), sw); - EnableWindow(GetDlgItem(m_hWnd, IDC_MSAAEDIT), hw); - EnableWindow(GetDlgItem(m_hWnd, IDC_MSAA), hw); + // Shade Boost - EnableWindow(GetDlgItem(m_hWnd, IDC_SHADEBUTTON), IsDlgButtonChecked(m_hWnd, IDC_SHADEBOOST) == BST_CHECKED); + EnableWindow(GetDlgItem(m_hWnd, IDC_SHADEBUTTON), IsDlgButtonChecked(m_hWnd, IDC_SHADEBOOST) == BST_CHECKED); - //ShowWindow(GetDlgItem(m_hWnd, IDC_USERHACKS), allowHacks && hw) ? SW_SHOW : SW_HIDE; //Don't disable the "Hacks" frame - ShowWindow(GetDlgItem(m_hWnd, IDC_HACKDISABLED), !(allowHacks && hw)) ? SW_SHOW : SW_HIDE; - ShowWindow(GetDlgItem(m_hWnd, IDC_MSAAEDIT), allowHacks && hw) ? SW_SHOW : SW_HIDE; - ShowWindow(GetDlgItem(m_hWnd, IDC_MSAA), allowHacks && hw) ? SW_SHOW : SW_HIDE; - ShowWindow(GetDlgItem(m_hWnd, IDC_STATIC_TEXT_HWAA), allowHacks && hw) ? SW_SHOW : SW_HIDE; - - ShowWindow(GetDlgItem(m_hWnd, IDC_ALPHAHACK), allowHacks && hw) ? SW_SHOW : SW_HIDE; - ShowWindow(GetDlgItem(m_hWnd, IDC_OFFSETHACK), allowHacks && hw) ? SW_SHOW : SW_HIDE; - ShowWindow(GetDlgItem(m_hWnd, IDC_SPRITEHACK), allowHacks && hw) ? SW_SHOW : SW_HIDE; - - ShowWindow(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACKEDIT), allowHacks && hw) ? SW_SHOW : SW_HIDE; - ShowWindow(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), allowHacks && hw) ? SW_SHOW : SW_HIDE; - ShowWindow(GetDlgItem(m_hWnd, IDC_STATIC_TEXT_SKIPDRAW), allowHacks && hw) ? SW_SHOW : SW_HIDE; + // Hacks + EnableWindow(GetDlgItem(m_hWnd, IDC_HACKS_ENABLED), hw); + EnableWindow(GetDlgItem(m_hWnd, IDC_HACKSBUTTON), hw && IsDlgButtonChecked(m_hWnd, IDC_HACKS_ENABLED) == BST_CHECKED); } } +// Shade Boost Dialog GSShadeBostDlg::GSShadeBostDlg() : - GSDialog(IDD_SHADEBOOST) + GSDialog(IDD_SHADEBOOST) {} - void GSShadeBostDlg::OnInit() { contrast = theApp.GetConfig("ShadeBoost_Contrast", 50); @@ -395,10 +302,8 @@ void GSShadeBostDlg::UpdateControls() SetDlgItemText(m_hWnd, IDC_CONTRAST_TEXT, text); } - bool GSShadeBostDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam) { - switch(message) { case WM_HSCROLL: @@ -465,4 +370,92 @@ bool GSShadeBostDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam) return true; -} \ No newline at end of file +} + +// Hacks Dialog + +GSHacksDlg::GSHacksDlg() : + GSDialog(IDD_HACKS) +{ + memset(msaa2cb, 0, sizeof(msaa2cb)); + memset(cb2msaa, 0, sizeof(cb2msaa)); +} + +void GSHacksDlg::OnInit() +{ + bool dx9 = (int)SendMessage(GetDlgItem(GetParent(m_hWnd), IDC_RENDERER), CB_GETCURSEL, 0, 0) / 3 == 0; + unsigned short cb = 0; + + if(dx9) for(unsigned short i = 0; i < 17; i++) + { + if( i == 1) continue; + + int depth = GSDevice9::GetMaxDepth(i); + + if(depth) + { + char text[32] = {0}; + sprintf(text, depth == 32 ? "%dx Z-32" : "%dx Z-24", i); + SendMessage(GetDlgItem(m_hWnd, IDC_MSAACB), CB_ADDSTRING, 0, (LPARAM)text); + + msaa2cb[i] = cb; + cb2msaa[cb] = i; + cb++; + } + } + else for(unsigned short j = 0; j < 5; j++) // TODO: Make the same kind of check for d3d11, eventually.... + { + unsigned short i = j == 0 ? 0 : 1 << j; + + msaa2cb[i] = j; + cb2msaa[j] = i; + + char text[32] = {0}; + sprintf(text, "%dx ????", i); + + SendMessage(GetDlgItem(m_hWnd, IDC_MSAACB), CB_ADDSTRING, 0, (LPARAM)text); + } + + SendMessage(GetDlgItem(m_hWnd, IDC_MSAACB), CB_SETCURSEL, msaa2cb[min(theApp.GetConfig("UserHacks_MSAA", 0), 16)], 0); + + CheckDlgButton(m_hWnd, IDC_ALPHAHACK, theApp.GetConfig("UserHacks_AlphaHack", 0)); + CheckDlgButton(m_hWnd, IDC_OFFSETHACK, theApp.GetConfig("UserHacks_HalfPixelOffset", 0)); + CheckDlgButton(m_hWnd, IDC_SPRITEHACK, theApp.GetConfig("UserHacks_SpriteHack", 0)); + + SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETRANGE, 0, MAKELPARAM(1000, 0)); + SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("UserHacks_SkipDraw", 0), 0)); +} + +void GSHacksDlg::UpdateControls() +{} + +bool GSHacksDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam) +{ + switch(message) + { + case WM_COMMAND: + { + int id = LOWORD(wParam); + + switch(id) + { + case IDOK: + { + theApp.SetConfig("UserHacks_MSAA", cb2msaa[(int)SendMessage(GetDlgItem(m_hWnd, IDC_MSAACB), CB_GETCURSEL, 0, 0)]); + theApp.SetConfig("UserHacks_AlphaHack", (int)IsDlgButtonChecked(m_hWnd, IDC_ALPHAHACK)); + theApp.SetConfig("UserHacks_HalfPixelOffset", (int)IsDlgButtonChecked(m_hWnd, IDC_OFFSETHACK)); + theApp.SetConfig("UserHacks_SpriteHack", (int)IsDlgButtonChecked(m_hWnd, IDC_SPRITEHACK)); + theApp.SetConfig("UserHacks_SkipDraw", (int)SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_GETPOS, 0, 0)); + EndDialog(m_hWnd, id); + } break; + } + + } break; + + case WM_CLOSE:EndDialog(m_hWnd, IDCANCEL); break; + + default: return false; + } + + return true; +} diff --git a/plugins/GSdx/GSSettingsDlg.h b/plugins/GSdx/GSSettingsDlg.h index 95589dc091..5cd3945304 100644 --- a/plugins/GSdx/GSSettingsDlg.h +++ b/plugins/GSdx/GSSettingsDlg.h @@ -40,6 +40,23 @@ public: GSShadeBostDlg(); }; +class GSHacksDlg : public GSDialog +{ + unsigned short cb2msaa[17]; + unsigned short msaa2cb[17]; + + bool isdx9; + + void UpdateControls(); + +protected: + void OnInit(); + bool OnMessage(UINT message, WPARAM wParam, LPARAM lParam); + +public: + GSHacksDlg(); +}; + class GSSettingsDlg : public GSDialog { list m_modes; @@ -55,6 +72,7 @@ protected: // Shade Boost GSShadeBostDlg ShadeBoostDlg; + GSHacksDlg HacksDlg; public: GSSettingsDlg(bool isOpen2); diff --git a/plugins/GSdx/GSdx.rc b/plugins/GSdx/GSdx.rc index e21e665780..59a114c1aa 100644 --- a/plugins/GSdx/GSdx.rc +++ b/plugins/GSdx/GSdx.rc @@ -74,6 +74,30 @@ IDB_LOGO10 BITMAP "res\\logo10.bmp" // Dialog // +IDD_HACKS DIALOGEX 0, 0, 316, 133 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Hacks Configuration" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + DEFPUSHBUTTON "OK",IDOK,259,112,50,14 + GROUPBOX "Hack",IDC_STATIC,7,7,76,100 + GROUPBOX "Description",IDC_STATIC,86,7,223,100 + LTEXT "MSAA",IDC_STATIC,14,20,20,8 + LTEXT "Skipdraw",IDC_STATIC,14,37,30,8 + EDITTEXT IDC_SKIPDRAWHACKEDIT,45,35,24,14,ES_RIGHT | ES_AUTOHSCROLL + CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,68,35,10,14 + CONTROL "Alpha",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,54,34,10 + CONTROL "Half-pixel Offset",IDC_OFFSETHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,71,65,10 + CONTROL "Sprite",IDC_SPRITEHACK,"Button",BS_AUTO3STATE | WS_TABSTOP,14,88,35,10 + LTEXT "It tickles your GPU's fancy",IDC_STATIC,92,20,84,8 + LTEXT "Makes Kratos a sad panda. Don't try with values over 9000.",IDC_STATIC,92,37,193,8 + LTEXT "Static",IDC_STATIC,92,54,19,8 + LTEXT "Static",IDC_STATIC,92,71,19,8 + LTEXT "Yup, another Static",IDC_STATIC,92,88,63,8 + LTEXT "USE AT YOUR OWN RISK!",IDC_STATIC,7,115,84,8,WS_DISABLED + COMBOBOX IDC_MSAACB,35,18,44,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP +END + IDD_SHADEBOOST DIALOGEX 0, 0, 316, 129 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Shade Boost Settings" @@ -93,7 +117,7 @@ BEGIN RTEXT "100",IDC_CONTRAST_TEXT,288,75,15,8 END -IDD_CONFIG DIALOGEX 0, 0, 189, 337 +IDD_CONFIG DIALOGEX 0, 0, 189, 330 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Settings..." FONT 8, "MS Shell Dlg", 400, 0, 0x1 @@ -101,47 +125,40 @@ BEGIN CONTROL 2022,IDC_LOGO11,"Static",SS_BITMAP,7,7,175,42 CONTROL 2021,IDC_LOGO9,"Static",SS_BITMAP,7,7,175,44 LTEXT "Resolution:",IDC_STATIC,7,58,37,8 - COMBOBOX IDC_RESOLUTION,71,56,111,125,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RESOLUTION,71,56,72,125,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Renderer:",IDC_STATIC,7,73,34,8 COMBOBOX IDC_RENDERER,71,71,111,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Interlacing (F5):",IDC_STATIC,7,89,53,8 COMBOBOX IDC_INTERLACE,71,86,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Aspect Ratio (F6):",IDC_STATIC,7,104,60,8 COMBOBOX IDC_ASPECTRATIO,71,101,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "OK",IDOK,43,316,50,14 - PUSHBUTTON "Cancel",IDCANCEL,96,316,50,14 - CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,244,93,10 - LTEXT "D3D internal res:",IDC_STATIC,18,135,55,8 - EDITTEXT IDC_RESX_EDIT,82,132,35,13,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,110,135,11,14 - EDITTEXT IDC_RESY_EDIT,120,132,35,13,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,144,135,11,14 - CONTROL "Native",IDC_NATIVERES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,123,165,33,10 - COMBOBOX IDC_UPSCALE_MULTIPLIER,82,147,74,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Or use Scaling:",IDC_STATIC,18,150,49,8 - LTEXT "Or use original PS2 resolution :",IDC_STATIC,18,165,99,8 - EDITTEXT IDC_MSAAEDIT,45,272,35,13,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_MSAA,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,76,274,11,14 - LTEXT "HW AA",IDC_STATIC_TEXT_HWAA,18,274,24,8 - GROUPBOX "D3D Enhancements (can cause glitches)",IDC_STATIC,7,117,175,66 - LTEXT "Extra rendering threads:",IDC_STATIC,7,202,80,8 - EDITTEXT IDC_SWTHREADS_EDIT,89,200,35,13,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,117,203,11,14 - CONTROL "Texture filtering",IDC_FILTER,"Button",BS_AUTO3STATE | WS_TABSTOP,7,216,67,10 - CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,217,58,10 - CONTROL "Allow 8-bit textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,230,82,10 - CONTROL "Alpha correction (FBA)",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,230,93,10 - CONTROL "Edge anti-aliasing",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,244,72,10 - CONTROL "Alpha Hack",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,293,51,10 - CONTROL "Offset Hack",IDC_OFFSETHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,67,293,51,10 - GROUPBOX "Hacks",IDC_USERHACKS,7,257,175,53,BS_CENTER - EDITTEXT IDC_SKIPDRAWHACKEDIT,122,272,40,14,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,161,274,11,14 - LTEXT "SkipDraw:",IDC_STATIC_TEXT_SKIPDRAW,89,274,33,8 - CONTROL "Sprite Hack",IDC_SPRITEHACK,"Button",BS_AUTO3STATE | WS_TABSTOP,123,293,51,10 - LTEXT "HACKS DISABLED",IDC_HACKDISABLED,64,281,57,8,WS_DISABLED - CONTROL "Enable Shade Boost",IDC_SHADEBOOST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,187,79,10 - PUSHBUTTON "Settings...",IDC_SHADEBUTTON,88,184,94,14 + DEFPUSHBUTTON "OK",IDOK,43,309,50,14 + PUSHBUTTON "Cancel",IDCANCEL,96,309,50,14 + CONTROL "Window",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,146,58,36,10 + LTEXT "D3D internal res:",IDC_STATIC,18,137,55,8 + EDITTEXT IDC_RESX_EDIT,82,134,35,13,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,110,133,11,14 + EDITTEXT IDC_RESY_EDIT,120,134,35,13,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,146,133,11,14 + CONTROL "Native",IDC_NATIVERES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,123,167,33,10 + COMBOBOX IDC_UPSCALE_MULTIPLIER,82,149,74,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Or use Scaling:",IDC_STATIC,18,152,49,8 + LTEXT "Or use original PS2 resolution :",IDC_STATIC,18,167,99,8 + GROUPBOX "D3D Enhancements (can cause glitches)",IDC_STATIC,7,119,175,66,BS_CENTER + LTEXT "Extra rendering threads:",IDC_STATIC,11,277,80,8 + EDITTEXT IDC_SWTHREADS_EDIT,93,276,35,13,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,124,275,11,14 + CONTROL "Texture filtering",IDC_FILTER,"Button",BS_AUTO3STATE | WS_TABSTOP,11,215,67,10 + CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,216,58,10 + CONTROL "Allow 8-bit textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,231,78,10 + CONTROL "Alpha correction (FBA)",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,231,85,10 + CONTROL "Edge anti-aliasing (AA1)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,292,93,10 + CONTROL "Enable Shade Boost",IDC_SHADEBOOST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,189,79,10 + PUSHBUTTON "Settings...",IDC_SHADEBUTTON,88,186,87,14 + GROUPBOX "Software Mode Settings",IDC_STATIC,7,265,175,42,BS_CENTER + GROUPBOX "Hardware Mode Settings",IDC_STATIC,7,203,175,61,BS_CENTER + CONTROL "Enable HW Hacks",IDC_HACKS_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,247,71,10 + PUSHBUTTON "Configuration...",IDC_HACKSBUTTON,88,244,87,14 END IDD_CAPTURE DIALOGEX 0, 0, 279, 71 @@ -188,52 +205,43 @@ BEGIN CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,129,157,49,10 END -IDD_CONFIG2 DIALOGEX 0, 0, 187, 342 +IDD_CONFIG2 DIALOGEX 0, 0, 187, 311 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Settings..." FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN CONTROL 2022,IDC_LOGO11,"Static",SS_BITMAP,6,6,173,42 - DEFPUSHBUTTON "OK",IDOK,41,320,50,14 + DEFPUSHBUTTON "OK",IDOK,35,290,50,14 LTEXT "Renderer:",IDC_STATIC,6,57,34,8 COMBOBOX IDC_RENDERER,70,55,111,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Interlacing (F5):",IDC_STATIC,6,73,81,8 COMBOBOX IDC_INTERLACE,70,70,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Custom resolution:",IDC_STATIC,26,134,65,8 EDITTEXT IDC_RESX_EDIT,92,132,35,13,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,120,135,11,14 + CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,120,132,11,14 EDITTEXT IDC_RESY_EDIT,130,132,35,13,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,154,130,11,14 + CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,154,132,11,14 CONTROL "Native",IDC_NATIVERES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,105,33,10 - LTEXT "Extra rendering threads:",IDC_STATIC,11,233,80,8 - EDITTEXT IDC_SWTHREADS_EDIT,94,231,35,13,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,127,234,11,14 + LTEXT "Extra rendering threads:",IDC_STATIC,11,252,80,8 + EDITTEXT IDC_SWTHREADS_EDIT,94,250,35,13,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,129,249,11,14 COMBOBOX IDC_UPSCALE_MULTIPLIER,92,117,74,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Or use Scaling:",IDC_STATIC,38,119,49,8 LTEXT "Original PS2 resolution :",IDC_STATIC,10,105,80,8 - CONTROL "Edge anti-aliasing (AA1)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,249,93,10 - PUSHBUTTON "Cancel",IDCANCEL,95,320,50,14 + CONTROL "Edge anti-aliasing (AA1)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,268,93,10 + PUSHBUTTON "Cancel",IDCANCEL,89,290,50,14 CONTROL 2021,IDC_LOGO9,"Static",SS_BITMAP,6,6,175,44 - CONTROL "Alpha Hack",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,298,51,10 - CONTROL "Offset Hack",IDC_OFFSETHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,65,298,51,10 - GROUPBOX "Hacks",IDC_USERHACKS,6,269,175,45,BS_CENTER - EDITTEXT IDC_SKIPDRAWHACKEDIT,125,279,40,14,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,164,281,11,14 - LTEXT "Skipdraw",IDC_STATIC_TEXT_SKIPDRAW,93,281,30,8 - EDITTEXT IDC_MSAAEDIT,38,279,35,13,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_MSAA,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,72,282,11,14 GROUPBOX "D3D Internal resolution (can cause glitches)",IDC_STATIC,6,87,175,64,BS_CENTER - GROUPBOX "Software Mode Settings",IDC_STATIC,6,217,175,50,BS_CENTER - GROUPBOX "Hardware Mode Settings",IDC_STATIC,6,171,175,45,BS_CENTER - CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,185,58,10 - CONTROL "Alpha correction (FBA)",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,198,87,10 - CONTROL "Allow 8-bit textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,198,82,10 + GROUPBOX "Software Mode Settings",IDC_STATIC,6,236,175,50,BS_CENTER + GROUPBOX "Hardware Mode Settings",IDC_STATIC,6,171,175,63,BS_CENTER + CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,184,58,10 + CONTROL "Alpha correction (FBA)",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,200,87,10 + CONTROL "Allow 8-bit textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,200,82,10 CONTROL "Texture filtering",IDC_FILTER,"Button",BS_AUTO3STATE | WS_TABSTOP,10,184,67,10 - LTEXT "HW AA",IDC_STATIC_TEXT_HWAA,11,281,24,8 - CONTROL "Sprite Hack",IDC_SPRITEHACK,"Button",BS_AUTO3STATE | WS_TABSTOP,125,298,51,10 - LTEXT "HACKS DISABLED",IDC_HACKDISABLED,62,287,57,8,WS_DISABLED CONTROL "Enable Shade Boost",IDC_SHADEBOOST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,157,79,10 PUSHBUTTON "Settings...",IDC_SHADEBUTTON,95,154,75,14 + CONTROL "Enable HW Hacks",IDC_HACKS_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,216,71,10 + PUSHBUTTON "Configuration...",IDC_HACKSBUTTON,95,213,75,14 END @@ -245,6 +253,14 @@ END #ifdef APSTUDIO_INVOKED GUIDELINES DESIGNINFO BEGIN + IDD_HACKS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 309 + TOPMARGIN, 7 + BOTTOMMARGIN, 126 + END + IDD_SHADEBOOST, DIALOG BEGIN LEFTMARGIN, 7 @@ -261,7 +277,7 @@ BEGIN VERTGUIDE, 89 VERTGUIDE, 182 TOPMARGIN, 7 - BOTTOMMARGIN, 330 + BOTTOMMARGIN, 323 HORZGUIDE, 49 END @@ -289,7 +305,7 @@ BEGIN RIGHTMARGIN, 181 VERTGUIDE, 87 TOPMARGIN, 6 - BOTTOMMARGIN, 335 + BOTTOMMARGIN, 304 END END #endif // APSTUDIO_INVOKED diff --git a/plugins/GSdx/resource.h b/plugins/GSdx/resource.h index 9c31d6fbf9..766ba83657 100644 --- a/plugins/GSdx/resource.h +++ b/plugins/GSdx/resource.h @@ -82,9 +82,12 @@ #define IDC_CONTRAST_SLIDER 2056 #define IDC_SHADEBUTTON 2058 #define IDC_SHADEBOOST 2059 +#define IDC_HACKS_ENABLED 2060 #define IDC_SATURATION_TEXT 2061 #define IDC_BRIGHTNESS_TEXT 2062 #define IDC_CONTRAST_TEXT 2063 +#define IDC_MSAACB 2070 +#define IDC_HACKSBUTTON 2071 #define IDC_COLORSPACE 3000 #define IDR_CONVERT_FX 10000 #define IDR_TFX_FX 10001 @@ -95,14 +98,15 @@ #define IDR_CS_FX 10006 #define IDD_SHADEBOOST 10007 #define IDR_SHADEBOOST_FX 10009 +#define IDD_HACKS 10011 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 10011 +#define _APS_NEXT_RESOURCE_VALUE 10012 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 2064 +#define _APS_NEXT_CONTROL_VALUE 2072 #define _APS_NEXT_SYMED_VALUE 5000 #endif #endif