[WINED3DCFG]
authorKamil Hornicek <kamil.hornicek@reactos.org>
Mon, 19 May 2014 09:58:26 +0000 (09:58 +0000)
committerKamil Hornicek <kamil.hornicek@reactos.org>
Mon, 19 May 2014 09:58:26 +0000 (09:58 +0000)
- rewrite the wined3d config cpl to make it work with the current version of wined3d
- add a "default" option so it's easier to revert changes done to the configuration
- I apologize for the "lost" translations but there were too many changes

svn path=/trunk/; revision=63368

reactos/dll/cpl/wined3dcfg/general.c
reactos/dll/cpl/wined3dcfg/lang/cs-CZ.rc
reactos/dll/cpl/wined3dcfg/lang/de-DE.rc
reactos/dll/cpl/wined3dcfg/lang/en-US.rc
reactos/dll/cpl/wined3dcfg/lang/he-IL.rc
reactos/dll/cpl/wined3dcfg/lang/pl-PL.rc
reactos/dll/cpl/wined3dcfg/lang/ro-RO.rc
reactos/dll/cpl/wined3dcfg/lang/sq-AL.rc
reactos/dll/cpl/wined3dcfg/lang/tr-TR.rc
reactos/dll/cpl/wined3dcfg/resource.h
reactos/dll/cpl/wined3dcfg/wined3dcfg.h

index 1046494..4fef455 100644 (file)
 
 #include <winreg.h>
 
-static LONG ReadSetting(HKEY hKey, PWCHAR szKey, PWCHAR szBuffer, DWORD dwSize)
+WINED3D_SETTINGS gwd3dsShaderLvl[] =
 {
-    return RegQueryValueExW(hKey, szKey, NULL, NULL, (LPBYTE)szBuffer, &dwSize);
-}
+    {VALUE_DEFAULT, REG_NONE, 0},
+    {L"1.4", REG_DWORD, 1},
+    {L"2", REG_DWORD, 2},
+    {L"3", REG_DWORD, 3},
+};
 
-static VOID SaveSetting(HKEY hKey, PWCHAR szKey, PWCHAR szState)
+WINED3D_SETTINGS gwd3dsDisable[] =
 {
-    RegSetValueExW(hKey, szKey, 0, REG_SZ, (LPBYTE)szState, (wcslen(szState) + 1) * sizeof(WCHAR));
-}
+    {VALUE_DEFAULT, REG_NONE, 0},
+    {VALUE_DISABLED, REG_SZ, 0}
+};
 
-static VOID InitSettings(HWND hWndDlg)
+WINED3D_SETTINGS gwd3dsEnable[] =
 {
-    HKEY hKey;
-    WCHAR szBuffer[MAX_KEY_LENGTH];
-    DWORD dwSize = MAX_KEY_LENGTH;
+    {VALUE_DEFAULT, REG_NONE, 0},
+    {VALUE_ENABLED, REG_SZ, 0}
+};
 
-    if (RegOpenKeyExW(HKEY_CURRENT_USER,
-                      KEY_WINE,
-                      0,
-                      KEY_READ,
-                      &hKey) != ERROR_SUCCESS)
-    {
-        return;
-    }
+WINED3D_SETTINGS gwd3dsOffscreen[] =
+{
+    {VALUE_DEFAULT, REG_NONE, 0},
+    {VALUE_BACKBUFFER, REG_SZ, 0},
+    {VALUE_FBO, REG_SZ, 0}
+};
 
-    if(ReadSetting(hKey, KEY_GLSL, szBuffer, dwSize) == ERROR_SUCCESS)
-        CheckDlgButton(hWndDlg, IDC_GLSL, (wcscmp(VALUE_DISABLED, szBuffer) != 0) ? BST_CHECKED : BST_UNCHECKED);
+WINED3D_SETTINGS gwd3dsVidMem[] =
+{
+    {VALUE_DEFAULT, REG_NONE, 0},
+    {L"8", REG_SZ, 8},
+    {L"16", REG_SZ, 16},
+    {L"32", REG_SZ, 32},
+    {L"64", REG_SZ, 64},
+    {L"128", REG_SZ, 128},
+    {L"256", REG_SZ, 256},
+    {L"512", REG_SZ, 512},
+};
+
+WINED3D_SETTINGS gwd3dsDdRender[] =
+{
+    {VALUE_DEFAULT, REG_NONE, 0},
+    {VALUE_GDI, REG_SZ, 0}
+};
 
-    if(ReadSetting(hKey, KEY_MULTISAMPLING, szBuffer, dwSize) == ERROR_SUCCESS)
-        CheckDlgButton(hWndDlg, IDC_MULTISAMPLING, (wcscmp(VALUE_ENABLED, szBuffer) == 0) ? BST_CHECKED : BST_UNCHECKED);
 
