Merge pull request #3143 from ab9rf/develop

update steam launcher
develop
Myk 2023-03-31 19:25:08 -07:00 committed by GitHub
commit 961b815d9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 4 deletions

@ -36,6 +36,7 @@ changelog.txt uses a syntax similar to RST, with a few special sequences:
## New Plugins ## New Plugins
## Fixes ## Fixes
- Steam launcher now launches Dwarf Fortress via the Steam client
## Misc Improvements ## Misc Improvements

@ -2,15 +2,28 @@
int WINAPI wWinMain(HINSTANCE hi, HINSTANCE hpi, PWSTR cmd, int ns) int WINAPI wWinMain(HINSTANCE hi, HINSTANCE hpi, PWSTR cmd, int ns)
{ {
STARTUPINFOA si; STARTUPINFOW si;
PROCESS_INFORMATION pi; PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si)); ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si); si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi)); ZeroMemory(&pi, sizeof(pi));
if (CreateProcessA("Dwarf Fortress.exe", WCHAR steamPath[1024];
NULL, DWORD datasize = 1024;
LONG retCode = RegGetValueW(HKEY_CURRENT_USER, L"SOFTWARE\\Valve\\Steam", L"SteamExe", RRF_RT_REG_SZ, NULL, &steamPath, &datasize);
if (retCode != ERROR_SUCCESS)
{
MessageBoxW(NULL, L"Could not find Steam client executable", NULL, 0);
exit(1);
}
WCHAR commandLine[1024] = L"steam.exe -applaunch 975370";
if (CreateProcessW(steamPath,
commandLine,
NULL, NULL,
NULL, NULL,
FALSE, FALSE,
@ -20,7 +33,7 @@ int WINAPI wWinMain(HINSTANCE hi, HINSTANCE hpi, PWSTR cmd, int ns)
&si, &si,
&pi) == 0) &pi) == 0)
{ {
MessageBoxA(NULL, "could not launch 'Dwarf Fortress.exe'", NULL, 0); MessageBoxW(NULL, L"could not launch Dwarf Fortress", NULL, 0);
exit(1); exit(1);
} }