steam_helper: Build with msvcrt.

CW-Bug-Id: #24510
This commit is contained in:
Rémi Bernon 2024-11-21 18:32:55 +01:00 committed by Arkadiusz Hiler
parent 8916378d66
commit 500c38f34b
3 changed files with 21 additions and 22 deletions

2
proton
View File

@ -40,7 +40,7 @@ from random import randrange
#To enable debug logging, copy "user_settings.sample.py" to "user_settings.py" #To enable debug logging, copy "user_settings.sample.py" to "user_settings.py"
#and edit it if needed. #and edit it if needed.
CURRENT_PREFIX_VERSION="10.0-101" CURRENT_PREFIX_VERSION="10.0-103"
PFX="Proton: " PFX="Proton: "
ld_path_var = "LD_LIBRARY_PATH" ld_path_var = "LD_LIBRARY_PATH"

View File

@ -1,8 +1,7 @@
MODULE = steam.exe MODULE = steam.exe
IMPORTS = user32 advapi32 shlwapi shell32 msi ole32 IMPORTS = user32 advapi32 shlwapi shell32 msi ole32
EXTRADLLFLAGS = -mwindows -mcygwin -static-libgcc -static-libstdc++ -ldl EXTRADLLFLAGS = -mwindows
EXTRADEFS = -DWINE_NO_LONG_TYPES
SOURCES = \ SOURCES = \
steam.c steam.c

View File