-    if(ReadSetting(hKey, KEY_PIXELSHADERS, szBuffer, dwSize) == ERROR_SUCCESS)
-        CheckDlgButton(hWndDlg, IDC_PIXELSHADERS, (wcscmp(VALUE_ENABLED, szBuffer) == 0) ? BST_CHECKED : BST_UNCHECKED);
+void InitControl(HWND hWndDlg, HKEY hKey, PWCHAR szKey, PWINED3D_SETTINGS pSettings, INT iControlId, INT iCount)
+{
+    WCHAR szBuffer[MAX_KEY_LENGTH];
+    DWORD dwSize = MAX_KEY_LENGTH;
+    DWORD dwType = 0;
+    INT iCurrent;
+    INT iActive = 0;
 
-    if(ReadSetting(hKey, KEY_STRICTDRAWORDERING, szBuffer, dwSize) == ERROR_SUCCESS)
-        CheckDlgButton(hWndDlg, IDC_STRICTDRAWORDERING, (wcscmp(VALUE_ENABLED, szBuffer) == 0) ? BST_CHECKED : BST_UNCHECKED);
+    RegQueryValueExW(hKey, szKey, NULL, &dwType, (LPBYTE)szBuffer, &dwSize);
 
-    if(ReadSetting(hKey, KEY_VERTEXSHADERS, szBuffer, dwSize) == ERROR_SUCCESS)
-        CheckDlgButton(hWndDlg, IDC_VERTEXSHADERS, (wcscmp(VALUE_NONE, szBuffer) != 0) ? BST_CHECKED : BST_UNCHECKED);
+    for(iCurrent = 0; iCurrent < iCount; iCurrent++)
+    {
+        SendDlgItemMessageW(hWndDlg, iControlId, CB_ADDSTRING, 0, (LPARAM)pSettings[iCurrent].szValue);
 
-    SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_ADDSTRING, 0, (LPARAM)VALUE_FBO);
-    SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_ADDSTRING, 0, (LPARAM)VALUE_BACKBUFFER);
+        if(dwSize && ((dwType == REG_DWORD && *szBuffer == pSettings[iCurrent].iValue) ||
+           (dwType == REG_SZ && !wcscmp(szBuffer, pSettings[iCurrent].szValue))))
+        {
+            iActive = iCurrent;
+        }
+    }
 
-    SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETITEMDATA, ITEM_FBO, (LPARAM)ITEM_FBO);
-    SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETITEMDATA, ITEM_BACKBUFFER, (LPARAM)ITEM_BACKBUFFER);
+    SendDlgItemMessageW(hWndDlg, iControlId, CB_SETCURSEL, iActive, 0);
 
-    if(ReadSetting(hKey, KEY_OFFSCREEN, szBuffer, dwSize) == ERROR_SUCCESS && !wcscmp(VALUE_BACKBUFFER, szBuffer))
-        SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETCURSEL, 1, 0);
-    else
-        SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETCURSEL, 0, 0);
+}
 
-    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_ADDSTRING, 0, (LPARAM)VALUE_READTEX);
-    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_ADDSTRING, 0, (LPARAM)VALUE_READDRAW);
-    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_ADDSTRING, 0, (LPARAM)VALUE_DISABLED);
+static VOID InitSettings(HWND hWndDlg)
+{
+    HKEY hKey;
 
-    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETITEMDATA, (WPARAM)ITEM_READTEX, (LPARAM)ITEM_READTEX);
-    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETITEMDATA, (WPARAM)ITEM_READDRAW, (LPARAM)ITEM_READDRAW);
-    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETITEMDATA, (WPARAM)ITEM_DISABLED, (LPARAM)ITEM_DISABLED);
+    if (RegCreateKeyExW(HKEY_CURRENT_USER, KEY_WINE, 0, NULL, 0, MAXIMUM_ALLOWED, NULL, &hKey, NULL) != ERROR_SUCCESS)
+        return;
 
-    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETCURSEL, 0, 0);
-
-    if(ReadSetting(hKey, KEY_LOCKING, szBuffer, dwSize) == ERROR_SUCCESS)
-    {
-        if(!wcscmp(VALUE_READDRAW, szBuffer))
-            SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETCURSEL, 1, 0);
-        else if(!wcscmp(VALUE_DISABLED, szBuffer))
-            SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETCURSEL, 2, 0);
-    }
+    INIT_CONTROL(GLSL, gwd3dsDisable);
+    INIT_CONTROL(OFFSCREEN, gwd3dsOffscreen);
+    INIT_CONTROL(VIDMEMSIZE, gwd3dsVidMem);
+    INIT_CONTROL(MULTISAMPLING, gwd3dsDisable);
+    INIT_CONTROL(STRICTDRAWORDERING, gwd3dsEnable);
+    INIT_CONTROL(ALWAYSOFFSCREEN, gwd3dsEnable);
+    INIT_CONTROL(DDRENDERER, gwd3dsDdRender);
+    INIT_CONTROL(PSLEVEL, gwd3dsShaderLvl);
+    INIT_CONTROL(VSLEVEL, gwd3dsShaderLvl);
+    INIT_CONTROL(GSLEVEL, gwd3dsShaderLvl);
 
     RegCloseKey(hKey);
 }
 
