From ebe97a926440ff0d535903214adb0b6eb63cbb9b Mon Sep 17 00:00:00 2001 From: Anna Date: Wed, 25 May 2011 13:13:49 -0400 Subject: [PATCH] Initial commit --- README | 18 ++++++++++++++++++ steamstub.c | 17 +++++++++++++++++ steamstub.exe | Bin 0 -> 26496 bytes 3 files changed, 35 insertions(+) create mode 100644 README create mode 100644 steamstub.c create mode 100755 steamstub.exe diff --git a/README b/README new file mode 100644 index 0000000..880b320 --- /dev/null +++ b/README @@ -0,0 +1,18 @@ +Steam stub is a simple Windows program that pops up a dialog box and closes once you click 'Ok' on it. It is intended for Linux users running Steam under wine. + +Why would you want such a simple program? Why would I write a Windows program for Linux users? Read on to find out! + +Here's the scenario: You're running Steam in wine. Steam is great; it lets you earn achievements, see what your friends are playing, and let your friends know what you are playing. However, this only works for Steam games. What if you play a lot of StarCraft 2, and you'd like to let your friends know so they can join you? + +Steam created a solution for that - you can launch non-Steam games from the Steam interface. You can't use all of the nifty Steam features, but you can at least let your friends know what you're doing. + +But what if you play Steam on Linux, and you play Linux-native games like vegastrike? You can launch a Linux binary from Steam, but Steam can't track the fact that you're playing it. This is because wine doesn't know anything about Linux binaries. + +So, this is my hack to solve the problem: add a non-Steam game, like vegastrike, to Steam, then launch a small 'stub' program that Steam can recognize while you go off and play your Linux game. Then, you can come back and close the stub program when you finish with your Linux game. + +steamstub is a trivial Windows application written to solve exactly this problem. I've included the .exe in the repository because it is fairly small, and most people don't have the mingw32 compiler tools handy on their system. The md5sum for steamstub.exe is: + +2602faed31858d240d87feeb2293a374 + + +If you don't trust me (and really, it is good security practice not to trust random executable files you find on github), just install mingw32-gcc and use it to compile steamstub.c. diff --git a/steamstub.c b/steamstub.c new file mode 100644 index 0000000..2b60e76 --- /dev/null +++ b/steamstub.c @@ -0,0 +1,17 @@ +/* steamstub.c - A Windows program for Linux + +compile it with: + +mingw32-gcc -o steamstub.exe steamstub.c + +nb: on fedora, the mingw32 C compiler is called i686-pc-mingw32-gcc + + */ + +#include + +int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) +{ + MessageBox (NULL, "The Steam Stub is now running. Go play your Linux game, and come back and click the 'OK' button on this dialog box once you are done playing it." , "Steam Stub", 0); + return 0; +} diff --git a/steamstub.exe b/steamstub.exe new file mode 100755 index 0000000000000000000000000000000000000000..1fbec19319a12bdccc230830903f7667b53b76da GIT binary patch literal 26496 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 literal 0 HcmV?d00001