diff --git a/programs/winecfg/Bg.rc b/programs/winecfg/Bg.rc index b3634579fec..82641606126 100644 --- a/programs/winecfg/Bg.rc +++ b/programs/winecfg/Bg.rc @@ -232,3 +232,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Use global settings" IDS_SELECT_EXECUTABLE "Select an executable file" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/De.rc b/programs/winecfg/De.rc index 0c8fcaa84ad..bc6489d8e16 100644 --- a/programs/winecfg/De.rc +++ b/programs/winecfg/De.rc @@ -230,3 +230,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Globale Einstellung benutzen" IDS_SELECT_EXECUTABLE "Ausführbares Programm auswählen" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "Aus" + IDS_SHADER_MODE_EMULATION "Emuliert" +END diff --git a/programs/winecfg/En.rc b/programs/winecfg/En.rc index 157d72733cd..fc6799e3a37 100644 --- a/programs/winecfg/En.rc +++ b/programs/winecfg/En.rc @@ -232,6 +232,13 @@ BEGIN IDS_SELECT_EXECUTABLE "Select an executable file" END +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END + /****************************************************************/ /* English neutral resources /****************************************************************/ diff --git a/programs/winecfg/Es.rc b/programs/winecfg/Es.rc index ba3fd9227f1..841d0e37b89 100644 --- a/programs/winecfg/Es.rc +++ b/programs/winecfg/Es.rc @@ -226,3 +226,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Use global settings" IDS_SELECT_EXECUTABLE "Select an executable file" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/Fi.rc b/programs/winecfg/Fi.rc index 3eedd2f7c97..a98d2437666 100644 --- a/programs/winecfg/Fi.rc +++ b/programs/winecfg/Fi.rc @@ -229,3 +229,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Use global settings" IDS_SELECT_EXECUTABLE "Select an executable file" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/Fr.rc b/programs/winecfg/Fr.rc index 53203110a37..0bd019da4c1 100644 --- a/programs/winecfg/Fr.rc +++ b/programs/winecfg/Fr.rc @@ -230,3 +230,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Use global settings" IDS_SELECT_EXECUTABLE "Select an executable file" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/Hu.rc b/programs/winecfg/Hu.rc index 7b0db4e9f8d..fd8d652fb7c 100644 --- a/programs/winecfg/Hu.rc +++ b/programs/winecfg/Hu.rc @@ -226,3 +226,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Use global settings" IDS_SELECT_EXECUTABLE "Select an executable file" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/Ja.rc b/programs/winecfg/Ja.rc index bab525095e0..e9b26c61dac 100644 --- a/programs/winecfg/Ja.rc +++ b/programs/winecfg/Ja.rc @@ -224,3 +224,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Use global settings" IDS_SELECT_EXECUTABLE "Select an executable file" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/Ko.rc b/programs/winecfg/Ko.rc index 9e6e1efa1ea..98ba59ac97f 100644 --- a/programs/winecfg/Ko.rc +++ b/programs/winecfg/Ko.rc @@ -233,3 +233,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Àüü ¼³Á¤ »ç¿ë" IDS_SELECT_EXECUTABLE "½ÇÇà ÆÄÀÏ ¼±ÅÃ" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/Nl.rc b/programs/winecfg/Nl.rc index 8cd1fc10139..e6c9568cc3e 100644 --- a/programs/winecfg/Nl.rc +++ b/programs/winecfg/Nl.rc @@ -231,3 +231,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Use global settings" IDS_SELECT_EXECUTABLE "Select an executable file" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/No.rc b/programs/winecfg/No.rc index 00c2788c257..39370a402ad 100644 --- a/programs/winecfg/No.rc +++ b/programs/winecfg/No.rc @@ -229,3 +229,10 @@ END IDS_USE_GLOBAL_SETTINGS "Bruk globale innstillinger" IDS_SELECT_EXECUTABLE "Velg en programfil" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/Ru.rc b/programs/winecfg/Ru.rc index dae05b77696..5ea813879fe 100644 --- a/programs/winecfg/Ru.rc +++ b/programs/winecfg/Ru.rc @@ -226,3 +226,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Use global settings" IDS_SELECT_EXECUTABLE "Select an executable file" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/Tr.rc b/programs/winecfg/Tr.rc index ad5a8ab1170..9ea2b190643 100644 --- a/programs/winecfg/Tr.rc +++ b/programs/winecfg/Tr.rc @@ -229,3 +229,10 @@ BEGIN IDS_USE_GLOBAL_SETTINGS "Genel ayarlarý kullan" IDS_SELECT_EXECUTABLE "Çalýþtýrýlabilir bir dosya seçin" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "None" + IDS_SHADER_MODE_EMULATION "Emulated" +END diff --git a/programs/winecfg/resource.h b/programs/winecfg/resource.h index 67013c1dd04..5d669620f92 100644 --- a/programs/winecfg/resource.h +++ b/programs/winecfg/resource.h @@ -139,6 +139,9 @@ #define IDC_DOUBLE_BUFFER 1104 #define IDC_D3D_VSHADER_MODE 1105 #define IDC_D3D_PSHADER_MODE 1106 +#define IDS_SHADER_MODE_HARDWARE 8100 +#define IDS_SHADER_MODE_NONE 8101 +#define IDS_SHADER_MODE_EMULATION 8102 /* applications tab */ #define IDC_APP_LISTVIEW 1200 diff --git a/programs/winecfg/x11drvdlg.c b/programs/winecfg/x11drvdlg.c index f90b12019e2..c02938f9a06 100644 --- a/programs/winecfg/x11drvdlg.c +++ b/programs/winecfg/x11drvdlg.c @@ -38,11 +38,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(winecfg); #define RES_MAXLEN 5 /* the maximum number of characters in a screen dimension. 5 digits should be plenty, what kind of crazy person runs their screen >10,000 pixels across? */ -static const char* D3D_VS_Modes[] = { - "hardware", - "none", - "emulation", - NULL +static struct SHADERMODE +{ + UINT displayStrID; + const char* settingStr; +} const D3D_VS_Modes[] = { + {IDS_SHADER_MODE_HARDWARE, "hardware"}, + {IDS_SHADER_MODE_EMULATION, "emulation"}, + {IDS_SHADER_MODE_NONE, "none"}, + {0, 0} }; @@ -145,17 +149,18 @@ static void init_dialog(HWND dialog) HeapFree(GetProcessHeap(), 0, buf); SendDlgItemMessage(dialog, IDC_D3D_VSHADER_MODE, CB_RESETCONTENT, 0, 0); - for (it = 0; NULL != D3D_VS_Modes[it]; ++it) { - SendDlgItemMessage(dialog, IDC_D3D_VSHADER_MODE, CB_ADDSTRING, 0, (LPARAM) D3D_VS_Modes[it]); + for (it = 0; 0 != D3D_VS_Modes[it].displayStrID; ++it) { + SendDlgItemMessageW (dialog, IDC_D3D_VSHADER_MODE, CB_ADDSTRING, 0, + (LPARAM)load_string (D3D_VS_Modes[it].displayStrID)); } buf = get_reg_key(config_key, keypath("Direct3D"), "VertexShaderMode", "hardware"); - for (it = 0; NULL != D3D_VS_Modes[it]; ++it) { - if (strcmp(buf, D3D_VS_Modes[it]) == 0) { + for (it = 0; NULL != D3D_VS_Modes[it].settingStr; ++it) { + if (strcmp(buf, D3D_VS_Modes[it].settingStr) == 0) { SendDlgItemMessage(dialog, IDC_D3D_VSHADER_MODE, CB_SETCURSEL, it, 0); break ; } } - if (NULL == D3D_VS_Modes[it]) { + if (NULL == D3D_VS_Modes[it].settingStr) { WINE_ERR("Invalid Direct3D VertexShader Mode read from registry (%s)\n", buf); } HeapFree(GetProcessHeap(), 0, buf); @@ -238,7 +243,8 @@ static void on_double_buffer_clicked(HWND dialog) { static void on_d3d_vshader_mode_changed(HWND dialog) { int selected_mode = SendDlgItemMessage(dialog, IDC_D3D_VSHADER_MODE, CB_GETCURSEL, 0, 0); - set_reg_key(config_key, keypath("Direct3D"), "VertexShaderMode", D3D_VS_Modes[selected_mode]); + set_reg_key(config_key, keypath("Direct3D"), "VertexShaderMode", + D3D_VS_Modes[selected_mode].settingStr); } static void on_d3d_pshader_mode_clicked(HWND dialog) {