From 117c249595c8a4ef01bb37ca1fcd6d309c5d4403 Mon Sep 17 00:00:00 2001 From: FlatOutPS2 Date: Fri, 3 Mar 2017 22:12:23 +0100 Subject: [PATCH] GSdx: Add Windows GUI for split texture filtering option Adds Windows GUI elements of the split texture filtering options. Bilinear Texture Filtering is moved to the top section of the main GSdx window, and Trilinear Filtering is moved to Hacks. --- plugins/GSdx/GSSetting.cpp | 2 - plugins/GSdx/GSSettingsDlg.cpp | 10 +++- plugins/GSdx/GSdx.rc | 97 ++++++++++++++++++---------------- plugins/GSdx/resource.h | 2 + 4 files changed, 60 insertions(+), 51 deletions(-) diff --git a/plugins/GSdx/GSSetting.cpp b/plugins/GSdx/GSSetting.cpp index 9bf7516d1c..e882e1c6ed 100644 --- a/plugins/GSdx/GSSetting.cpp +++ b/plugins/GSdx/GSSetting.cpp @@ -37,13 +37,11 @@ const char* dialog_message(int ID, bool* updateText) { " Rendering is smoother but it could generate a few glitches. If upscaling is enabled, this setting is recommended over 'Bilinear Forced'\n\n" "Bilinear Forced:\nAlways enable interpolation. Rendering is smoother but it could generate some glitches.\n\n" "Bilinear PS2:\nUse same mode as the PS2. It is the more accurate option.\n\n"; -#ifdef __unix__ case IDC_TRI_FILTER: return "Control the texture tri-filtering of the emulation.\n\n" "None:\nNo extra trilinear filtering.\n\n" "Trilinear:\nUse OpenGL trilinear interpolation when PS2 uses mipmaps.\n\n" "Trilinear Forced:\nAlways enable full trilinear interpolation. Warning Slow!\n\n"; -#endif case IDC_CRC_LEVEL: return "Control the number of Auto-CRC hacks applied to games.\n\n" "Automatic:\nAutomatically sets the recommended CRC hack level based on the selected renderer.\n" diff --git a/plugins/GSdx/GSSettingsDlg.cpp b/plugins/GSdx/GSSettingsDlg.cpp index 9df7b95b7b..8e4ae31f8c 100644 --- a/plugins/GSdx/GSSettingsDlg.cpp +++ b/plugins/GSdx/GSSettingsDlg.cpp @@ -419,7 +419,6 @@ void GSSettingsDlg::UpdateControls() EnableWindow(GetDlgItem(m_hWnd, IDC_CUSTOM_TEXT), hw && !integer_scaling); EnableWindow(GetDlgItem(m_hWnd, IDC_UPSCALE_MULTIPLIER), hw); EnableWindow(GetDlgItem(m_hWnd, IDC_UPSCALE_MULTIPLIER_TEXT), hw); - EnableWindow(GetDlgItem(m_hWnd, IDC_FILTER), hw); EnableWindow(GetDlgItem(m_hWnd, IDC_PALTEX), hw); EnableWindow(GetDlgItem(m_hWnd, IDC_LOGZ), dx9 && hw); EnableWindow(GetDlgItem(m_hWnd, IDC_FBA), dx9 && hw); @@ -430,7 +429,6 @@ void GSSettingsDlg::UpdateControls() EnableWindow(GetDlgItem(m_hWnd, IDC_AFCOMBO), hw && filter && !IsDlgButtonChecked(m_hWnd, IDC_PALTEX)); } EnableWindow(GetDlgItem(m_hWnd, IDC_AFCOMBO_TEXT), hw); - EnableWindow(GetDlgItem(m_hWnd, IDC_FILTER_TEXT), hw); EnableWindow(GetDlgItem(m_hWnd, IDC_ACCURATE_DATE), ogl && hw); EnableWindow(GetDlgItem(m_hWnd, IDC_ACCURATE_BLEND_UNIT), ogl && hw); EnableWindow(GetDlgItem(m_hWnd, IDC_ACCURATE_BLEND_UNIT_TEXT), ogl && hw); @@ -696,6 +694,7 @@ void GSHacksDlg::OnInit() CheckDlgButton(m_hWnd, IDC_UNSCALE_POINT_LINE, theApp.GetConfigB("UserHacks_unscale_point_line")); CheckDlgButton(m_hWnd, IDC_MEMORY_WRAPPING, theApp.GetConfigB("wrap_gs_mem")); + ComboBoxInit(IDC_TRI_FILTER, theApp.m_gs_trifilter, theApp.GetConfigI("UserHacks_TriFilter")); ComboBoxInit(IDC_OFFSETHACK, theApp.m_gs_offset_hack, theApp.GetConfigI("UserHacks_HalfPixelOffset")); ComboBoxInit(IDC_ROUND_SPRITE, theApp.m_gs_hack, theApp.GetConfigI("UserHacks_round_sprite_offset")); ComboBoxInit(IDC_SPRITEHACK, theApp.m_gs_hack, theApp.GetConfigI("UserHacks_SpriteHack")); @@ -719,6 +718,8 @@ void GSHacksDlg::OnInit() // OpenGL-only hacks: EnableWindow(GetDlgItem(m_hWnd, IDC_TC_DEPTH), ogl); + EnableWindow(GetDlgItem(m_hWnd, IDC_TRI_FILTER), ogl); + EnableWindow(GetDlgItem(m_hWnd, IDC_TRI_FILTER_TEXT), ogl); EnableWindow(GetDlgItem(m_hWnd, IDC_UNSCALE_POINT_LINE), ogl && !native); // Upscaling hacks: @@ -757,6 +758,7 @@ void GSHacksDlg::OnInit() AddTooltip(IDC_AUTO_FLUSH); AddTooltip(IDC_UNSCALE_POINT_LINE); AddTooltip(IDC_MEMORY_WRAPPING); + AddTooltip(IDC_TRI_FILTER); AddTooltip(IDC_GEOMETRY_SHADER_OVERRIDE); AddTooltip(IDC_IMAGE_LOAD_STORE); } @@ -777,6 +779,10 @@ bool GSHacksDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam) case IDOK: { INT_PTR data; + if (ComboBoxGetSelData(IDC_TRI_FILTER, data)) + { + theApp.SetConfig("UserHacks_TriFilter", (int)data); + } if (ComboBoxGetSelData(IDC_ROUND_SPRITE, data)) { theApp.SetConfig("UserHacks_round_sprite_offset", (int)data); diff --git a/plugins/GSdx/GSdx.rc b/plugins/GSdx/GSdx.rc index e8473bdf58..4283a09f16 100644 --- a/plugins/GSdx/GSdx.rc +++ b/plugins/GSdx/GSdx.rc @@ -111,12 +111,13 @@ IDB_PSX_NULL BITMAP "res\\psx-logo-null.bmp" // Dialog // -IDD_HACKS DIALOGEX 0, 0, 210, 278 +IDD_HACKS DIALOGEX 0, 0, 210, 286 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Advanced Settings & Hacks" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - GROUPBOX "USE AT YOUR OWN RISK!",IDC_STATIC,7,7,196,187,0,WS_EX_TRANSPARENT + // Hacks settings: + GROUPBOX "USE AT YOUR OWN RISK!",IDC_STATIC,7,7,196,202,0,WS_EX_TRANSPARENT CONTROL "Align Sprite",IDC_ALIGN_SPRITE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,19,58,8 CONTROL "Wild Arms Offset",IDC_WILDHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,108,19,70,8 CONTROL "Fast Texture Invalidation",IDC_FAST_TC_INV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,32,92,8 @@ -129,30 +130,32 @@ BEGIN CONTROL "Alpha Stencil",IDC_ALPHASTENCIL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,108,71,57,8 RTEXT "MSAA:",IDC_MSAA_TEXT,54,86,22,8 COMBOBOX IDC_MSAACB,80,83,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Half-pixel Offset:",IDC_OFFSETHACK_TEXT,14,101,62,8 - COMBOBOX IDC_OFFSETHACK,80,98,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Sprite:",IDC_SPRITEHACK_TEXT,54,116,22,8 - COMBOBOX IDC_SPRITEHACK,80,113,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Round Sprite:",IDC_ROUND_SPRITE_TEXT,31,131,45,8 - COMBOBOX IDC_ROUND_SPRITE,80,128,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Skipdraw:",IDC_STATIC,44,146,32,8 - EDITTEXT IDC_SKIPDRAWHACKEDIT,80,143,116,14,ES_RIGHT | ES_AUTOHSCROLL - CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,105,144,11,14 - RTEXT "TC Offset X:",IDC_STATIC,32,161,44,8 - EDITTEXT IDC_TCOFFSETX2,80,158,116,14,ES_RIGHT | ES_AUTOHSCROLL - CONTROL "",IDC_TCOFFSETX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,127,156,11,14 - RTEXT "TC Offset Y:",IDC_STATIC,32,176,44,8 - EDITTEXT IDC_TCOFFSETY2,80,173,116,14,ES_RIGHT | ES_AUTOHSCROLL - CONTROL "",IDC_TCOFFSETY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,127,171,11,14 + RTEXT "Trilinear Filtering:",IDC_TRI_FILTER_TEXT,16,101,60,8 + COMBOBOX IDC_TRI_FILTER,80,98,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Half-pixel Offset:",IDC_OFFSETHACK_TEXT,14,116,62,8 + COMBOBOX IDC_OFFSETHACK,80,113,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Sprite:",IDC_SPRITEHACK_TEXT,54,131,22,8 + COMBOBOX IDC_SPRITEHACK,80,128,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Round Sprite:",IDC_ROUND_SPRITE_TEXT,31,146,45,8 + COMBOBOX IDC_ROUND_SPRITE,80,143,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Skipdraw:",IDC_STATIC,44,161,32,8 + EDITTEXT IDC_SKIPDRAWHACKEDIT,80,158,116,14,ES_RIGHT | ES_AUTOHSCROLL + CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,105,156,11,14 + RTEXT "TC Offset X:",IDC_STATIC,32,176,44,8 + EDITTEXT IDC_TCOFFSETX2,80,173,116,14,ES_RIGHT | ES_AUTOHSCROLL + CONTROL "",IDC_TCOFFSETX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,127,171,11,14 + RTEXT "TC Offset Y:",IDC_STATIC,32,191,44,8 + EDITTEXT IDC_TCOFFSETY2,80,188,116,14,ES_RIGHT | ES_AUTOHSCROLL + CONTROL "",IDC_TCOFFSETY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,127,186,11,14 // OpenGL Advanced Settings: - GROUPBOX "OpenGL Very Advanced Custom Settings",IDC_STATIC,7,200,196,48,0,WS_EX_TRANSPARENT - RTEXT "Geometry Shader:",IDC_GEOMETRY_SHADER_TEXT,14,215,62,8 - COMBOBOX IDC_GEOMETRY_SHADER_OVERRIDE,80,213,97,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Image Load Store:",IDC_IMAGE_LOAD_STORE_TEXT,14,231,62,8 - COMBOBOX IDC_IMAGE_LOAD_STORE,80,228,97,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "OpenGL Very Advanced Custom Settings",IDC_STATIC,7,212,196,48,0,WS_EX_TRANSPARENT + RTEXT "Geometry Shader:",IDC_GEOMETRY_SHADER_TEXT,14,227,62,8 + COMBOBOX IDC_GEOMETRY_SHADER_OVERRIDE,80,224,97,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Image Load Store:",IDC_IMAGE_LOAD_STORE_TEXT,14,242,62,8 + COMBOBOX IDC_IMAGE_LOAD_STORE,80,239,97,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP // General Settings: - DEFPUSHBUTTON "OK",IDOK,52,258,50,14 - DEFPUSHBUTTON "Cancel",IDCANCEL,108,258,50,14 + DEFPUSHBUTTON "OK",IDOK,52,265,50,14 + DEFPUSHBUTTON "Cancel",IDCANCEL,108,265,50,14 END IDD_SHADER DIALOGEX 0, 0, 248, 230 @@ -257,7 +260,7 @@ BEGIN CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,129,157,49,10 END -IDD_CONFIG DIALOGEX 0, 0, 243, 405 +IDD_CONFIG DIALOGEX 0, 0, 243, 386 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "GSdx Settings" FONT 8, "MS Shell Dlg", 400, 0, 0x1 @@ -274,42 +277,42 @@ BEGIN COMBOBOX IDC_RENDERER,71,70,166,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Interlacing (F5):",IDC_STATIC,6,87,52,8 COMBOBOX IDC_INTERLACE,71,85,166,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "OpenCL Device:",IDC_OPENCL_TEXT,6,102,53,8 - COMBOBOX IDC_OPENCL_DEVICE,71,100,166,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Shader Configuration",IDC_SHADEBUTTON,124,339,107,14 - PUSHBUTTON "OSD Configuration",IDC_OSDBUTTON,11,339,107,14 - DEFPUSHBUTTON "OK",IDOK,69,386,50,14 - PUSHBUTTON "Cancel",IDCANCEL,125,386,50,14 + LTEXT "Texture Filtering:",IDC_FILTER_TEXT,6,102,79,8 + COMBOBOX IDC_FILTER,71,100,166,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "OpenCL Device:",IDC_OPENCL_TEXT,6,117,53,8 + COMBOBOX IDC_OPENCL_DEVICE,71,115,166,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Shader Configuration",IDC_SHADEBUTTON,124,340,107,14 + PUSHBUTTON "OSD Configuration",IDC_OSDBUTTON,11,340,107,14 + DEFPUSHBUTTON "OK",IDOK,69,366,50,14 + PUSHBUTTON "Cancel",IDCANCEL,125,366,50,14 // Hardware Renderer Settings: - GROUPBOX "Hardware Renderer Settings",IDC_STATIC,6,116,231,136,BS_CENTER - CONTROL "Allow 8-Bit Textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,128,90,10 - CONTROL "Large Framebuffer",IDC_LARGE_FB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,105,128,90,10 - LTEXT "Internal Resolution:",IDC_UPSCALE_MULTIPLIER_TEXT,22,144,79,8 - COMBOBOX IDC_UPSCALE_MULTIPLIER,105,142,127,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Custom Resolution:",IDC_CUSTOM_TEXT,22,160,79,8 - EDITTEXT IDC_RESX_EDIT,105,158,61,13,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,145,158,11,14 - EDITTEXT IDC_RESY_EDIT,171,158,61,13,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,221,158,11,14 - LTEXT "Texture Filtering:",IDC_FILTER_TEXT,22,176,79,8 - COMBOBOX IDC_FILTER,105,174,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Hardware Renderer Settings",IDC_STATIC,6,132,231,152,BS_CENTER + CONTROL "Allow 8-Bit Textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,144,90,10 + CONTROL "Large Framebuffer",IDC_LARGE_FB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,105,144,90,10 + LTEXT "Internal Resolution:",IDC_UPSCALE_MULTIPLIER_TEXT,22,160,79,8 + COMBOBOX IDC_UPSCALE_MULTIPLIER,105,158,127,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Custom Resolution:",IDC_CUSTOM_TEXT,22,176,79,8 + EDITTEXT IDC_RESX_EDIT,105,174,61,13,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,145,174,11,14 + EDITTEXT IDC_RESY_EDIT,171,174,61,13,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,221,174,11,14 LTEXT "Anisotropic Filtering:",IDC_AFCOMBO_TEXT,22,192,79,8 COMBOBOX IDC_AFCOMBO,105,190,127,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Mipmapping (Ins):",IDC_MIPMAP_HW_TEXT,22,208,79,8 COMBOBOX IDC_MIPMAP_HW,105,206,127,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "CRC Hack Level:",IDC_CRC_LEVEL_TEXT,22,224,79,8 - COMBOBOX IDC_CRC_LEVEL,105,222,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Enable HW Hacks",IDC_HACKS_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,223,71,10 + COMBOBOX IDC_CRC_LEVEL,105,220,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Enable HW Hacks",IDC_HACKS_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,239,71,10 PUSHBUTTON "Advanced Settings and Hacks",IDC_HACKSBUTTON,105,237,127,14 // OpenGL (Hardware) Settings: - CONTROL "Accurate Date",IDC_ACCURATE_DATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,255,72,8 + CONTROL "Accurate Date",IDC_ACCURATE_DATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,253,72,8 LTEXT "Blending Unit Accuracy:",IDC_ACCURATE_BLEND_UNIT_TEXT,22,268,79,10 COMBOBOX IDC_ACCURATE_BLEND_UNIT,105,267,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP // Direct3D 9 (Hardware) Settings: CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,255,90,8 CONTROL "Alpha Correction",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,105,255,74,8 // Software Renderer Settings: - GROUPBOX "Software Renderer Settings",IDC_STATIC,6,291,231,40,BS_CENTER + GROUPBOX "Software Renderer Settings",IDC_STATIC,6,291,231,42,BS_CENTER CONTROL "Edge Anti-aliasing (AA1)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,303,91,10 LTEXT "Rendering threads:",IDC_SWTHREADS_TEXT,124,304,80,8 EDITTEXT IDC_SWTHREADS_EDIT,198,302,34,13,ES_AUTOHSCROLL | ES_NUMBER diff --git a/plugins/GSdx/resource.h b/plugins/GSdx/resource.h index 511844e044..165a7011f5 100644 --- a/plugins/GSdx/resource.h +++ b/plugins/GSdx/resource.h @@ -99,6 +99,8 @@ #define IDC_FAST_TC_INV 2120 #define IDC_AUTO_FLUSH 2121 #define IDC_MEMORY_WRAPPING 2122 +#define IDC_TRI_FILTER 2123 +#define IDC_TRI_FILTER_TEXT 2124 // Shader: #define IDC_SHADEBOOST 2140 #define IDC_FXAA 2141