Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org>
---
dlls/gameux/gameexplorer.c | 67 +++++++++---------------------------
dlls/gameux/gamestatistics.c | 57 +++++++++---------------------
2 files changed, 32 insertions(+), 92 deletions(-)
diff --git a/dlls/gameux/gameexplorer.c b/dlls/gameux/gameexplorer.c
index 8b62c72f389..5fdacacf4b2 100644
--- a/dlls/gameux/gameexplorer.c
+++ b/dlls/gameux/gameexplorer.c
@@ -80,12 +80,6 @@ HRESULT GAMEUX_buildGameRegistryPath(GAME_INSTALL_SCOPE installScope,
LPCGUID gameInstanceId,
LPWSTR* lpRegistryPath)
{
- static const WCHAR sGameUxRegistryPath[] = {'S','O','F','T','W','A','R','E','\\',
- 'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
- 'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\','G','a','m','e','U','X',0};
- static const WCHAR sGames[] = {'G','a','m','e','s',0};
- static const WCHAR sBackslash[] = {'\\',0};
-
HRESULT hr = S_OK;
HANDLE hToken = NULL;
PTOKEN_USER pTokenUser = NULL;
@@ -99,8 +93,7 @@ HRESULT GAMEUX_buildGameRegistryPath(GAME_INSTALL_SCOPE installScope,
/* this will make freeing it easier for user */
*lpRegistryPath = NULL;
- lstrcpyW(sRegistryPath, sGameUxRegistryPath);
- lstrcatW(sRegistryPath, sBackslash);
+ lstrcpyW(sRegistryPath, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\GameUX\\");
if(installScope == GIS_CURRENT_USER)
{
@@ -141,7 +134,7 @@ HRESULT GAMEUX_buildGameRegistryPath(GAME_INSTALL_SCOPE installScope,
}
else if(installScope == GIS_ALL_USERS)
/* build registry path without SID */
- lstrcatW(sRegistryPath, sGames);
+ lstrcatW(sRegistryPath, L"Games");
else
hr = E_INVALIDARG;
@@ -153,7 +146,7 @@ HRESULT GAMEUX_buildGameRegistryPath(GAME_INSTALL_SCOPE installScope,
if(SUCCEEDED(hr))
{
- lstrcatW(sRegistryPath, sBackslash);
+ lstrcatW(sRegistryPath, L"\\");
lstrcatW(sRegistryPath, sInstanceId);
}
}
@@ -197,17 +190,6 @@ HRESULT GAMEUX_buildGameRegistryPath(GAME_INSTALL_SCOPE installScope,
*/
static HRESULT GAMEUX_WriteRegistryRecord(struct GAMEUX_GAME_DATA *GameData)
{
- static const WCHAR sApplicationId[] =
- {'A','p','p','l','i','c','a','t','i','o','n','I','d',0};
- static const WCHAR sConfigApplicationPath[] =
- {'C','o','n','f','i','g','A','p','p','l','i','c','a','t','i','o','n','P','a','t','h',0};
- static const WCHAR sConfigGDFBinaryPath[] =
- {'C','o','n','f','i','g','G','D','F','B','i','n','a','r','y','P','a','t','h',0};
- static const WCHAR sTitle[] =
- {'T','i','t','l','e',0};
- static const WCHAR sDescription[] =
- {'D','e','s','c','r','i','p','t','i','o','n',0};
-
HRESULT hr, hr2;
LPWSTR lpRegistryKey;
HKEY hKey;
@@ -228,27 +210,27 @@ static HRESULT GAMEUX_WriteRegistryRecord(struct GAMEUX_GAME_DATA *GameData)
if(SUCCEEDED(hr))
{
/* write game data to registry key */
- hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sConfigApplicationPath, 0,
+ hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, L"ConfigApplicationPath", 0,
REG_SZ, (LPBYTE)(GameData->sGameInstallDirectory),
(lstrlenW(GameData->sGameInstallDirectory)+1)*sizeof(WCHAR)));
if(SUCCEEDED(hr))
- hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sConfigGDFBinaryPath, 0,
+ hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, L"ConfigGDFBinaryPath", 0,
REG_SZ, (LPBYTE)(GameData->sGDFBinaryPath),
(lstrlenW(GameData->sGDFBinaryPath)+1)*sizeof(WCHAR)));
if(SUCCEEDED(hr))
- hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sApplicationId, 0,
+ hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, L"ApplicationId", 0,
REG_SZ, (LPBYTE)(sGameApplicationId),
(lstrlenW(sGameApplicationId)+1)*sizeof(WCHAR)));
if(SUCCEEDED(hr))
- hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sTitle, 0,
+ hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, L"Title", 0,
REG_SZ, (LPBYTE)(GameData->bstrName),
(lstrlenW(GameData->bstrName)+1)*sizeof(WCHAR)));
if(SUCCEEDED(hr))
- hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sDescription, 0,
+ hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, L"Description", 0,
REG_SZ, (LPBYTE)(GameData->bstrDescription ? GameData->bstrDescription : GameData->bstrName),
(lstrlenW(GameData->bstrDescription ? GameData->bstrDescription : GameData->bstrName)+1)*sizeof(WCHAR)));
@@ -282,11 +264,6 @@ static HRESULT GAMEUX_ProcessGameDefinitionElement(
IXMLDOMElement *element,
struct GAMEUX_GAME_DATA *GameData)
{
- static const WCHAR sName[] =
- {'N','a','m','e',0};
- static const WCHAR sDescription[] =
- {'D','e','s','c','r','i','p','t','i','o','n',0};
-
HRESULT hr;
BSTR bstrElementName;
@@ -296,10 +273,10 @@ static HRESULT GAMEUX_ProcessGameDefinitionElement(
if(SUCCEEDED(hr))
{
/* check element name */
- if(lstrcmpW(bstrElementName, sName) == 0)
+ if(lstrcmpW(bstrElementName, L"Name") == 0)
hr = IXMLDOMElement_get_text(element, &GameData->bstrName);
- else if(lstrcmpW(bstrElementName, sDescription) == 0)
+ else if(lstrcmpW(bstrElementName, L"Description") == 0)
hr = IXMLDOMElement_get_text(element, &GameData->bstrDescription);
else
@@ -323,7 +300,6 @@ static HRESULT GAMEUX_ProcessGameDefinitionElement(
*/
static HRESULT GAMEUX_ParseGameDefinition(IXMLDOMElement *gamedef, struct GAMEUX_GAME_DATA *game_data)
{
- static const WCHAR gameidW[] = {'g','a','m','e','I','D',0};
IXMLDOMNodeList *props;
VARIANT var;
HRESULT hr;
@@ -331,7 +307,7 @@ static HRESULT GAMEUX_ParseGameDefinition(IXMLDOMElement *gamedef, struct GAMEUX
TRACE("(%p, %p)\n", gamedef, game_data);
- attr = SysAllocString(gameidW);
+ attr = SysAllocString(L"gameID");
if (!attr)
return E_OUTOFMEMORY;
@@ -397,9 +373,6 @@ static DWORD WINAPI GAMEUX_ParseGDFBinary(void *thread_param)
{
struct parse_gdf_thread_param *ctx = thread_param;
struct GAMEUX_GAME_DATA *GameData = ctx->GameData;
- static const WCHAR sRes[] = {'r','e','s',':','/','/',0};
- static const WCHAR sDATA[] = {'D','A','T','A',0};
- static const WCHAR sSlash[] = {'/',0};
HRESULT hr = S_OK;
WCHAR sResourcePath[MAX_PATH];
@@ -412,11 +385,9 @@ static DWORD WINAPI GAMEUX_ParseGDFBinary(void *thread_param)
TRACE("(%p)->sGDFBinaryPath = %s\n", GameData, debugstr_w(GameData->sGDFBinaryPath));
/* prepare path to GDF, using res:// prefix */
- lstrcpyW(sResourcePath, sRes);
+ lstrcpyW(sResourcePath, L"res://");
lstrcatW(sResourcePath, GameData->sGDFBinaryPath);
- lstrcatW(sResourcePath, sSlash);
- lstrcatW(sResourcePath, sDATA);
- lstrcatW(sResourcePath, sSlash);
+ lstrcatW(sResourcePath, L"/DATA/");
lstrcatW(sResourcePath, ID_GDF_XML_STR);
CoInitialize(NULL);
@@ -662,9 +633,6 @@ static HRESULT GAMEUX_LoadRegistryString(HKEY hRootKey,
* Helper function, updates stored data about game with given InstanceID
*/
static HRESULT GAMEUX_UpdateGame(LPGUID InstanceID) {
- static const WCHAR sConfigGDFBinaryPath[] = {'C','o','n','f','i','g','G','D','F','B','i','n','a','r','y','P','a','t','h',0};
- static const WCHAR sConfigApplicationPath[] = {'C','o','n','f','i','g','A','p','p','l','i','c','a','t','i','o','n','P','a','t','h',0};
-
HRESULT hr;
GAME_INSTALL_SCOPE installScope;
LPWSTR lpRegistryPath;
@@ -697,11 +665,11 @@ static HRESULT GAMEUX_UpdateGame(LPGUID InstanceID) {
/* first, read required data about game */
hr = GAMEUX_LoadRegistryString(HKEY_LOCAL_MACHINE, lpRegistryPath,
- sConfigGDFBinaryPath, &lpGDFBinaryPath);
+ L"ConfigGDFBinaryPath", &lpGDFBinaryPath);
if(SUCCEEDED(hr))
hr = GAMEUX_LoadRegistryString(HKEY_LOCAL_MACHINE, lpRegistryPath,
- sConfigApplicationPath, &lpGameInstallDirectory);
+ L"ConfigApplicationPath", &lpGameInstallDirectory);
/* now remove currently existing registry key */
if(SUCCEEDED(hr))
@@ -730,9 +698,6 @@ HRESULT GAMEUX_FindGameInstanceId(
GAME_INSTALL_SCOPE installScope,
GUID* pInstanceId)
{
- static const WCHAR sConfigGDFBinaryPath[] =
- {'C','o','n','f','i','g','G','D','F','B','i','n','a','r','y','P','a','t','h',0};
-
HRESULT hr;
BOOL found = FALSE;
LPWSTR lpRegistryPath = NULL;
@@ -769,7 +734,7 @@ HRESULT GAMEUX_FindGameInstanceId(
if(SUCCEEDED(hr))
hr = GAMEUX_LoadRegistryString(hRootKey, lpName,
- sConfigGDFBinaryPath, &lpValue);
+ L"ConfigGDFBinaryPath", &lpValue);
if(SUCCEEDED(hr))
{
diff --git a/dlls/gameux/gamestatistics.c b/dlls/gameux/gamestatistics.c
index 7189261a4f6..1696ee1e76a 100644
--- a/dlls/gameux/gamestatistics.c
+++ b/dlls/gameux/gamestatistics.c
@@ -102,13 +102,6 @@ static HRESULT GAMEUX_createStatsDirectory(LPCWSTR lpFilePath)
*/
static HRESULT GAMEUX_updateStatisticsFile(struct GAMEUX_STATS *stats)
{
- static const WCHAR sStatistics[] = {'S','t','a','t','i','s','t','i','c','s',0};
- static const WCHAR sCategory[] = {'C','a','t','e','g','o','r','y',0};
- static const WCHAR sIndex[] = {'I','n','d','e','x',0};
- static const WCHAR sStatistic[] = {'S','t','a','t','i','s','t','i','c',0};
- static const WCHAR sName[] = {'N','a','m','e',0};
- static const WCHAR sValue[] = {'V','a','l','u','e',0};
-
HRESULT hr = S_OK;
IXMLDOMDocument *document = NULL;
IXMLDOMElement *root = NULL, *statisticsElement = NULL;
@@ -131,7 +124,7 @@ static HRESULT GAMEUX_updateStatisticsFile(struct GAMEUX_STATS *stats)
if(SUCCEEDED(hr))
{
- bstrStatistics = SysAllocString(sStatistics);
+ bstrStatistics = SysAllocString(L"Statistics");
if(!bstrStatistics)
hr = E_OUTOFMEMORY;
}
@@ -141,35 +134,35 @@ static HRESULT GAMEUX_updateStatisticsFile(struct GAMEUX_STATS *stats)
if(SUCCEEDED(hr))
{
- bstrCategory = SysAllocString(sCategory);
+ bstrCategory = SysAllocString(L"Category");
if(!bstrCategory)
hr = E_OUTOFMEMORY;
}
if(SUCCEEDED(hr))
{
- bstrIndex = SysAllocString(sIndex);
+ bstrIndex = SysAllocString(L"Index");
if(!bstrIndex)
hr = E_OUTOFMEMORY;
}
if(SUCCEEDED(hr))
{
- bstrStatistic = SysAllocString(sStatistic);
+ bstrStatistic = SysAllocString(L"Statistic");
if(!bstrStatistic)
hr = E_OUTOFMEMORY;
}
if(SUCCEEDED(hr))
{
- bstrName = SysAllocString(sName);
+ bstrName = SysAllocString(L"Name");
if(!bstrName)
hr = E_OUTOFMEMORY;
}
if(SUCCEEDED(hr))
{
- bstrValue = SysAllocString(sValue);
+ bstrValue = SysAllocString(L"Value");
if(!bstrValue)
hr = E_OUTOFMEMORY;
}
@@ -318,24 +311,17 @@ static HRESULT GAMEUX_buildStatisticsFilePath(
LPCWSTR lpApplicationId,
LPWSTR lpStatisticsFile)
{
- static const WCHAR sBackslash[] = {'\\',0};
- static const WCHAR sStatisticsDir[] = {'\\','M','i','c','r','o','s','o','f','t',
- '\\','W','i','n','d','o','w','s','\\','G','a','m','e','E','x','p',
- 'l','o','r','e','r','\\','G','a','m','e','S','t','a','t','i','s',
- 't','i','c','s','\\',0};
- static const WCHAR sDotGamestats[] = {'.','g','a','m','e','s','t','a','t','s',0};
-
HRESULT hr;
hr = SHGetFolderPathW(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, lpStatisticsFile);
if(SUCCEEDED(hr))
{
- lstrcatW(lpStatisticsFile, sStatisticsDir);
+ lstrcatW(lpStatisticsFile, L"\\Microsoft\\Windows\\GameExplorer\\GameStatistics\\");
lstrcatW(lpStatisticsFile, lpApplicationId);
- lstrcatW(lpStatisticsFile, sBackslash);
+ lstrcatW(lpStatisticsFile, L"\\");
lstrcatW(lpStatisticsFile, lpApplicationId);
- lstrcatW(lpStatisticsFile, sDotGamestats);
+ lstrcatW(lpStatisticsFile, L".gamestats");
}
return hr;
@@ -357,9 +343,6 @@ static HRESULT GAMEUX_getAppIdFromGDFPath(
LPCWSTR GDFBinaryPath,
LPWSTR lpApplicationId)
{
- static const WCHAR sApplicationId[] =
- {'A','p','p','l','i','c','a','t','i','o','n','I','d',0};
-
HRESULT hr;
GAME_INSTALL_SCOPE installScope;
GUID instanceId;
@@ -393,8 +376,7 @@ static HRESULT GAMEUX_getAppIdFromGDFPath(
hr = HRESULT_FROM_WIN32(RegOpenKeyExW(HKEY_LOCAL_MACHINE,
lpRegistryPath, 0, KEY_READ | KEY_WOW64_64KEY, &hKey));
if(SUCCEEDED(hr)) {
- hr = HRESULT_FROM_WIN32(RegGetValueW(hKey,
- NULL, sApplicationId, RRF_RT_REG_SZ,
+ hr = HRESULT_FROM_WIN32(RegGetValueW(hKey, NULL, L"ApplicationId", RRF_RT_REG_SZ,
NULL, lpApplicationId, &dwLength));
RegCloseKey(hKey);
}
@@ -416,13 +398,6 @@ static HRESULT GAMEUX_getAppIdFromGDFPath(
*/
static HRESULT GAMEUX_loadStatisticsFromFile(struct GAMEUX_STATS *data)
{
- static const WCHAR sStatistics[] = {'S','t','a','t','i','s','t','i','c','s',0};
- static const WCHAR sCategory[] = {'C','a','t','e','g','o','r','y',0};
- static const WCHAR sIndex[] = {'I','n','d','e','x',0};
- static const WCHAR sStatistic[] = {'S','t','a','t','i','s','t','i','c',0};
- static const WCHAR sName[] = {'N','a','m','e',0};
- static const WCHAR sValue[] = {'V','a','l','u','e',0};
-
HRESULT hr = S_OK;
IXMLDOMDocument *document = NULL;
IXMLDOMElement *root = NULL, *categoryElement = NULL, *statisticElement = NULL;
@@ -446,42 +421,42 @@ static HRESULT GAMEUX_loadStatisticsFromFile(struct GAMEUX_STATS *data)
if(SUCCEEDED(hr))
{
- bstrStatistics = SysAllocString(sStatistics);
+ bstrStatistics = SysAllocString(L"Statistics");
if(!bstrStatistics)
hr = E_OUTOFMEMORY;
}
if(SUCCEEDED(hr))
{
- bstrCategory = SysAllocString(sCategory);
+ bstrCategory = SysAllocString(L"Category");
if(!bstrCategory)
hr = E_OUTOFMEMORY;
}
if(SUCCEEDED(hr))
{
- bstrIndex = SysAllocString(sIndex);
+ bstrIndex = SysAllocString(L"Index");
if(!bstrIndex)
hr = E_OUTOFMEMORY;
}
if(SUCCEEDED(hr))
{
- bstrStatistic = SysAllocString(sStatistic);
+ bstrStatistic = SysAllocString(L"Statistic");
if(!bstrStatistic)
hr = E_OUTOFMEMORY;
}
if(SUCCEEDED(hr))
{
- bstrName = SysAllocString(sName);
+ bstrName = SysAllocString(L"Name");
if(!bstrName)
hr = E_OUTOFMEMORY;
}
if(SUCCEEDED(hr))
{
- bstrValue = SysAllocString(sValue);
+ bstrValue = SysAllocString(L"Value");
if(!bstrValue)
hr = E_OUTOFMEMORY;
}
--
2.26.3