|
|
@ -0,0 +1,326 @@ |
|
|
|
diff -Burp a/programs/winecfg/about.c b/programs/winecfg/about.c
|
|
|
|
--- a/programs/winecfg/about.c 2018-04-27 21:52:34.925054200 +0300
|
|
|
|
+++ b/programs/winecfg/about.c 2018-04-27 22:24:01.726867598 +0300
|
|
|
|
@@ -5,6 +5,7 @@
|
|
|
|
* Copyright 2003 Dimitrie O. Paun |
|
|
|
* Copyright 2003 Mike Hearn |
|
|
|
* Copyright 2010 Joel Holdsworth |
|
|
|
+ * Copyright 2018 Pekka Helenius
|
|
|
|
* |
|
|
|
* This library is free software; you can redistribute it and/or |
|
|
|
* modify it under the terms of the GNU Lesser General Public |
|
|
|
@@ -30,6 +31,11 @@
|
|
|
|
#include <commctrl.h> |
|
|
|
#include <shellapi.h> |
|
|
|
|
|
|
|
+#include <unistd.h>
|
|
|
|
+#include <stdlib.h>
|
|
|
|
+#include <string.h>
|
|
|
|
+#include <stdio.h>
|
|
|
|
+
|
|
|
|
#include "resource.h" |
|
|
|
#include "winecfg.h" |
|
|
|
|
|
|
|
@@ -44,6 +50,26 @@ AboutDlgProc (HWND hDlg, UINT uMsg, WPAR
|
|
|
|
HDC hDC; |
|
|
|
RECT rcClient, rcRect; |
|
|
|
char *owner, *org; |
|
|
|
+ char *prefixpath, *token, *length, *prefixdir;
|
|
|
|
+ char *home, *defaultdir;
|
|
|
|
+ char *arch_title, *prefix_title, *arch;
|
|
|
|
+
|
|
|
|
+ prefixpath = wine_get_config_dir();
|
|
|
|
+
|
|
|
|
+ token = strrchr(prefixpath, '/');
|
|
|
|
+ length = strlen(token);
|
|
|
|
+ prefixdir = malloc(length);
|
|
|
|
+ memcpy(prefixdir, token+1, length);
|
|
|
|
+
|
|
|
|
+ home = getenv("HOME");
|
|
|
|
+ defaultdir = malloc(strlen(home) + strlen("/.wine") + 1);
|
|
|
|
+
|
|
|
|
+ memcpy(defaultdir, home, strlen(home));
|
|
|
|
+ memcpy(defaultdir + strlen(home), "/.wine", strlen("/.wine") + 1);
|
|
|
|
+
|
|
|
|
+ if(strcmp(prefixpath,defaultdir) == 0) {
|
|
|
|
+ prefixdir = "Default";
|
|
|
|
+ }
|
|
|
|
|
|
|
|
switch (uMsg) |
|
|
|
{ |
|
|
|
@@ -71,8 +97,16 @@ AboutDlgProc (HWND hDlg, UINT uMsg, WPAR
|
|
|
|
|
|
|
|
case NM_CLICK: |
|
|
|
case NM_RETURN: |
|
|
|
- if(wParam == IDC_ABT_WEB_LINK)
|
|
|
|
+ if(wParam == IDC_ABT_WEB_LINK) {
|
|
|
|
ShellExecuteA(NULL, "open", PACKAGE_URL, NULL, NULL, SW_SHOW); |
|
|
|
+ }
|
|
|
|
+ else if(wParam == IDC_ABT_PREFIX) {
|
|
|
|
+
|
|
|
|
+ /* prepare unix command for opening prefixdir */
|
|
|
|
+ char *openfilemgr = malloc(strlen("xdg-open") + strlen(prefixpath) + 1);
|
|
|
|
+ sprintf(openfilemgr, "%s %s", "xdg-open", prefixpath);
|
|
|
|
+ system(openfilemgr);
|
|
|
|
+ }
|
|
|
|
break; |
|
|
|
} |
|
|
|
break; |
|
|
|
@@ -90,11 +124,38 @@ AboutDlgProc (HWND hDlg, UINT uMsg, WPAR
|
|
|
|
SetDlgItemTextA(hDlg, IDC_ABT_OWNER, owner); |
|
|
|
SetDlgItemTextA(hDlg, IDC_ABT_ORG, org); |
|
|
|
|
|
|
|
+ /* read architecture info from registry */
|
|
|
|
+ arch = get_reg_key(HKEY_LOCAL_MACHINE, "System\\CurrentControlSet\\Control\\Session Manager\\Environment",
|
|
|
|
+ "PROCESSOR_ARCHITECTURE", "");
|
|
|
|
+
|
|
|
|
+ if(strcmp(arch,"AMD64") == 0) {
|
|
|
|
+ arch = "64-bit";
|
|
|
|
+ }
|
|
|
|
+ else if(strcmp(arch,"x86") == 0) {
|
|
|
|
+ arch = "32-bit";
|
|
|
|
+ } else {
|
|
|
|
+ arch = "Undefined";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ SetDlgItemTextA(hDlg, IDC_ABT_ARCH, arch);
|
|
|
|
+
|
|
|
|
+ arch_title = "Architecture:";
|
|
|
|
+ prefix_title = "Prefix:";
|
|
|
|
+
|
|
|
|
+ SetDlgItemTextA(hDlg, IDC_ABT_ARCH_TITLE, arch_title);
|
|
|
|
+ SetDlgItemTextA(hDlg, IDC_ABT_PREFIX_TITLE, prefix_title);
|
|
|
|
+
|
|
|
|
SendMessageW(GetParent(hDlg), PSM_UNCHANGED, 0, 0); |
|
|
|
|
|
|
|
HeapFree(GetProcessHeap(), 0, owner); |
|
|
|
HeapFree(GetProcessHeap(), 0, org); |
|
|
|
|
|
|
|
+ /* prepare prefix link text */
|
|
|
|
+ char *openprefix;
|
|
|
|
+ openprefix = malloc(strlen(prefixdir) + 1);
|
|
|
|
+ sprintf(openprefix, "<a> %s </a>", prefixdir);
|
|
|
|
+ SetDlgItemTextA(hDlg, IDC_ABT_PREFIX, openprefix);
|
|
|
|
+
|
|
|
|
/* prepare the panel */ |
|
|
|
hWnd = GetDlgItem(hDlg, IDC_ABT_PANEL); |
|
|
|
if(hWnd) |
|
|
|
@@ -171,6 +232,10 @@ AboutDlgProc (HWND hDlg, UINT uMsg, WPAR
|
|
|
|
case IDC_ABT_PANEL_TEXT: |
|
|
|
case IDC_ABT_LICENSE_TEXT: |
|
|
|
case IDC_ABT_WEB_LINK: |
|
|
|
+ case IDC_ABT_ARCH:
|
|
|
|
+ case IDC_ABT_PREFIX:
|
|
|
|
+ case IDC_ABT_ARCH_TITLE:
|
|
|
|
+ case IDC_ABT_PREFIX_TITLE:
|
|
|
|
SetBkColor((HDC)wParam, GetSysColor(COLOR_WINDOW)); |
|
|
|
return (INT_PTR)CreateSolidBrush(GetSysColor(COLOR_WINDOW)); |
|
|
|
} |
|
|
|
Binary files a/programs/winecfg/about.o and b/programs/winecfg/about.o differ |
|
|
|
Binary files a/programs/winecfg/appdefaults.o and b/programs/winecfg/appdefaults.o differ |
|
|
|
Binary files a/programs/winecfg/audio.o and b/programs/winecfg/audio.o differ |
|
|
|
Binary files a/programs/winecfg/drive.o and b/programs/winecfg/drive.o differ |
|
|
|
Binary files a/programs/winecfg/drivedetect.o and b/programs/winecfg/drivedetect.o differ |
|
|
|
Binary files a/programs/winecfg/driveui.o and b/programs/winecfg/driveui.o differ |
|
|
|
Binary files a/programs/winecfg/libraries.o and b/programs/winecfg/libraries.o differ |
|
|
|
Binary files a/programs/winecfg/main.o and b/programs/winecfg/main.o differ |
|
|
|
diff -Burp a/programs/winecfg/resource.h b/programs/winecfg/resource.h
|
|
|
|
--- a/programs/winecfg/resource.h 2018-04-27 21:52:34.937058231 +0300
|
|
|
|
+++ b/programs/winecfg/resource.h 2018-04-27 22:25:07.042889774 +0300
|
|
|
|
@@ -6,6 +6,7 @@
|
|
|
|
* Copyright 2003 Mark Westcott |
|
|
|
* Copyright 2004 Mike Hearn |
|
|
|
* Copyright 2005 Raphael Junqueira |
|
|
|
+ * Copyright 2018 Pekka Helenius
|
|
|
|
* |
|
|
|
* This library is free software; you can redistribute it and/or |
|
|
|
* modify it under the terms of the GNU Lesser General Public |
|
|
|
@@ -218,6 +219,9 @@
|
|
|
|
#define IDC_ENABLE_EAX 9003 |
|
|
|
#define IDC_ENABLE_HIDEWINE 9004 |
|
|
|
#define IDC_ENABLE_GTK3 9005 |
|
|
|
+#define IDC_DISABLE_GLSL 9006
|
|
|
|
+#define IDC_MULTISAMPLING 9007
|
|
|
|
+#define IDC_FLOATCONSTS 9008
|
|
|
|
|
|
|
|
/* About tab */ |
|
|
|
#define IDC_ABT_OWNER 8432 |
|
|
|
@@ -227,3 +231,7 @@
|
|
|
|
#define IDC_ABT_TITLE_TEXT 8436 |
|
|
|
#define IDC_ABT_WEB_LINK 8437 |
|
|
|
#define IDC_ABT_LICENSE_TEXT 8438 |
|
|
|
+#define IDC_ABT_ARCH 8439
|
|
|
|
+#define IDC_ABT_PREFIX 8440
|
|
|
|
+#define IDC_ABT_ARCH_TITLE 8441
|
|
|
|
+#define IDC_ABT_PREFIX_TITLE 8442
|
|
|
|
diff -Burp a/programs/winecfg/staging.c b/programs/winecfg/staging.c
|
|
|
|
--- a/programs/winecfg/staging.c 2018-04-27 21:52:34.937058231 +0300
|
|
|
|
+++ b/programs/winecfg/staging.c 2018-04-27 22:43:34.523541838 +0300
|
|
|
|
@@ -121,6 +121,47 @@ static void gtk3_set(BOOL status)
|
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
+static BOOL glsl_get(void)
|
|
|
|
+{
|
|
|
|
+ BOOL ret;
|
|
|
|
+ char *value = get_reg_key(config_key, keypath("Direct3D"), "UseGLSL", "enabled");
|
|
|
|
+ ret = (value && !strcmp(value, "disabled"));
|
|
|
|
+ HeapFree(GetProcessHeap(), 0, value);
|
|
|
|
+ return ret;
|
|
|
|
+}
|
|
|
|
+static void glsl_set(BOOL status)
|
|
|
|
+{
|
|
|
|
+ set_reg_key(config_key, keypath("Direct3D"), "UseGLSL", status ? "disabled" : "enabled");
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static BOOL msampl_get(void)
|
|
|
|
+{
|
|
|
|
+ BOOL ret;
|
|
|
|
+ char *value = get_reg_key(config_key, keypath("Direct3D"), "Multisampling", "enabled");
|
|
|
|
+ ret = (value && !strcmp(value, "disabled"));
|
|
|
|
+ HeapFree(GetProcessHeap(), 0, value);
|
|
|
|
+ return ret;
|
|
|
|
+}
|
|
|
|
+static void msampl_set(BOOL status)
|
|
|
|
+{
|
|
|
|
+ set_reg_key(config_key, keypath("Direct3D"), "Multisampling", status ? "disabled" : "enabled");
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static BOOL fconsts_get(void)
|
|
|
|
+{
|
|
|
|
+ BOOL ret;
|
|
|
|
+ char *value = get_reg_key(config_key, keypath("Direct3D"), "CheckFloatConstants", "disabled");
|
|
|
|
+ ret = (value && !strcmp(value, "enabled"));
|
|
|
|
+ HeapFree(GetProcessHeap(), 0, value);
|
|
|
|
+ return ret;
|
|
|
|
+}
|
|
|
|
+static void fconsts_set(BOOL status)
|
|
|
|
+{
|
|
|
|
+ set_reg_key(config_key, keypath("Direct3D"), "CheckFloatConstants", status ? "enabled" : "disabled");
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
static void load_staging_settings(HWND dialog) |
|
|
|
{ |
|
|
|
CheckDlgButton(dialog, IDC_ENABLE_CSMT, csmt_get() ? BST_CHECKED : BST_UNCHECKED); |
|
|
|
@@ -128,6 +169,52 @@ static void load_staging_settings(HWND d
|
|
|
|
CheckDlgButton(dialog, IDC_ENABLE_EAX, eax_get() ? BST_CHECKED : BST_UNCHECKED); |
|
|
|
CheckDlgButton(dialog, IDC_ENABLE_HIDEWINE, hidewine_get() ? BST_CHECKED : BST_UNCHECKED); |
|
|
|
CheckDlgButton(dialog, IDC_ENABLE_GTK3, gtk3_get() ? BST_CHECKED : BST_UNCHECKED); |
|
|
|
+ CheckDlgButton(dialog, IDC_DISABLE_GLSL, glsl_get() ? BST_CHECKED : BST_UNCHECKED);
|
|
|
|
+ CheckDlgButton(dialog, IDC_MULTISAMPLING, msampl_get() ? BST_CHECKED : BST_UNCHECKED);
|
|
|
|
+ CheckDlgButton(dialog, IDC_FLOATCONSTS, fconsts_get() ? BST_CHECKED : BST_UNCHECKED);
|
|
|
|
+
|
|
|
|
+ /* TODO
|
|
|
|
+
|
|
|
|
+ DirectDrawRenderer (Direct3D) COMBOBOX
|
|
|
|
+ Values [gdi, opengl]
|
|
|
|
+ Default: opengl
|
|
|
|
+ Human-readable equivalents are GDI, OpenGL
|
|
|
|
+ Label: DirectDraw Renderer
|
|
|
|
+
|
|
|
|
+ MaxVersionGL (Direct3D) COMBOBOX
|
|
|
|
+ Values: [4.5, 3.2, 1.0]
|
|
|
|
+ Equal DWORD values are 40005 30002 10000
|
|
|
|
+ Default: 1.0
|
|
|
|
+ Label: OpenGL Version
|
|
|
|
+
|
|
|
|
+ OffscreenRenderingMode (Direct3D) COMBOBOX
|
|
|
|
+ Values: [fbo, backbuffer]
|
|
|
|
+ Default: fbo
|
|
|
|
+ Human-readable equivalents are FBO, Backbuffer
|
|
|
|
+ Label: Offscreen Rendering
|
|
|
|
+
|
|
|
|
+ VideoMemorySize (Direct3D) COMBOBOX
|
|
|
|
+ Values: [8192, 4096, 3072, 2048, 1024, 768, 512, 384, 256, 128, 64, 32]
|
|
|
|
+ Default: Not specified (this registry value doesn't exist)
|
|
|
|
+ Label: Video Memory (MiB)
|
|
|
|
+
|
|
|
|
+ MouseWarpOverride (DirectInput) COMBOBOX
|
|
|
|
+ Values: [enable, disable, force]
|
|
|
|
+ Default: enable
|
|
|
|
+ Human-readable equivalents are Enable, Disable, Force
|
|
|
|
+ Label: Mouse Warp
|
|
|
|
+
|
|
|
|
+ ShowCrashDialog (WineDbg)
|
|
|
|
+ yes/no checkbtn
|
|
|
|
+ Default: show dialogs
|
|
|
|
+ Label: Hide Wine crash dialog
|
|
|
|
+
|
|
|
|
+ ForceRefreshRate (DirectDraw) input value
|
|
|
|
+ Value: User input (only integers allowed, max value is 120, min value is 1)
|
|
|
|
+ Default: Not specified (this registry value doesn't exist)
|
|
|
|
+ Label: DirectDraw Refresh Rate
|
|
|
|
+
|
|
|
|
+ */
|
|
|
|
|
|
|
|
#ifndef HAVE_VAAPI |
|
|
|
disable(IDC_ENABLE_VAAPI); |
|
|
|
@@ -180,6 +267,18 @@ INT_PTR CALLBACK StagingDlgProc(HWND hDl
|
|
|
|
gtk3_set(IsDlgButtonChecked(hDlg, IDC_ENABLE_GTK3) == BST_CHECKED); |
|
|
|
SendMessageW(GetParent(hDlg), PSM_CHANGED, 0, 0); |
|
|
|
return TRUE; |
|
|
|
+ case IDC_DISABLE_GLSL:
|
|
|
|
+ glsl_set(IsDlgButtonChecked(hDlg, IDC_DISABLE_GLSL) == BST_CHECKED);
|
|
|
|
+ SendMessageW(GetParent(hDlg), PSM_CHANGED, 0, 0);
|
|
|
|
+ return TRUE;
|
|
|
|
+ case IDC_MULTISAMPLING:
|
|
|
|
+ msampl_set(IsDlgButtonChecked(hDlg, IDC_MULTISAMPLING) == BST_CHECKED);
|
|
|
|
+ SendMessageW(GetParent(hDlg), PSM_CHANGED, 0, 0);
|
|
|
|
+ return TRUE;
|
|
|
|
+ case IDC_FLOATCONSTS:
|
|
|
|
+ fconsts_set(IsDlgButtonChecked(hDlg, IDC_FLOATCONSTS) == BST_CHECKED);
|
|
|
|
+ SendMessageW(GetParent(hDlg), PSM_CHANGED, 0, 0);
|
|
|
|
+ return TRUE;
|
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
Binary files a/programs/winecfg/staging.o and b/programs/winecfg/staging.o differ |
|
|
|
Binary files a/programs/winecfg/theme.o and b/programs/winecfg/theme.o differ |
|
|
|
Binary files a/programs/winecfg/winecfg.exe.fake and b/programs/winecfg/winecfg.exe.fake differ |
|
|
|
Binary files a/programs/winecfg/winecfg.exe.so and b/programs/winecfg/winecfg.exe.so differ |
|
|
|
Binary files a/programs/winecfg/winecfg.o and b/programs/winecfg/winecfg.o differ |
|
|
|
diff -Burp a/programs/winecfg/winecfg.rc b/programs/winecfg/winecfg.rc
|
|
|
|
--- a/programs/winecfg/winecfg.rc 2018-04-27 21:52:34.937058231 +0300
|
|
|
|
+++ b/programs/winecfg/winecfg.rc 2018-04-27 22:30:51.184369822 +0300
|
|
|
|
@@ -3,6 +3,7 @@
|
|
|
|
* |
|
|
|
* Copyright 2002 Jaco Greeff |
|
|
|
* Copyright 2003 Dimitrie O. Paun |
|
|
|
+ * Copyright 2018 Pekka Helenius
|
|
|
|
* |
|
|
|
* This library is free software; you can redistribute it and/or |
|
|
|
* modify it under the terms of the GNU Lesser General Public |
|
|
|
@@ -135,11 +136,15 @@ STYLE WS_CHILD
|
|
|
|
FONT 8, "MS Shell Dlg" |
|
|
|
BEGIN |
|
|
|
CONTROL "", IDC_ABT_PANEL, "STATIC", SS_OWNERDRAW, 0, 0, 260, 140 |
|
|
|
- LTEXT "",IDC_ABT_TITLE_TEXT,105,30,55,30
|
|
|
|
- LTEXT "",IDC_ABT_PANEL_TEXT,160,43,140,8
|
|
|
|
- CONTROL "",IDC_ABT_WEB_LINK,"SysLink", LWS_TRANSPARENT, 105,53,106,8
|
|
|
|
+ LTEXT "",IDC_ABT_TITLE_TEXT,105,25,55,30
|
|
|
|
+ LTEXT "",IDC_ABT_PANEL_TEXT,160,38,140,8
|
|
|
|
+ LTEXT "", IDC_ABT_ARCH_TITLE, 105, 50, 133, 8
|
|
|
|
+ LTEXT "", IDC_ABT_ARCH, 158, 50, 160, 8
|
|
|
|
+ LTEXT "", IDC_ABT_PREFIX_TITLE, 105, 59, 133, 8
|
|
|
|
+ CONTROL "", IDC_ABT_PREFIX,"SysLink", LWS_TRANSPARENT, 158, 59, 160, 8
|
|
|
|
+ CONTROL "", IDC_ABT_WEB_LINK,"SysLink", LWS_TRANSPARENT, 105,75,106,8
|
|
|
|
LTEXT "This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.", |
|
|
|
- IDC_ABT_LICENSE_TEXT,105,64,145,66
|
|
|
|
+ IDC_ABT_LICENSE_TEXT,105,86,145,50
|
|
|
|
GROUPBOX "Windows registration information", IDC_STATIC, 15, 155, 230, 55 |
|
|
|
LTEXT "&Owner:", IDC_STATIC, 22, 171, 40, 20 |
|
|
|
EDITTEXT IDC_ABT_OWNER, 75, 171, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP |
|
|
|
@@ -320,6 +325,9 @@ BEGIN
|
|
|
|
CONTROL "Enable Environmental Audio E&xtensions (EAX)",IDC_ENABLE_EAX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,70,230,8 |
|
|
|
CONTROL "&Hide Wine version from applications",IDC_ENABLE_HIDEWINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,85,230,8 |
|
|
|
CONTROL "Enable >K3 Theming",IDC_ENABLE_GTK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,100,230,8 |
|
|
|
+ CONTROL "Disable G&LSL Support",IDC_DISABLE_GLSL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,115,230,8
|
|
|
|
+ CONTROL "Disable &Multisampling Support",IDC_MULTISAMPLING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,130,230,8
|
|
|
|
+ CONTROL "Check &Float Constants in D3D shaders",IDC_FLOATCONSTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,145,230,8
|
|
|
|
END |
|
|
|
|
|
|
|
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL |
|
|
|
Binary files a/programs/winecfg/winecfg.res and b/programs/winecfg/winecfg.res differ |
|
|
|
Binary files a/programs/winecfg/x11drvdlg.o and b/programs/winecfg/x11drvdlg.o differ |