Index: dxglcfg/dxglcfg.cpp |
— | — | @@ -1260,6 +1260,11 @@ |
1261 | 1261 | *dirty = TRUE;
|
1262 | 1262 | }
|
1263 | 1263 | break;
|
| 1264 | + case IDC_BLTFILTER:
|
| 1265 | + cfg->BltScale = GetCombo(hWnd, IDC_BLTFILTER, &cfgmask->BltScale);
|
| 1266 | + EnableWindow(GetDlgItem(hDialog, IDC_APPLY), TRUE);
|
| 1267 | + *dirty = TRUE;
|
| 1268 | + break;
|
1264 | 1269 | default:
|
1265 | 1270 | break;
|
1266 | 1271 | }
|
— | — | @@ -1299,6 +1304,16 @@ |
1300 | 1305 | EnableWindow(GetDlgItem(hDialog, IDC_APPLY), TRUE);
|
1301 | 1306 | *dirty = TRUE;
|
1302 | 1307 | break;
|
| 1308 | + case IDC_LOWCOLORRENDER:
|
| 1309 | + cfg->LowColorRendering = GetCombo(hWnd, IDC_LOWCOLORRENDER, &cfgmask->LowColorRendering);
|
| 1310 | + EnableWindow(GetDlgItem(hDialog, IDC_APPLY), TRUE);
|
| 1311 | + *dirty = TRUE;
|
| 1312 | + break;
|
| 1313 | + case IDC_DITHERING:
|
| 1314 | + cfg->EnableDithering = GetCombo(hWnd, IDC_DITHERING, &cfgmask->EnableDithering);
|
| 1315 | + EnableWindow(GetDlgItem(hDialog, IDC_APPLY), TRUE);
|
| 1316 | + *dirty = TRUE;
|
| 1317 | + break;
|
1303 | 1318 | default:
|
1304 | 1319 | break;
|
1305 | 1320 | }
|
— | — | @@ -1997,6 +2012,19 @@ |
1998 | 2013 | _tcscpy(buffer,_T("Bilinear"));
|
1999 | 2014 | SendDlgItemMessage(hTabs[0],IDC_SCALE,CB_ADDSTRING,1,(LPARAM)buffer);
|
2000 | 2015 | SendDlgItemMessage(hTabs[0],IDC_SCALE,CB_SETCURSEL,cfg->scalingfilter,0);
|
| 2016 | + // Blt scaling filter
|
| 2017 | + _tcscpy(buffer, _T("Nearest"));
|
| 2018 | + SendDlgItemMessage(hTabs[1], IDC_BLTFILTER, CB_ADDSTRING, 0, (LPARAM)buffer);
|
| 2019 | + _tcscpy(buffer, _T("Bilinear"));
|
| 2020 | + SendDlgItemMessage(hTabs[1], IDC_BLTFILTER, CB_ADDSTRING, 1, (LPARAM)buffer);
|
| 2021 | + _tcscpy(buffer, _T("Bilinear, sharp colorkey"));
|
| 2022 | + SendDlgItemMessage(hTabs[1], IDC_BLTFILTER, CB_ADDSTRING, 2, (LPARAM)buffer);
|
| 2023 | + _tcscpy(buffer, _T("Bilinear, soft colorkey"));
|
| 2024 | + SendDlgItemMessage(hTabs[1], IDC_BLTFILTER, CB_ADDSTRING, 3, (LPARAM)buffer);
|
| 2025 | + SendDlgItemMessage(hTabs[1], IDC_BLTFILTER, CB_SETCURSEL, cfg->BltScale, 0);
|
| 2026 | + // Blt scaling threshold
|
| 2027 | + SendDlgItemMessage(hTabs[1], IDC_BLTTHRESHOLDSLIDER, TBM_SETRANGE, 0, 0xFE0000);
|
| 2028 | + SendDlgItemMessage(hTabs[1], IDC_BLTTHRESHOLDSLIDER, TBM_SETPOS, TRUE, cfg->BltThreshold);
|
2001 | 2029 | // aspect
|
2002 | 2030 | _tcscpy(buffer,_T("Default"));
|
2003 | 2031 | SendDlgItemMessage(hTabs[0], IDC_ASPECT, CB_ADDSTRING, 0, (LPARAM)buffer);
|
— | — | @@ -2068,6 +2096,7 @@ |
2069 | 2097 | SendDlgItemMessage(hTabs[2], IDC_ANISO, CB_SETCURSEL, cfg->anisotropic, 0);
|
2070 | 2098 | }
|
2071 | 2099 | // msaa
|
| 2100 | +#ifdef _DEBUG
|
2072 | 2101 | if(msaa_available)
|
2073 | 2102 | {
|
2074 | 2103 | _tcscpy(buffer,_T("Application default"));
|
— | — | @@ -2122,6 +2151,13 @@ |
2123 | 2152 | EnableWindow(GetDlgItem(hTabs[2], IDC_MSAA), FALSE);
|
2124 | 2153 | cfg->msaa = 0;
|
2125 | 2154 | }
|
| 2155 | +#else
|
| 2156 | + _tcscpy(buffer, _T("Not yet implemented"));
|
| 2157 | + SendDlgItemMessage(hTabs[2], IDC_MSAA, CB_ADDSTRING, 0, (LPARAM)buffer);
|
| 2158 | + SendDlgItemMessage(hTabs[2], IDC_MSAA, CB_SETCURSEL, 0, 0);
|
| 2159 | + EnableWindow(GetDlgItem(hTabs[2], IDC_MSAA), FALSE);
|
| 2160 | + cfg->msaa = 0;
|
| 2161 | +#endif
|
2126 | 2162 | // aspect3d
|
2127 | 2163 | _tcscpy(buffer,_T("Stretch to display"));
|
2128 | 2164 | SendDlgItemMessage(hTabs[2], IDC_ASPECT3D, CB_ADDSTRING, 0, (LPARAM)buffer);
|
— | — | @@ -2130,6 +2166,24 @@ |
2131 | 2167 | _tcscpy(buffer,_T("Crop to display"));
|
2132 | 2168 | SendDlgItemMessage(hTabs[2],IDC_ASPECT3D,CB_ADDSTRING,2,(LPARAM)buffer);
|
2133 | 2169 | SendDlgItemMessage(hTabs[2],IDC_ASPECT3D,CB_SETCURSEL,cfg->aspect3d,0);
|
| 2170 | + // low color render
|
| 2171 | + _tcscpy(buffer, _T("Use surface color depth"));
|
| 2172 | + SendDlgItemMessage(hTabs[2], IDC_LOWCOLORRENDER, CB_ADDSTRING, 0, (LPARAM)buffer);
|
| 2173 | + _tcscpy(buffer, _T("Use 32-bpp color depth"));
|
| 2174 | + SendDlgItemMessage(hTabs[2], IDC_LOWCOLORRENDER, CB_ADDSTRING, 0, (LPARAM)buffer);
|
| 2175 | + SendDlgItemMessage(hTabs[2], IDC_LOWCOLORRENDER, CB_SETCURSEL, cfg->LowColorRendering, 0);
|
| 2176 | + // Enable dithering
|
| 2177 | + _tcscpy(buffer, _T("Application defined, low color"));
|
| 2178 | + SendDlgItemMessage(hTabs[2], IDC_DITHERING, CB_ADDSTRING, 0, (LPARAM)buffer);
|
| 2179 | + _tcscpy(buffer, _T("Disabled"));
|
| 2180 | + SendDlgItemMessage(hTabs[2], IDC_DITHERING, CB_ADDSTRING, 0, (LPARAM)buffer);
|
| 2181 | + _tcscpy(buffer, _T("Always enabled, low color"));
|
| 2182 | + SendDlgItemMessage(hTabs[2], IDC_DITHERING, CB_ADDSTRING, 0, (LPARAM)buffer);
|
| 2183 | + _tcscpy(buffer, _T("Application defined, all modes"));
|
| 2184 | + SendDlgItemMessage(hTabs[2], IDC_DITHERING, CB_ADDSTRING, 0, (LPARAM)buffer);
|
| 2185 | + _tcscpy(buffer, _T("Always enabled, low color"));
|
| 2186 | + SendDlgItemMessage(hTabs[2], IDC_DITHERING, CB_ADDSTRING, 0, (LPARAM)buffer);
|
| 2187 | + SendDlgItemMessage(hTabs[2], IDC_DITHERING, CB_SETCURSEL, cfg->EnableDithering, 0);
|
2134 | 2188 | // sort modes
|
2135 | 2189 | _tcscpy(buffer,_T("Use system order"));
|
2136 | 2190 | SendDlgItemMessage(hTabs[0], IDC_SORTMODES, CB_ADDSTRING, 0, (LPARAM)buffer);
|
— | — | @@ -2486,13 +2540,19 @@ |
2487 | 2541 | SendDlgItemMessage(hTabs[0], IDC_FULLMODE, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
2488 | 2542 | SendDlgItemMessage(hTabs[0], IDC_COLOR, BM_SETSTYLE, BS_AUTO3STATE, (LPARAM)TRUE);
|
2489 | 2543 | SendDlgItemMessage(hTabs[0], IDC_SINGLEBUFFER, BM_SETSTYLE, BS_AUTO3STATE, (LPARAM)TRUE);
|
| 2544 | + // Effects tab
|
2490 | 2545 | SendDlgItemMessage(hTabs[1], IDC_POSTSCALE, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
2491 | 2546 | SendDlgItemMessage(hTabs[1], IDC_POSTSCALESIZE, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
2492 | 2547 | SendDlgItemMessage(hTabs[1], IDC_PRIMARYSCALE, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
| 2548 | + SendDlgItemMessage(hTabs[1], IDC_BLTFILTER, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
| 2549 | + // 3D tab
|
2493 | 2550 | SendDlgItemMessage(hTabs[2], IDC_TEXFILTER, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
2494 | 2551 | SendDlgItemMessage(hTabs[2], IDC_ANISO, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
2495 | 2552 | SendDlgItemMessage(hTabs[2], IDC_MSAA, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
2496 | 2553 | SendDlgItemMessage(hTabs[2], IDC_ASPECT3D, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
| 2554 | + SendDlgItemMessage(hTabs[2], IDC_LOWCOLORRENDER, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
| 2555 | + SendDlgItemMessage(hTabs[2], IDC_DITHERING, CB_ADDSTRING, 0, (LPARAM)strdefault);
|
| 2556 | + // Advanced tab
|
2497 | 2557 | SendDlgItemMessage(hTabs[3],IDC_TEXTUREFORMAT,CB_ADDSTRING,0,(LPARAM)strdefault);
|
2498 | 2558 | SendDlgItemMessage(hTabs[3],IDC_TEXUPLOAD,CB_ADDSTRING,0,(LPARAM)strdefault);
|
2499 | 2559 | }
|
— | — | @@ -2520,6 +2580,7 @@ |
2521 | 2581 | SendDlgItemMessage(hTabs[0], IDC_FULLMODE, CB_FINDSTRING, -1, (LPARAM)strdefault), 0);
|
2522 | 2582 | SendDlgItemMessage(hTabs[0], IDC_COLOR, BM_SETSTYLE, BS_AUTOCHECKBOX, (LPARAM)TRUE);
|
2523 | 2583 | SendDlgItemMessage(hTabs[0], IDC_SINGLEBUFFER, BM_SETSTYLE, BS_AUTOCHECKBOX, (LPARAM)TRUE);
|
| 2584 | + // Effects tab
|
2524 | 2585 | SendDlgItemMessage(hTabs[1], IDC_POSTSCALE, CB_DELETESTRING,
|
2525 | 2586 | SendDlgItemMessage(hTabs[1], IDC_POSTSCALE, CB_FINDSTRING, -1, (LPARAM)strdefault), 0);
|
2526 | 2587 | SendDlgItemMessage(hTabs[1], IDC_POSTSCALESIZE, CB_DELETESTRING,
|
— | — | @@ -2526,6 +2587,9 @@ |
2527 | 2588 | SendDlgItemMessage(hTabs[1], IDC_POSTSCALESIZE, CB_FINDSTRING, -1, (LPARAM)strdefault), 0);
|
2528 | 2589 | SendDlgItemMessage(hTabs[1], IDC_PRIMARYSCALE, CB_DELETESTRING,
|
2529 | 2590 | SendDlgItemMessage(hTabs[1], IDC_PRIMARYSCALE, CB_FINDSTRING, -1, (LPARAM)strdefault), 0);
|
| 2591 | + SendDlgItemMessage(hTabs[1], IDC_BLTFILTER, CB_DELETESTRING,
|
| 2592 | + SendDlgItemMessage(hTabs[1], IDC_BLTFILTER, CB_FINDSTRING, -1, (LPARAM)strdefault), 0);
|
| 2593 | + // 3D tab
|
2530 | 2594 | SendDlgItemMessage(hTabs[2], IDC_TEXFILTER, CB_DELETESTRING,
|
2531 | 2595 | SendDlgItemMessage(hTabs[2], IDC_TEXFILTER, CB_FINDSTRING, -1, (LPARAM)strdefault), 0);
|
2532 | 2596 | SendDlgItemMessage(hTabs[2], IDC_ANISO, CB_DELETESTRING,
|
— | — | @@ -2534,6 +2598,11 @@ |
2535 | 2599 | SendDlgItemMessage(hTabs[2], IDC_MSAA, CB_FINDSTRING, -1, (LPARAM)strdefault), 0);
|
2536 | 2600 | SendDlgItemMessage(hTabs[2], IDC_ASPECT3D, CB_DELETESTRING,
|
2537 | 2601 | SendDlgItemMessage(hTabs[2], IDC_ASPECT3D, CB_FINDSTRING, -1, (LPARAM)strdefault), 0);
|
| 2602 | + SendDlgItemMessage(hTabs[2], IDC_LOWCOLORRENDER, CB_DELETESTRING,
|
| 2603 | + SendDlgItemMessage(hTabs[2], IDC_LOWCOLORRENDER, CB_FINDSTRING, -1, (LPARAM)strdefault), 0);
|
| 2604 | + SendDlgItemMessage(hTabs[2], IDC_DITHERING, CB_DELETESTRING,
|
| 2605 | + SendDlgItemMessage(hTabs[2], IDC_DITHERING, CB_FINDSTRING, -1, (LPARAM)strdefault), 0);
|
| 2606 | + // Advanced tab
|
2538 | 2607 | SendDlgItemMessage(hTabs[3],IDC_TEXTUREFORMAT,CB_DELETESTRING,
|
2539 | 2608 | SendDlgItemMessage(hTabs[3],IDC_ASPECT3D,CB_FINDSTRING,-1,(LPARAM)strdefault),0);
|
2540 | 2609 | SendDlgItemMessage(hTabs[3],IDC_TEXUPLOAD,CB_DELETESTRING,
|
— | — | @@ -2552,7 +2621,6 @@ |
2553 | 2622 | SetCombo(hTabs[0], IDC_FULLMODE, cfg->fullmode, cfgmask->fullmode, tristate);
|
2554 | 2623 | SetCheck(hTabs[0], IDC_COLOR, cfg->colormode, cfgmask->colormode, tristate);
|
2555 | 2624 | SetCheck(hTabs[0], IDC_SINGLEBUFFER, cfg->SingleBufferDevice, cfgmask->SingleBufferDevice, tristate);
|
2556 | | - SetCombo(hTabs[1], IDC_POSTSCALE, cfg->postfilter, cfgmask->postfilter, tristate);
|
2557 | 2625 | if (cfg->scaler == 8)
|
2558 | 2626 | {
|
2559 | 2627 | EnableWindow(GetDlgItem(hTabs[0], IDC_FIXEDSCALELABEL), TRUE);
|
— | — | @@ -2583,14 +2651,18 @@ |
2584 | 2652 | }
|
2585 | 2653 | SetFloat3place(hTabs[0], IDC_FIXEDSCALEX, cfg->DisplayMultiplierX, cfgmask->DisplayMultiplierX);
|
2586 | 2654 | SetFloat3place(hTabs[0], IDC_FIXEDSCALEY, cfg->DisplayMultiplierY, cfgmask->DisplayMultiplierY);
|
| 2655 | + SetCombo(hTabs[1], IDC_POSTSCALE, cfg->postfilter, cfgmask->postfilter, tristate);
|
2587 | 2656 | SetPostScaleCombo(hTabs[1], IDC_POSTSCALESIZE, cfg->postsizex, cfg->postsizey,
|
2588 | 2657 | cfgmask->postsizex , cfgmask->postsizey, tristate);
|
2589 | 2658 | SetCombo(hTabs[1], IDC_PRIMARYSCALE, cfg->primaryscale, cfgmask->primaryscale, tristate);
|
2590 | 2659 | SetText(hTabs[1], IDC_SHADER, cfg->shaderfile, cfgmask->shaderfile, tristate);
|
| 2660 | + SetCombo(hTabs[1], IDC_BLTFILTER, cfg->BltScale, cfgmask->BltScale, tristate);
|
2591 | 2661 | SetCombo(hTabs[2], IDC_TEXFILTER, cfg->texfilter, cfgmask->texfilter, tristate);
|
2592 | 2662 | SetCombo(hTabs[2], IDC_ANISO, cfg->anisotropic, cfgmask->anisotropic, tristate);
|
2593 | 2663 | SetCombo(hTabs[2], IDC_MSAA, cfg->msaa, cfgmask->msaa, tristate);
|
2594 | 2664 | SetCombo(hTabs[2], IDC_ASPECT3D, cfg->aspect3d, cfgmask->aspect3d, tristate);
|
| 2665 | + SetCombo(hTabs[2], IDC_LOWCOLORRENDER, cfg->LowColorRendering, cfgmask->LowColorRendering, tristate);
|
| 2666 | + SetCombo(hTabs[2], IDC_DITHERING, cfg->EnableDithering, cfgmask->EnableDithering, tristate);
|
2595 | 2667 | SetCombo(hTabs[3],IDC_TEXTUREFORMAT,cfg->TextureFormat,cfgmask->TextureFormat,tristate);
|
2596 | 2668 | SetCombo(hTabs[3],IDC_TEXUPLOAD,cfg->TexUpload,cfgmask->TexUpload,tristate);
|
2597 | 2669 | RedrawWindow(GetDlgItem(hTabs[4], IDC_DEBUGLIST), NULL, NULL, RDW_INVALIDATE);
|
Index: dxglcfg/dxglcfg.rc |
— | — | @@ -214,12 +214,13 @@ |
215 | 215 | LTEXT "Blt Scaling Filter", IDC_STATIC, 114, 58, 52, 8, SS_LEFT, WS_EX_LEFT
|
216 | 216 | COMBOBOX IDC_BLTFILTER, 114, 68, 102, 92, CBS_DROPDOWNLIST | CBS_HASSTRINGS, WS_EX_LEFT
|
217 | 217 | LTEXT "Blt Color Key Threshold", 0, 114, 83, 76, 9, SS_LEFT, WS_EX_LEFT
|
218 | | - CONTROL "", IDC_BLTTHRESHOLD, TRACKBAR_CLASS, WS_TABSTOP | TBS_BOTH | TBS_NOTICKS, 114, 93, 102, 15, WS_EX_LEFT
|
219 | 218 | LTEXT "Custom scale", IDC_CUSTOMSCALELABEL, 7, 83, 44, 8, WS_DISABLED | SS_LEFT, WS_EX_LEFT
|
220 | 219 | LTEXT "X", IDC_CUSTOMSCALELABELX, 7, 97, 8, 8, WS_DISABLED | SS_LEFT, WS_EX_LEFT
|
221 | 220 | EDITTEXT IDC_CUSTOMSCALEX, 15, 94, 40, 14, WS_DISABLED | ES_AUTOHSCROLL, WS_EX_LEFT
|
222 | 221 | LTEXT "Y", IDC_CUSTOMSCALELABELY, 57, 97, 8, 8, WS_DISABLED | SS_LEFT, WS_EX_LEFT
|
223 | 222 | EDITTEXT IDC_CUSTOMSCALEY, 65, 94, 40, 14, WS_DISABLED | ES_AUTOHSCROLL, WS_EX_LEFT
|
| 223 | + CONTROL "", IDC_BLTTHRESHOLDSLIDER, TRACKBAR_CLASS, WS_TABSTOP | TBS_BOTH | TBS_NOTICKS, 114, 93, 79, 15, WS_EX_LEFT
|
| 224 | + EDITTEXT IDC_BLTTHRESHOLD, 195, 94, 21, 14, ES_AUTOHSCROLL, WS_EX_LEFT
|
224 | 225 | }
|
225 | 226 |
|
226 | 227 |
|
Index: dxglcfg/resource.h |
— | — | @@ -85,12 +85,13 @@ |
86 | 86 | #define IDC_BROWSESHADER 2105
|
87 | 87 | #define IDC_PRIMARYSCALE 2106
|
88 | 88 | #define IDC_BLTFILTER 2107
|
89 | | -#define IDC_BLTTHRESHOLD 2108
|
90 | | -#define IDC_CUSTOMSCALELABEL 2109
|
91 | | -#define IDC_CUSTOMSCALELABELX 2110
|
92 | | -#define IDC_CUSTOMSCALEX 2111
|
93 | | -#define IDC_CUSTOMSCALELABELY 2112
|
94 | | -#define IDC_CUSTOMSCALEY 2113
|
| 89 | +#define IDC_CUSTOMSCALELABEL 2108
|
| 90 | +#define IDC_CUSTOMSCALELABELX 2109
|
| 91 | +#define IDC_CUSTOMSCALEX 2110
|
| 92 | +#define IDC_CUSTOMSCALELABELY 2111
|
| 93 | +#define IDC_CUSTOMSCALEY 2112
|
| 94 | +#define IDC_BLTTHRESHOLDSLIDER 2113
|
| 95 | +#define IDC_BLTTHRESHOLD 2114
|
95 | 96 |
|
96 | 97 | // Controls - 3D Graphics Tab
|
97 | 98 | #define IDC_TEXFILTER 2201
|