@ -445,7 +445,7 @@ run:
link2ea = TRUE; link2ea = TRUE;
if (!SetUserObjectInformationA(desktop, 1000, &timeout, sizeof(timeout))) if (!SetUserObjectInformationA(desktop, 1000, &timeout, sizeof(timeout)))
WINE_ERR("Failed to set desktop timeout, err %u.\n", GetLastError()); WINE_ERR("Failed to set desktop timeout, err %lu.\n", GetLastError());
if (!RegOpenKeyExW(HKEY_LOCAL_MACHINE, ea_desktop_pathW, 0, KEY_ALL_ACCESS, &eakey)) if (!RegOpenKeyExW(HKEY_LOCAL_MACHINE, ea_desktop_pathW, 0, KEY_ALL_ACCESS, &eakey))
{ {
@ -465,20 +465,20 @@ run:
{ {
if (QueryServiceStatus(service, &status)) if (QueryServiceStatus(service, &status))
{ {
TRACE("dwCurrentState %#x.\n", status.dwCurrentState); TRACE("dwCurrentState %#lx.\n", status.dwCurrentState);
if (status.dwCurrentState == SERVICE_STOP_PENDING || status.dwCurrentState == SERVICE_STOPPED) if (status.dwCurrentState == SERVICE_STOP_PENDING || status.dwCurrentState == SERVICE_STOPPED)
{ {
ret = DeleteFileA("C:\\ProgramData\\EA Desktop\\backgroundservice.ini"); ret = DeleteFileA("C:\\ProgramData\\EA Desktop\\backgroundservice.ini");
WARN("Tried to delete backgroundservice.ini, ret %d, error %u.\n", ret, GetLastError()); WARN("Tried to delete backgroundservice.ini, ret %d, error %lu.\n", ret, GetLastError());
} }
} }
else ERR("Could not query service status, error %u.\n", GetLastError()); else ERR("Could not query service status, error %lu.\n", GetLastError());
CloseServiceHandle(service); CloseServiceHandle(service);
} }
else TRACE("Could not open EABackgroundService, error %u.\n", GetLastError()); else TRACE("Could not open EABackgroundService, error %lu.\n", GetLastError());
CloseServiceHandle(manager); CloseServiceHandle(manager);
} }
else ERR("Could not open service manager, error %u.\n", GetLastError()); else ERR("Could not open service manager, error %lu.\n", GetLastError());
} }
hide_window = env_nonzero("PROTON_HIDE_PROCESS_WINDOW"); hide_window = env_nonzero("PROTON_HIDE_PROCESS_WINDOW");
@ -506,7 +506,7 @@ run:
if ((ret = (INT_PTR)ShellExecuteW(NULL, verb, cmdline, param, NULL, hide_window ? SW_HIDE : SW_SHOWNORMAL)) < 32) if ((ret = (INT_PTR)ShellExecuteW(NULL, verb, cmdline, param, NULL, hide_window ? SW_HIDE : SW_SHOWNORMAL)) < 32)
{ {
WINE_ERR("Failed to execute %s, ret %u.\n", wine_dbgstr_w(cmdline), (int)ret); WINE_ERR("Failed to execute %s, ret %Iu.\n", wine_dbgstr_w(cmdline), ret);
if (game_process && ret == SE_ERR_NOASSOC && link2ea) if (game_process && ret == SE_ERR_NOASSOC && link2ea)
{ {
static const WCHAR msi_guidW[] = {'{','C','2','6','2','2','0','8','5','-','A','B','D','2','-','4','9','E','5','-','8','A','B','9','-','D','3','D','6','A','6','4','2','C','0','9','1','}',0}; static const WCHAR msi_guidW[] = {'{','C','2','6','2','2','0','8','5','-','A','B','D','2','-','4','9','E','5','-','8','A','B','9','-','D','3','D','6','A','6','4','2','C','0','9','1','}',0};
@ -534,7 +534,7 @@ run:
if (!CreateProcessW(NULL, cmdline, NULL, NULL, FALSE, flags, NULL, NULL, &si, &pi)) if (!CreateProcessW(NULL, cmdline, NULL, NULL, FALSE, flags, NULL, NULL, &si, &pi))
{ {
WINE_ERR("Failed to create process %s: %u\n", wine_dbgstr_w(cmdline), GetLastError()); WINE_ERR("Failed to create process %s: %lu\n", wine_dbgstr_w(cmdline), GetLastError());
return INVALID_HANDLE_VALUE; return INVALID_HANDLE_VALUE;
} }
@ -638,7 +638,7 @@ static BOOL steam_command_handler(int argc, char *argv[])
WINE_ERR("Forwarding"); WINE_ERR("Forwarding");
for (i = 0; i < argc; ++i) for (i = 0; i < argc; ++i)
WINE_ERR(" %s", wine_dbgstr_a(argv[i])); WINE_ERR(" %s", wine_dbgstr_a(argv[i]));
WINE_ERR(" to native steam failed, status %#x.\n", status); WINE_ERR(" to native steam failed, status %#lx.\n", status);
} }
return TRUE; return TRUE;
} }
@ -669,13 +669,13 @@ static void setup_steam_files(void)
if (!CreateDirectoryW(config_pathW, NULL) && GetLastError() != ERROR_ALREADY_EXISTS) if (!CreateDirectoryW(config_pathW, NULL) && GetLastError() != ERROR_ALREADY_EXISTS)
{ {
WINE_ERR("Failed to create config directory, GetLastError() %u.\n", GetLastError()); WINE_ERR("Failed to create config directory, GetLastError() %lu.\n", GetLastError());
return; return;
} }
if (!CreateDirectoryW(steamapps_pathW, NULL) && GetLastError() != ERROR_ALREADY_EXISTS) if (!CreateDirectoryW(steamapps_pathW, NULL) && GetLastError() != ERROR_ALREADY_EXISTS)
{ {
WINE_ERR("Failed to create steamapps directory, GetLastError() %u.\n", GetLastError()); WINE_ERR("Failed to create steamapps directory, GetLastError() %lu.\n", GetLastError());
return; return;
} }
@ -747,7 +747,7 @@ static HANDLE find_ack_event(void)
status = NtOpenDirectoryObject( &dir, DIRECTORY_QUERY, &attr ); status = NtOpenDirectoryObject( &dir, DIRECTORY_QUERY, &attr );
if (status) if (status)
{ {
WINE_WARN("Failed to open directory %s, status %#x.\n", wine_dbgstr_w(name), status); WINE_WARN("Failed to open directory %s, status %#lx.\n", wine_dbgstr_w(name), status);
return NULL; return NULL;
} }
@ -759,13 +759,13 @@ static HANDLE find_ack_event(void)
WINE_TRACE("Found event %s.\n", wine_dbgstr_w(di->ObjectName.Buffer)); WINE_TRACE("Found event %s.\n", wine_dbgstr_w(di->ObjectName.Buffer));
ret = OpenEventW(SYNCHRONIZE, FALSE, di->ObjectName.Buffer); ret = OpenEventW(SYNCHRONIZE, FALSE, di->ObjectName.Buffer);
if (!ret) if (!ret)
WINE_WARN("Failed to create event, err %u.\n", GetLastError()); WINE_WARN("Failed to create event, err %lu.\n", GetLastError());
break; break;
} }
status = NtQueryDirectoryObject(dir, di, sizeof(buffer), TRUE, FALSE, &context, &size); status = NtQueryDirectoryObject(dir, di, sizeof(buffer), TRUE, FALSE, &context, &size);
} }
if (status && status != STATUS_NO_MORE_ENTRIES) if (status && status != STATUS_NO_MORE_ENTRIES)
WINE_WARN("NtQueryDirectoryObject failed, status %#x.\n", status); WINE_WARN("NtQueryDirectoryObject failed, status %#lx.\n", status);
WINE_TRACE("ret %p.\n", ret); WINE_TRACE("ret %p.\n", ret);
CloseHandle(dir); CloseHandle(dir);
@ -783,20 +783,20 @@ static DWORD WINAPI steam_drm_thread(void *arg)
consume = CreateSemaphoreA(NULL, 0, 512, "STEAM_DIPC_CONSUME"); consume = CreateSemaphoreA(NULL, 0, 512, "STEAM_DIPC_CONSUME");
if (!consume) if (!consume)
{ {
WINE_ERR("Failed to create consume semaphore, err %u.\n", GetLastError()); WINE_ERR("Failed to create consume semaphore, err %lu.\n", GetLastError());
return -1; return -1;
} }
produce = CreateSemaphoreA(NULL, 1, 512, "SREAM_DIPC_PRODUCE"); produce = CreateSemaphoreA(NULL, 1, 512, "SREAM_DIPC_PRODUCE");
if (!produce) if (!produce)
{ {
CloseHandle(consume); CloseHandle(consume);
WINE_ERR("Failed to create produce semaphore, err %u.\n", GetLastError()); WINE_ERR("Failed to create produce semaphore, err %lu.\n", GetLastError());
return -1; return -1;
} }
pid = GetProcessId(child); pid = GetProcessId(child);
WINE_TRACE("Child pid %04x.\n", pid); WINE_TRACE("Child pid %04lx.\n", pid);
while (WaitForSingleObject(consume, INFINITE) == WAIT_OBJECT_0) while (WaitForSingleObject(consume, INFINITE) == WAIT_OBJECT_0)
{ {
@ -807,7 +807,7 @@ static DWORD WINAPI steam_drm_thread(void *arg)
if (start_ack) if (start_ack)
SetEvent(start_ack); SetEvent(start_ack);
ReleaseSemaphore(produce, 1, &prev); ReleaseSemaphore(produce, 1, &prev);
WINE_TRACE("prev %d.\n", prev); WINE_TRACE("prev %ld.\n", prev);
} }
return 0; return 0;
@ -915,7 +915,7 @@ int main(int argc, char *argv[])
} }
else else
{ {
ERR("Failed to create restart event, err %u.\n", GetLastError()); ERR("Failed to create restart event, err %lu.\n", GetLastError());
} }
} }
FreeConsole(); FreeConsole();