/*********************************************************************** * setup_options * * Set up the Mac driver options. */ static void setup_options(void) { char buffer[MAX_PATH + 16]; HKEY hkey, appkey = 0; DWORD len; /* @@ Wine registry key: HKCU\Software\Wine\Mac Driver */ if (RegOpenKeyA(HKEY_CURRENT_USER, "Software\\Wine\\Mac Driver", &hkey)) hkey = 0; /* open the app-specific key */ len = GetModuleFileNameA(0, buffer, MAX_PATH); if (len && len < MAX_PATH) { HKEY tmpkey; char *p, *appname = buffer; if ((p = strrchr(appname, '/'))) appname = p + 1; if ((p = strrchr(appname, '\\'))) appname = p + 1; strcat(appname, "\\Mac Driver"); /* @@ Wine registry key: HKCU\Software\Wine\AppDefaults\app.exe\Mac Driver */ if (!RegOpenKeyA(HKEY_CURRENT_USER, "Software\\Wine\\AppDefaults", &tmpkey)) { if (RegOpenKeyA(tmpkey, appname, &appkey)) appkey = 0; RegCloseKey(tmpkey); } } if (!get_config_key(hkey, appkey, "WindowsFloatWhenInactive", buffer, sizeof(buffer))) { if (!strcmp(buffer, "none")) topmost_float_inactive = TOPMOST_FLOAT_INACTIVE_NONE; else if (!strcmp(buffer, "all")) topmost_float_inactive = TOPMOST_FLOAT_INACTIVE_ALL; else topmost_float_inactive = TOPMOST_FLOAT_INACTIVE_NONFULLSCREEN; } if (!get_config_key(hkey, appkey, "CaptureDisplaysForFullscreen", buffer, sizeof(buffer))) capture_displays_for_fullscreen = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "SkipSingleBufferFlushes", buffer, sizeof(buffer))) skip_single_buffer_flushes = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "AllowVerticalSync", buffer, sizeof(buffer))) allow_vsync = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "AllowSetGamma", buffer, sizeof(buffer))) allow_set_gamma = IS_OPTION_TRUE(buffer[0]); if (appkey) RegCloseKey(appkey); if (hkey) RegCloseKey(hkey); }
/*********************************************************************** * get_use_dns_option */ static BOOL get_use_dns_option(void) { static const WCHAR NetworkW[] = {'S','o','f','t','w','a','r','e','\\', 'W','i','n','e','\\','N','e','t','w','o','r','k',0}; static const WCHAR UseDNSW[] = {'U','s','e','D','n','s','C','o','m','p','u','t','e','r','N','a','m','e',0}; char tmp[80]; HANDLE root, hkey; DWORD dummy; OBJECT_ATTRIBUTES attr; UNICODE_STRING nameW; BOOL ret = TRUE; _init_attr( &attr, &nameW ); RtlOpenCurrentUser( KEY_READ, &root ); attr.RootDirectory = root; RtlInitUnicodeString( &nameW, NetworkW ); /* @@ Wine registry key: HKCU\Software\Wine\Network */ if (!NtOpenKey( &hkey, KEY_READ, &attr )) { RtlInitUnicodeString( &nameW, UseDNSW ); if (!NtQueryValueKey( hkey, &nameW, KeyValuePartialInformation, tmp, sizeof(tmp), &dummy )) { WCHAR *str = (WCHAR *)((KEY_VALUE_PARTIAL_INFORMATION *)tmp)->Data; ret = IS_OPTION_TRUE( str[0] ); } NtClose( hkey ); } NtClose( root ); return ret; }
void setup_dsound_options(void) { char buffer[MAX_PATH+16]; HKEY hkey, appkey = 0; DWORD len; buffer[MAX_PATH]='\0'; /* @@ Wine registry key: HKCU\Software\Wine\DirectSound */ if (RegOpenKeyA( HKEY_CURRENT_USER, "Software\\Wine\\DirectSound", &hkey )) hkey = 0; len = GetModuleFileNameA( 0, buffer, MAX_PATH ); if (len && len < MAX_PATH) { HKEY tmpkey; /* @@ Wine registry key: HKCU\Software\Wine\AppDefaults\app.exe\DirectSound */ if (!RegOpenKeyA( HKEY_CURRENT_USER, "Software\\Wine\\AppDefaults", &tmpkey )) { char *p, *appname = buffer; if ((p = strrchr( appname, '/' ))) appname = p + 1; if ((p = strrchr( appname, '\\' ))) appname = p + 1; strcat( appname, "\\DirectSound" ); TRACE("appname = [%s]\n", appname); if (RegOpenKeyA( tmpkey, appname, &appkey )) appkey = 0; RegCloseKey( tmpkey ); } } /* get options */ if (!get_config_key( hkey, appkey, "HelBuflen", buffer, MAX_PATH )) ds_hel_buflen = atoi(buffer); if (!get_config_key( hkey, appkey, "SndQueueMax", buffer, MAX_PATH )) ds_snd_queue_max = atoi(buffer); if (!get_config_key( hkey, appkey, "HQBuffersMax", buffer, MAX_PATH )) ds_hq_buffers_max = atoi(buffer); if (!get_config_key( hkey, appkey, "EAXEnabled", buffer, MAX_PATH )) ds_eax_enabled = IS_OPTION_TRUE( buffer[0] ); if (appkey) RegCloseKey( appkey ); if (hkey) RegCloseKey( hkey ); TRACE("ds_hel_buflen = %d\n", ds_hel_buflen); TRACE("ds_snd_queue_max = %d\n", ds_snd_queue_max); TRACE("ds_hq_buffers_max = %d\n", ds_hq_buffers_max); TRACE("ds_eax_enabled = %u\n", ds_eax_enabled); }
static int ALSA_RegGetBoolean(HKEY key, const char *value, BOOL *answer) { DWORD rc; char *buf = NULL; rc = ALSA_RegGetString(key, value, &buf); if (buf) { *answer = FALSE; if (IS_OPTION_TRUE(*buf)) *answer = TRUE; HeapFree(GetProcessHeap(), 0, buf); } return rc; }
/*********************************************************************** * setup_options * * Set up the Mac driver options. */ static void setup_options(void) { char buffer[MAX_PATH + 16]; HKEY hkey, appkey = 0; DWORD len; /* @@ Wine registry key: HKCU\Software\Wine\Mac Driver */ if (RegOpenKeyA(HKEY_CURRENT_USER, "Software\\Wine\\Mac Driver", &hkey)) hkey = 0; /* open the app-specific key */ len = GetModuleFileNameA(0, buffer, MAX_PATH); if (len && len < MAX_PATH) { HKEY tmpkey; char *p, *appname = buffer; if ((p = strrchr(appname, '/'))) appname = p + 1; if ((p = strrchr(appname, '\\'))) appname = p + 1; strcat(appname, "\\Mac Driver"); /* @@ Wine registry key: HKCU\Software\Wine\AppDefaults\app.exe\Mac Driver */ if (!RegOpenKeyA(HKEY_CURRENT_USER, "Software\\Wine\\AppDefaults", &tmpkey)) { if (RegOpenKeyA(tmpkey, appname, &appkey)) appkey = 0; RegCloseKey(tmpkey); } } if (!get_config_key(hkey, appkey, "WindowsFloatWhenInactive", buffer, sizeof(buffer))) { if (!strcmp(buffer, "none")) topmost_float_inactive = TOPMOST_FLOAT_INACTIVE_NONE; else if (!strcmp(buffer, "all")) topmost_float_inactive = TOPMOST_FLOAT_INACTIVE_ALL; else topmost_float_inactive = TOPMOST_FLOAT_INACTIVE_NONFULLSCREEN; } if (!get_config_key(hkey, appkey, "CaptureDisplaysForFullscreen", buffer, sizeof(buffer))) capture_displays_for_fullscreen = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "SkipSingleBufferFlushes", buffer, sizeof(buffer))) skip_single_buffer_flushes = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "AllowVerticalSync", buffer, sizeof(buffer))) allow_vsync = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "AllowSetGamma", buffer, sizeof(buffer))) allow_set_gamma = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "LeftOptionIsAlt", buffer, sizeof(buffer))) left_option_is_alt = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "RightOptionIsAlt", buffer, sizeof(buffer))) right_option_is_alt = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "AllowSoftwareRendering", buffer, sizeof(buffer))) allow_software_rendering = IS_OPTION_TRUE(buffer[0]); /* Value name chosen to match what's used in the X11 driver. */ if (!get_config_key(hkey, appkey, "Decorated", buffer, sizeof(buffer))) disable_window_decorations = !IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "AllowImmovableWindows", buffer, sizeof(buffer))) allow_immovable_windows = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "CursorClippingLocksWindows", buffer, sizeof(buffer))) cursor_clipping_locks_windows = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "UsePreciseScrolling", buffer, sizeof(buffer))) use_precise_scrolling = IS_OPTION_TRUE(buffer[0]); if (!get_config_key(hkey, appkey, "OpenGLSurfaceMode", buffer, sizeof(buffer))) { if (!strcmp(buffer, "transparent")) gl_surface_mode = GL_SURFACE_IN_FRONT_TRANSPARENT; else if (!strcmp(buffer, "behind")) gl_surface_mode = GL_SURFACE_BEHIND; else gl_surface_mode = GL_SURFACE_IN_FRONT_OPAQUE; } if (appkey) RegCloseKey(appkey); if (hkey) RegCloseKey(hkey); }