-static VOID WriteSettings(HWND hWndDlg)
+
+static VOID SaveSetting(HWND hWnd, HKEY hKey, PWCHAR szKey, PWINED3D_SETTINGS pCfg, INT iControlId, INT iCount)
 {
-    HKEY hKey;
-    INT iCurSel;
+    INT iSel = 0;
+
+    iSel = (INT)SendDlgItemMessageW(hWnd, iControlId, CB_GETCURSEL, 0, 0);
 
-    if (RegOpenKeyExW(HKEY_CURRENT_USER,
-                      KEY_WINE,
-                      0,
-                      KEY_WRITE,
-                      &hKey) != ERROR_SUCCESS)
+    if(iSel < 0 || iSel > iCount)
+        return;
+
+    if(pCfg[iSel].iType == REG_NONE)
     {
+        RegDeleteValueW(hKey, szKey);
         return;
     }
 
-    SaveSetting(hKey, KEY_GLSL, (IsDlgButtonChecked(hWndDlg, IDC_GLSL) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
-    SaveSetting(hKey, KEY_MULTISAMPLING, (IsDlgButtonChecked(hWndDlg, IDC_MULTISAMPLING) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
-    SaveSetting(hKey, KEY_PIXELSHADERS, (IsDlgButtonChecked(hWndDlg, IDC_PIXELSHADERS) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
-    SaveSetting(hKey, KEY_STRICTDRAWORDERING, (IsDlgButtonChecked(hWndDlg, IDC_STRICTDRAWORDERING) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
-    SaveSetting(hKey, KEY_VERTEXSHADERS, (IsDlgButtonChecked(hWndDlg, IDC_VERTEXSHADERS) == BST_CHECKED) ? VALUE_ENABLED : VALUE_NONE);
-
-    iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_GETCURSEL, 0, 0);
-
-    if(iCurSel != CB_ERR)
+    if(pCfg[iSel].iType == REG_DWORD)
+    {
+        RegSetValueExW(hKey, szKey, 0, REG_DWORD, (LPBYTE)&pCfg[iSel].iValue, sizeof(pCfg[iSel].iValue));
+        return;
+    } else if (pCfg[iSel].iType == REG_SZ)
     {
-        iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_GETITEMDATA, (WPARAM)iCurSel, 0);
-
-        if(iCurSel == ITEM_READDRAW)
-            SaveSetting(hKey, KEY_LOCKING, VALUE_READDRAW);
-        else if(iCurSel == ITEM_DISABLED)
-            SaveSetting(hKey, KEY_LOCKING, VALUE_DISABLED);
-        else
-            SaveSetting(hKey, KEY_LOCKING, VALUE_READTEX);
+        RegSetValueExW(hKey, szKey, 0, pCfg[iSel].iType, (LPBYTE)pCfg[iSel].szValue, (wcslen(pCfg[iSel].szValue) + 1) * sizeof(WCHAR));
     }
+}
 
-    iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_GETCURSEL, 0, 0);
 
-    if(iCurSel != CB_ERR)
-    {
-        iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_GETITEMDATA, (WPARAM)iCurSel, 0);
+static VOID WriteSettings(HWND hWndDlg)
+{
+    HKEY hKey;
 
-        if(iCurSel == ITEM_BACKBUFFER)
-            SaveSetting(hKey, KEY_OFFSCREEN, VALUE_BACKBUFFER);
-        else
-            SaveSetting(hKey, KEY_OFFSCREEN, VALUE_FBO);
-    }
+    if (RegOpenKeyExW(HKEY_CURRENT_USER, KEY_WINE, 0, KEY_WRITE, &hKey) != ERROR_SUCCESS)
+        return;
+
+    SAVE_CONTROL(GLSL, gwd3dsDisable);
+    SAVE_CONTROL(OFFSCREEN, gwd3dsOffscreen);
+    SAVE_CONTROL(VIDMEMSIZE, gwd3dsVidMem);
+    SAVE_CONTROL(MULTISAMPLING, gwd3dsDisable);
+    SAVE_CONTROL(STRICTDRAWORDERING, gwd3dsEnable);
+    SAVE_CONTROL(ALWAYSOFFSCREEN, gwd3dsEnable);
+    SAVE_CONTROL(DDRENDERER, gwd3dsDdRender);
+    SAVE_CONTROL(PSLEVEL, gwd3dsShaderLvl);
+    SAVE_CONTROL(VSLEVEL, gwd3dsShaderLvl);
+    SAVE_CONTROL(GSLEVEL, gwd3dsShaderLvl);
 
     RegCloseKey(hKey);
 }
@@ -135,20 +154,8 @@ INT_PTR CALLBACK GeneralPageProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM
             return TRUE;
 
         case WM_COMMAND:
-            switch (LOWORD(wParam))
-            {
-                case IDC_GLSL:
-                case IDC_LOCKING:
-                case IDC_MULTISAMPLING:
-                case IDC_OFFSCREEN:
-                case IDC_PIXELSHADERS:
-                case IDC_STRICTDRAWORDERING:
-                case IDC_VERTEXSHADERS:
-                    PropSheet_Changed(GetParent(hWndDlg), hWndDlg);
-                    break;
-                default:
-                    break;
-            }
+            if (LOWORD(wParam) > IDC_MIN && LOWORD(wParam) < IDC_MAX)
+                PropSheet_Changed(GetParent(hWndDlg), hWndDlg);
             break;
 
         case WM_NOTIFY:
index 04f380b..5aeef2c 100644 (file)
@@ -10,18 +10,29 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Obecné"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 21, 20
-    GROUPBOX "Shadery", -1, 5, 35, 230, 65
-    AUTOCHECKBOX "Zapnout &GLSL", IDC_GLSL, 15, 50, 150, 10
-    AUTOCHECKBOX "Zapnout &pixel shadery", IDC_PIXELSHADERS, 15, 65, 150, 10
-    AUTOCHECKBOX "Zapnout &vertex shadery", IDC_VERTEXSHADERS, 15, 80, 150, 10
-    GROUPBOX "Renderování", -1, 5, 110, 230, 85
-    AUTOCHECKBOX "Vynutit &multisampling", IDC_MULTISAMPLING, 15, 125, 150, 10
-    AUTOCHECKBOX "Vynutit &strict draw ordering", IDC_STRICTDRAWORDERING, 15, 140, 150, 10
+    ICON IDI_CPLICON, IDI_CPLICON, 8, 0, 21, 20
+    GROUPBOX "Shaders", -1, 5, 25, 230, 80
+    LTEXT "Enable GLSL", -1, 15, 42, 80, 10
+    COMBOBOX IDC_GLSL, 95, 40, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum GS Level:", -1, 15, 57, 80, 10
+    COMBOBOX IDC_GSLEVEL, 95, 55, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum PS level:", -1, 15, 72, 80, 10
+    COMBOBOX IDC_PSLEVEL, 95, 70, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum VS Level:", -1, 15, 87, 80, 10
+    COMBOBOX IDC_VSLEVEL, 95, 85, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    GROUPBOX "Rendering", -1, 5, 110, 230, 110
+    LTEXT "Multisampling:", -1, 15, 127, 80, 10
+    COMBOBOX IDC_MULTISAMPLING, 95, 125, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Strict draw ordering:", -1, 15, 142, 80, 10
+    COMBOBOX IDC_STRICTDRAWORDERING, 95, 140, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
     LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10
-    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
-    LTEXT "Render target locking:", -1, 15, 175, 72, 10, SS_LEFT
-    COMBOBOX IDC_LOCKING, 95, 173, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Always offscreen:", -1, 15, 172, 72, 10, SS_LEFT
+    COMBOBOX IDC_ALWAYSOFFSCREEN, 95, 170, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Video memory size:", -1, 15, 187, 72, 10, SS_LEFT
+    COMBOBOX IDC_VIDMEMSIZE, 95, 185, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "DirectDraw Renderer:", -1, 15, 202, 72, 10, SS_LEFT
+    COMBOBOX IDC_DDRENDERER, 95, 200, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
 END
 
 STRINGTABLE
index 30f5741..675f15f 100644 (file)
@@ -5,18 +5,29 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Allgemein"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 21, 20
-    GROUPBOX "Shader", -1, 5, 35, 230, 65
-    AUTOCHECKBOX "&GLSL aktivieren", IDC_GLSL, 15, 50, 150, 10
-    AUTOCHECKBOX "&Pixel Shader aktivieren", IDC_PIXELSHADERS, 15, 65, 150, 10
-    AUTOCHECKBOX "&Vertex Shader aktivieren", IDC_VERTEXSHADERS, 15, 80, 150, 10
-    GROUPBOX "Rendering", -1, 5, 110, 230, 85
-    AUTOCHECKBOX "&Multisampling erzwingen", IDC_MULTISAMPLING, 15, 125, 150, 10
-    AUTOCHECKBOX "&Strikte Zeichenreihenfolge erzwingen", IDC_STRICTDRAWORDERING, 15, 140, 150, 10
-    LTEXT "Offscreen Rendering:", -1, 15, 157, 80, 10
-    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
-    LTEXT "Render Ziel festlegen:", -1, 15, 175, 72, 10, SS_LEFT
-    COMBOBOX IDC_LOCKING, 95, 173, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    ICON IDI_CPLICON, IDI_CPLICON, 8, 0, 21, 20
+    GROUPBOX "Shaders", -1, 5, 25, 230, 80
+    LTEXT "Enable GLSL", -1, 15, 42, 80, 10
+    COMBOBOX IDC_GLSL, 95, 40, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum GS Level:", -1, 15, 57, 80, 10
+    COMBOBOX IDC_GSLEVEL, 95, 55, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum PS level:", -1, 15, 72, 80, 10
+    COMBOBOX IDC_PSLEVEL, 95, 70, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum VS Level:", -1, 15, 87, 80, 10
+    COMBOBOX IDC_VSLEVEL, 95, 85, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    GROUPBOX "Rendering", -1, 5, 110, 230, 110
+    LTEXT "Multisampling:", -1, 15, 127, 80, 10
+    COMBOBOX IDC_MULTISAMPLING, 95, 125, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Strict draw ordering:", -1, 15, 142, 80, 10
+    COMBOBOX IDC_STRICTDRAWORDERING, 95, 140, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10
+    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Always offscreen:", -1, 15, 172, 72, 10, SS_LEFT
+    COMBOBOX IDC_ALWAYSOFFSCREEN, 95, 170, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Video memory size:", -1, 15, 187, 72, 10, SS_LEFT
+    COMBOBOX IDC_VIDMEMSIZE, 95, 185, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "DirectDraw Renderer:", -1, 15, 202, 72, 10, SS_LEFT
+    COMBOBOX IDC_DDRENDERER, 95, 200, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
 END
 
 STRINGTABLE
index 905477f..1575e4d 100644 (file)
@@ -5,18 +5,29 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "General"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 21, 20
-    GROUPBOX "Shaders", -1, 5, 35, 230, 65
-    AUTOCHECKBOX "Enable &GLSL", IDC_GLSL, 15, 50, 150, 10
-    AUTOCHECKBOX "Enable &pixel shaders", IDC_PIXELSHADERS, 15, 65, 150, 10
-    AUTOCHECKBOX "Enable &Vertex shaders", IDC_VERTEXSHADERS, 15, 80, 150, 10
-    GROUPBOX "Rendering", -1, 5, 110, 230, 85
-    AUTOCHECKBOX "Force &multisampling", IDC_MULTISAMPLING, 15, 125, 150, 10
-    AUTOCHECKBOX "Force &strict draw ordering", IDC_STRICTDRAWORDERING, 15, 140, 150, 10
+    ICON IDI_CPLICON, IDI_CPLICON, 8, 0, 21, 20
+    GROUPBOX "Shaders", -1, 5, 25, 230, 80
+    LTEXT "Enable GLSL", -1, 15, 42, 80, 10
+    COMBOBOX IDC_GLSL, 95, 40, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum GS Level:", -1, 15, 57, 80, 10
+    COMBOBOX IDC_GSLEVEL, 95, 55, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum PS level:", -1, 15, 72, 80, 10
+    COMBOBOX IDC_PSLEVEL, 95, 70, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum VS Level:", -1, 15, 87, 80, 10
+    COMBOBOX IDC_VSLEVEL, 95, 85, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    GROUPBOX "Rendering", -1, 5, 110, 230, 110
+    LTEXT "Multisampling:", -1, 15, 127, 80, 10
+    COMBOBOX IDC_MULTISAMPLING, 95, 125, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Strict draw ordering:", -1, 15, 142, 80, 10
+    COMBOBOX IDC_STRICTDRAWORDERING, 95, 140, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
     LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10
-    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
-    LTEXT "Render target locking:", -1, 15, 175, 72, 10, SS_LEFT
-    COMBOBOX IDC_LOCKING, 95, 173, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Always offscreen:", -1, 15, 172, 72, 10, SS_LEFT
+    COMBOBOX IDC_ALWAYSOFFSCREEN, 95, 170, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Video memory size:", -1, 15, 187, 72, 10, SS_LEFT
+    COMBOBOX IDC_VIDMEMSIZE, 95, 185, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "DirectDraw Renderer:", -1, 15, 202, 72, 10, SS_LEFT
+    COMBOBOX IDC_DDRENDERER, 95, 200, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
 END
 
 STRINGTABLE
index 70e2964..ebf6a64 100644 (file)
@@ -5,18 +5,29 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "כללי"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 21, 20
-    GROUPBOX "Shaders", -1, 5, 35, 230, 65
-    AUTOCHECKBOX "Enable &GLSL", IDC_GLSL, 15, 50, 150, 10
-    AUTOCHECKBOX "Enable &pixel shaders", IDC_PIXELSHADERS, 15, 65, 150, 10
-    AUTOCHECKBOX "Enable &Vertex shaders", IDC_VERTEXSHADERS, 15, 80, 150, 10
-    GROUPBOX "Rendering", -1, 5, 110, 230, 85
-    AUTOCHECKBOX "Force &multisampling", IDC_MULTISAMPLING, 15, 125, 150, 10
-    AUTOCHECKBOX "Force &strict draw ordering", IDC_STRICTDRAWORDERING, 15, 140, 150, 10
+    ICON IDI_CPLICON, IDI_CPLICON, 8, 0, 21, 20
+    GROUPBOX "Shaders", -1, 5, 25, 230, 80
+    LTEXT "Enable GLSL", -1, 15, 42, 80, 10
+    COMBOBOX IDC_GLSL, 95, 40, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum GS Level:", -1, 15, 57, 80, 10
+    COMBOBOX IDC_GSLEVEL, 95, 55, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum PS level:", -1, 15, 72, 80, 10
+    COMBOBOX IDC_PSLEVEL, 95, 70, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum VS Level:", -1, 15, 87, 80, 10
+    COMBOBOX IDC_VSLEVEL, 95, 85, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    GROUPBOX "Rendering", -1, 5, 110, 230, 110
+    LTEXT "Multisampling:", -1, 15, 127, 80, 10
+    COMBOBOX IDC_MULTISAMPLING, 95, 125, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Strict draw ordering:", -1, 15, 142, 80, 10
+    COMBOBOX IDC_STRICTDRAWORDERING, 95, 140, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
     LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10
-    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
-    LTEXT "Render target locking:", -1, 15, 175, 72, 10, SS_LEFT
-    COMBOBOX IDC_LOCKING, 95, 173, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Always offscreen:", -1, 15, 172, 72, 10, SS_LEFT
+    COMBOBOX IDC_ALWAYSOFFSCREEN, 95, 170, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Video memory size:", -1, 15, 187, 72, 10, SS_LEFT
+    COMBOBOX IDC_VIDMEMSIZE, 95, 185, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "DirectDraw Renderer:", -1, 15, 202, 72, 10, SS_LEFT
+    COMBOBOX IDC_DDRENDERER, 95, 200, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
 END
 
 STRINGTABLE
index a6fde23..3a6a5f3 100644 (file)
@@ -11,18 +11,29 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Ogólne"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 21, 20
-    GROUPBOX "Cieniowanie", -1, 5, 35, 230, 65
-    AUTOCHECKBOX "Włącz &GLSL", IDC_GLSL, 15, 50, 150, 10
-    AUTOCHECKBOX "Włącz cieniowanie &pikseli", IDC_PIXELSHADERS, 15, 65, 150, 10
-    AUTOCHECKBOX "Włącz cieniowanie &werteksów", IDC_VERTEXSHADERS, 15, 80, 150, 10
-    GROUPBOX "Renderowanie", -1, 5, 110, 230, 85
-    AUTOCHECKBOX "Wymuś &multipróbkowanie", IDC_MULTISAMPLING, 15, 125, 150, 10
-    AUTOCHECKBOX "Wymuś &strict draw ordering", IDC_STRICTDRAWORDERING, 15, 140, 150, 10
-    LTEXT "Renderowanie pozaekranowe:", -1, 15, 157, 80, 10
-    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
-    LTEXT "Blokowanie renderowanego obiektu:", -1, 15, 175, 72, 10, SS_LEFT
-    COMBOBOX IDC_LOCKING, 95, 173, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    ICON IDI_CPLICON, IDI_CPLICON, 8, 0, 21, 20
+    GROUPBOX "Shaders", -1, 5, 25, 230, 80
+    LTEXT "Enable GLSL", -1, 15, 42, 80, 10
+    COMBOBOX IDC_GLSL, 95, 40, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum GS Level:", -1, 15, 57, 80, 10
+    COMBOBOX IDC_GSLEVEL, 95, 55, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum PS level:", -1, 15, 72, 80, 10
+    COMBOBOX IDC_PSLEVEL, 95, 70, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum VS Level:", -1, 15, 87, 80, 10
+    COMBOBOX IDC_VSLEVEL, 95, 85, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    GROUPBOX "Rendering", -1, 5, 110, 230, 110
+    LTEXT "Multisampling:", -1, 15, 127, 80, 10
+    COMBOBOX IDC_MULTISAMPLING, 95, 125, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Strict draw ordering:", -1, 15, 142, 80, 10
+    COMBOBOX IDC_STRICTDRAWORDERING, 95, 140, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10
+    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Always offscreen:", -1, 15, 172, 72, 10, SS_LEFT
+    COMBOBOX IDC_ALWAYSOFFSCREEN, 95, 170, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Video memory size:", -1, 15, 187, 72, 10, SS_LEFT
+    COMBOBOX IDC_VIDMEMSIZE, 95, 185, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "DirectDraw Renderer:", -1, 15, 202, 72, 10, SS_LEFT
+    COMBOBOX IDC_DDRENDERER, 95, 200, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
 END
 
 STRINGTABLE
index 6847099..f778b43 100644 (file)
@@ -7,18 +7,29 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Generale"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 21, 20
-    GROUPBOX "Shader", -1, 5, 35, 230, 65
-    AUTOCHECKBOX "Activează &GLSL", IDC_GLSL, 15, 50, 150, 10
-    AUTOCHECKBOX "Activează &Pixel shader", IDC_PIXELSHADERS, 15, 65, 150, 10
-    AUTOCHECKBOX "Activează &Vertex shader", IDC_VERTEXSHADERS, 15, 80, 150, 10
-    GROUPBOX "Redare", -1, 5, 110, 230, 85
-    AUTOCHECKBOX "Impune &multisampling", IDC_MULTISAMPLING, 15, 125, 150, 10
-    AUTOCHECKBOX "Impune &ordine strictă de desenare", IDC_STRICTDRAWORDERING, 15, 140, 150, 10
-    LTEXT "Redă extra-ecran (offscreen):", -1, 15, 157, 100, 10
-    COMBOBOX IDC_OFFSCREEN, 120, 155, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
-    LTEXT "Redă fixarea țintei:", -1, 15, 175, 100, 10, SS_LEFT
-    COMBOBOX IDC_LOCKING, 120, 173, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    ICON IDI_CPLICON, IDI_CPLICON, 8, 0, 21, 20
+    GROUPBOX "Shaders", -1, 5, 25, 230, 80
+    LTEXT "Enable GLSL", -1, 15, 42, 80, 10
+    COMBOBOX IDC_GLSL, 95, 40, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum GS Level:", -1, 15, 57, 80, 10
+    COMBOBOX IDC_GSLEVEL, 95, 55, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum PS level:", -1, 15, 72, 80, 10
+    COMBOBOX IDC_PSLEVEL, 95, 70, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum VS Level:", -1, 15, 87, 80, 10
+    COMBOBOX IDC_VSLEVEL, 95, 85, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    GROUPBOX "Rendering", -1, 5, 110, 230, 110
+    LTEXT "Multisampling:", -1, 15, 127, 80, 10
+    COMBOBOX IDC_MULTISAMPLING, 95, 125, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Strict draw ordering:", -1, 15, 142, 80, 10
+    COMBOBOX IDC_STRICTDRAWORDERING, 95, 140, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10
+    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Always offscreen:", -1, 15, 172, 72, 10, SS_LEFT
+    COMBOBOX IDC_ALWAYSOFFSCREEN, 95, 170, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Video memory size:", -1, 15, 187, 72, 10, SS_LEFT
+    COMBOBOX IDC_VIDMEMSIZE, 95, 185, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "DirectDraw Renderer:", -1, 15, 202, 72, 10, SS_LEFT
+    COMBOBOX IDC_DDRENDERER, 95, 200, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
 END
 
 STRINGTABLE
index e09398b..7a91a0a 100644 (file)
@@ -9,18 +9,29 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Përgjithshëm"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 21, 20
-    GROUPBOX "Strehë", -1, 5, 35, 230, 65
-    AUTOCHECKBOX "Mundëso &GLSL", IDC_GLSL, 15, 50, 150, 10
-    AUTOCHECKBOX "Mundëso &pixel Strehë", IDC_PIXELSHADERS, 15, 65, 150, 10
-    AUTOCHECKBOX "Mundëso &Vertex Strehë", IDC_VERTEXSHADERS, 15, 80, 150, 10
-    GROUPBOX "Përpunim", -1, 5, 110, 230, 85
-    AUTOCHECKBOX "Detyro shumëshembuj", IDC_MULTISAMPLING, 15, 125, 150, 10
-    AUTOCHECKBOX "Detyro urdhër vizatim i rreptë", IDC_STRICTDRAWORDERING, 15, 140, 150, 10
-    LTEXT "Strehë jashekrani:", -1, 15, 157, 80, 10
-    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
-    LTEXT "Streho mbylljen objektivit:", -1, 15, 175, 72, 10, SS_LEFT
-    COMBOBOX IDC_LOCKING, 95, 173, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    ICON IDI_CPLICON, IDI_CPLICON, 8, 0, 21, 20
+    GROUPBOX "Shaders", -1, 5, 25, 230, 80
+    LTEXT "Enable GLSL", -1, 15, 42, 80, 10
+    COMBOBOX IDC_GLSL, 95, 40, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum GS Level:", -1, 15, 57, 80, 10
+    COMBOBOX IDC_GSLEVEL, 95, 55, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum PS level:", -1, 15, 72, 80, 10
+    COMBOBOX IDC_PSLEVEL, 95, 70, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum VS Level:", -1, 15, 87, 80, 10
+    COMBOBOX IDC_VSLEVEL, 95, 85, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    GROUPBOX "Rendering", -1, 5, 110, 230, 110
+    LTEXT "Multisampling:", -1, 15, 127, 80, 10
+    COMBOBOX IDC_MULTISAMPLING, 95, 125, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Strict draw ordering:", -1, 15, 142, 80, 10
+    COMBOBOX IDC_STRICTDRAWORDERING, 95, 140, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10
+    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Always offscreen:", -1, 15, 172, 72, 10, SS_LEFT
+    COMBOBOX IDC_ALWAYSOFFSCREEN, 95, 170, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Video memory size:", -1, 15, 187, 72, 10, SS_LEFT
+    COMBOBOX IDC_VIDMEMSIZE, 95, 185, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "DirectDraw Renderer:", -1, 15, 202, 72, 10, SS_LEFT
+    COMBOBOX IDC_DDRENDERER, 95, 200, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
 END
 
 STRINGTABLE
index 8f70b55..b5c4b1c 100644 (file)
@@ -7,18 +7,29 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
 CAPTION "Umûmî"
 FONT 8, "MS Shell Dlg"
 BEGIN
-    ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 21, 20
-    GROUPBOX "Shaderler", -1, 5, 35, 230, 65
-    AUTOCHECKBOX "&GLSL'yi Etkinleştir", IDC_GLSL, 15, 50, 150, 10
-    AUTOCHECKBOX "&Nokta Shaderleri Etkinleştir", IDC_PIXELSHADERS, 15, 65, 150, 10
-    AUTOCHECKBOX "&Doruk Shaderleri Etkinleştir", IDC_VERTEXSHADERS, 15, 80, 150, 10
-    GROUPBOX "Renderleme", -1, 5, 110, 230, 85
-    AUTOCHECKBOX "&Örtüşme Önlemeyi Zorla", IDC_MULTISAMPLING, 15, 125, 150, 10
-    AUTOCHECKBOX "&Strict Draw Orderleme'yi Zorla", IDC_STRICTDRAWORDERING, 15, 140, 150, 10
-    LTEXT "&Ekran Dışı Renderleme:", -1, 15, 157, 80, 10
-    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
-    LTEXT "&Render Hedef Kilitlenmesi:", -1, 15, 175, 72, 10, SS_LEFT
-    COMBOBOX IDC_LOCKING, 95, 173, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    ICON IDI_CPLICON, IDI_CPLICON, 8, 0, 21, 20
+    GROUPBOX "Shaders", -1, 5, 25, 230, 80
+    LTEXT "Enable GLSL", -1, 15, 42, 80, 10
+    COMBOBOX IDC_GLSL, 95, 40, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum GS Level:", -1, 15, 57, 80, 10
+    COMBOBOX IDC_GSLEVEL, 95, 55, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum PS level:", -1, 15, 72, 80, 10
+    COMBOBOX IDC_PSLEVEL, 95, 70, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Maximum VS Level:", -1, 15, 87, 80, 10
+    COMBOBOX IDC_VSLEVEL, 95, 85, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    GROUPBOX "Rendering", -1, 5, 110, 230, 110
+    LTEXT "Multisampling:", -1, 15, 127, 80, 10
+    COMBOBOX IDC_MULTISAMPLING, 95, 125, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Strict draw ordering:", -1, 15, 142, 80, 10
+    COMBOBOX IDC_STRICTDRAWORDERING, 95, 140, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10
+    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Always offscreen:", -1, 15, 172, 72, 10, SS_LEFT
+    COMBOBOX IDC_ALWAYSOFFSCREEN, 95, 170, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "Video memory size:", -1, 15, 187, 72, 10, SS_LEFT
+    COMBOBOX IDC_VIDMEMSIZE, 95, 185, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
+    LTEXT "DirectDraw Renderer:", -1, 15, 202, 72, 10, SS_LEFT
+    COMBOBOX IDC_DDRENDERER, 95, 200, 90, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
 END
 
 STRINGTABLE
index 60cda83..317db43 100644 (file)
@@ -7,13 +7,18 @@
 #define IDD_PROPPAGEGENERAL 100
 
 /* Controls */
-#define IDC_PIXELSHADERS       1001
-#define IDC_GLSL               1002
-#define IDC_VERTEXSHADERS      1003
-#define IDC_MULTISAMPLING      1004
-#define IDC_STRICTDRAWORDERING 1005
-#define IDC_OFFSCREEN          1006
-#define IDC_LOCKING            1007
+#define IDC_MIN                1000
+#define IDC_GLSL               1001
+#define IDC_GSLEVEL            1002
+#define IDC_PSLEVEL            1003
+#define IDC_VSLEVEL            1004
+#define IDC_MULTISAMPLING      1005
+#define IDC_STRICTDRAWORDERING 1006
+#define IDC_OFFSCREEN          1007
+#define IDC_VIDMEMSIZE         1008
+#define IDC_ALWAYSOFFSCREEN    1009
+#define IDC_DDRENDERER         1010
+#define IDC_MAX                1011
 
 /* Strings */
 #define IDS_CPLNAME        10000
index 5293d66..350e34d 100644 (file)
@@ -2,7 +2,6 @@
 #define _WINED3DCFG_PCH_
 
 #include <stdarg.h>
-
 #define WIN32_NO_STATUS
 #include <windef.h>
 #include <winbase.h>
 
 #define MAX_KEY_LENGTH 256
 
-#define ITEM_FBO                  0
-#define ITEM_BACKBUFFER           1
-
-#define ITEM_READTEX              0
-#define ITEM_READDRAW             1
-#define ITEM_DISABLED             2
-
-#define VALUE_READTEX              L"readtex"
-#define VALUE_READDRAW             L"readdraw"
+#define VALUE_GDI                  L"gdi"
 #define VALUE_ENABLED              L"enabled"
 #define VALUE_DISABLED             L"disabled"
 #define VALUE_NONE                 L"none"
 #define VALUE_BACKBUFFER           L"backbuffer"
 #define VALUE_FBO                  L"fbo"
+#define VALUE_DEFAULT              L"default"
 
 #define KEY_WINE                  L"Software\\Wine\\Direct3D"
 
 #define KEY_GLSL                  L"UseGLSL"
-#define KEY_VERTEXSHADERS         L"VertexShaderMode"
-#define KEY_PIXELSHADERS          L"PixelShaderMode"
+#define KEY_GSLEVEL               L"MaxShaderModelGS"
+#define KEY_VSLEVEL               L"MaxShaderModelVS"
+#define KEY_PSLEVEL               L"MaxShaderModelPS"
 #define KEY_STRICTDRAWORDERING    L"StrictDrawOrdering"
 #define KEY_OFFSCREEN             L"OffscreenRenderingMode"
 #define KEY_MULTISAMPLING         L"Multisampling"
-#define KEY_LOCKING               L"RenderTargetLockMode"
+#define KEY_VIDMEMSIZE            L"VideoMemorySize"
+#define KEY_ALWAYSOFFSCREEN       L"AlwaysOffscreen"
+#define KEY_DDRENDERER            L"DirectDrawRenderer"
+
+#define INIT_CONTROL(a, b) InitControl(hWndDlg, hKey, KEY_##a, b, IDC_##a, sizeof(b)/sizeof(WINED3D_SETTINGS))
+#define SAVE_CONTROL(a, b) SaveSetting(hWndDlg, hKey, KEY_##a, b, IDC_##a, sizeof(b)/sizeof(WINED3D_SETTINGS))
 
 INT_PTR CALLBACK GeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
 
+typedef struct _WINED3D_SETTINGS{
+    WCHAR szValue[24];
+    INT iType;
+    INT iValue;
+} WINED3D_SETTINGS, *PWINED3D_SETTINGS;
+
 #endif /* _WINED3DCFG_PCH_ */