• Open Steamworks
    616 replies, posted
  • [QUOTE=General1337;17800602]This is pretty cool, I made a winamp name changer thing or w/e. [img]http://www.moogen.org/other/winampplugin.jpg[/img][/QUOTE] ochre owns
  • [QUOTE=General1337;17800602]This is pretty cool, I made a winamp name changer thing or w/e. [img]http://www.moogen.org/other/winampplugin.jpg[/img][/QUOTE] You have a picture of yourself as your BG.
  • Steam update just rolled out: [url]http://store.steampowered.com/news/2931/[/url] One interesting thing to note: [code] # Steamworks API fixes [/code] Fixes? Something was broken? Who knows. It's hard to tell what they changed when there are so many possibilities. I'll look into it and see what I can figure out. [editline]11:49PM[/editline] All current example code located within the SVN is functional.
  • If anyone is interested in the code for the winamp plugin thing it's right here. It's crap code and made me facepalm when I was done, but I was messing around just to see what you could do. I'll probably make it again in C# since Voided is doing some pretty cool stuff in that. [cpp] int winampticker = 0; HSteamPipe hSteamPipe = steamClient->CreateSteamPipe(); HSteamUser hSteamUser = steamClient->ConnectToGlobalUser(hSteamPipe); ISteamFriends002 *steamFriends = (ISteamFriends002 *)steamClient->GetISteamFriends( hSteamUser, hSteamPipe, STEAMFRIENDS_INTERFACE_VERSION_002 ); const std::string friendsName(steamFriends->GetPersonaName()); std::string myName = "DefaultName"; while(winampticker <= 2000) { if(winampticker == 1000) { //WINAMP AREA HWND hwndWinamp = FindWindow("Winamp v1.x",NULL); //Finding window int retainer=SendMessage(hwndWinamp,WM_USER, 0, 104); char winamp[2048],*p; GetWindowText(hwndWinamp,winamp,sizeof(winamp)); p = winamp+strlen(winamp)-8; while (p >= winamp) { if (!strnicmp(p,"- Winamp",8)) break; p--; } if (p >= winamp) p--; while (p >= winamp && *p == ' ') p--; *++p=0; if(retainer == 3) { myName = friendsName; myName += " - "; myName += "Winamp Paused"; steamFriends->SetPersonaName(myName.c_str()); winampticker = 0; } else if(retainer == 1) { myName = friendsName; myName += " - "; myName += winamp; steamFriends->SetPersonaName(myName.c_str()); winampticker = 0; } } Sleep(3); winampticker++; } [/cpp]
  • I thought you used the winamp API to get the song, i forgot about GetWindowText :P
  • [QUOTE=efeX;17805026]I thought you used the winamp API to get the song, i forgot about GetWindowText :P[/QUOTE] You actually don't need to use the "winamp API" at all. I've never messed with winamp before so originally I thought that as well. Voided showed me this thread: [url]http://forums.winamp.com/showthread.php?threadid=180297[/url] It's actually simple as hell to work with, you can just SendMessage() everything. The one I have right now actually allows you to play, pause, etc with chat commands but it's pretty much useless. That's how I check if winamp is paused or not. [cpp] int retainer=SendMessage(hwndWinamp,WM_USER, 0, 104); [/cpp] That shows if winamp is paused or not, if it's paused it returns "3" if not, it returns "1".
  • Damn you're updating the SVN faster than a turkey on Thanksgiving. Wait that didn't really make any sense but you're updating it fucking fast.
  • There needs to be a 'wut' rating Also, it's because he is working on the interface, that, and there was a steamworks update yesterday that he is figuring out.
  • Keeping this project updated is a priority of mine. Currently my focus is the dotnetworks project, so there will be breaking changes for a while until the design is finalized.
  • If anyone could make a Python module of Open Steamworks, I would nerdgasm to that [editline]10:10PM[/editline] Or actually I might just learn C# since Python is a fucking pain to create GUIs for
  • [QUOTE=Denzo;17831516]If anyone could make a Python module of Open Steamworks, I would nerdgasm to that [editline]10:10PM[/editline] Or actually I might just learn C# since Python is a fucking pain to create GUIs for[/QUOTE] why would anyone make a module for such a garbage scripting language?
  • [QUOTE=gngbng;17831760]why would anyone make a module for such a garbage scripting language?[/QUOTE] Just because you don't like Python, doesn't mean it's garbage. Nearly all GTK apps are written in Python
  • [QUOTE=Denzo;17832044]Nearly all GTK apps are written in Python[/QUOTE] gtk is just as bad, and i'm pretty sure they're not.
  • [QUOTE=gngbng;17832223]gtk is just as bad, and i'm pretty sure they're not.[/QUOTE] Makes me wonder. Does something exist which you do not hate or you do not want to shit on?
  • [QUOTE=Denzo;17832696]Makes me wonder. Does something exist which you do not hate or you do not want to shit on?[/QUOTE] it's not that he hates everything, it's that everyone here seems to like the dumbest shit.
  • [quote=gay_lua_son;17832912]it's not that he hates everything, it's that everyone here seems to like the dumbest shit.[/quote] &#8195;
  • What's so bad about Python? Anyway I had an idea for something. Some module that changes your steam avatar randomly or every X minutes from a picture in a specified folder.
  • [QUOTE=MiniManz;17834305]Anyway I had an idea for something. Some module that changes your steam avatar randomly or every X minutes from a picture in a specified folder.[/QUOTE] An intriguing idea, but unfortunately isn't possible with OSW. Uploading avatars and related features are handled by the community website.
  • [QUOTE=MiniManz;17834305]What's so bad about Python? Anyway I had an idea for something. Some module that changes your steam avatar randomly or every X minutes from a picture in a specified folder.[/QUOTE] You (I) could probably make a standalone PHP script for that :D good idea
  • What about a random name changer? Have it pick a name from a list of names, maybe from a text file and have it change your name at a set interval.
  • [QUOTE=MiniManz;17836604]What about a random name changer? Have it pick a name from a list of names, maybe from a text file and have it change your name at a set interval.[/QUOTE] you can write that in like 5 seconds, just use SetPersonaName from steamFriends interface and have it change names. I've actually ran into some problems with setting the name, if it sets the name too fast it will crash steam and you'll have to replace all your dlls with a backup or just reinstall steam so be careful when spamming name changes.
  • [QUOTE=MiniManz;17836604]What about a random name changer? Have it pick a name from a list of names, maybe from a text file and have it change your name at a set interval.[/QUOTE] [cpp] #include "SteamAPI.h" #include <string> #include <ctime> // or link in your project settings #pragma comment(lib, "..\\steamclient") // 20 seconds #define TIMESPAN 20 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) std::string names[] = { "This is a witty name", "Another hilarious name", "Whatever name" }; int main() { int error; ISteamClient008 *steamClient = (ISteamClient008 *)CreateInterface(STEAMCLIENT_INTERFACE_VERSION_008, &error); HSteamPipe pipe = steamClient->CreateSteamPipe(); HSteamUser user = steamClient->ConnectToGlobalUser(pipe); ISteamFriends005 *steamFriends = (ISteamFriends005 *)steamClient->GetISteamFriends(user, pipe, STEAMFRIENDS_INTERFACE_VERSION_005); time_t lastChange = time(NULL); uint32 nameIndex = 0; uint32 maxNames = ARRAY_SIZE(names); while (true) { time_t timeNow = time(NULL); if ((timeNow - lastChange) > TIMESPAN) { std::string nameChange = names[nameIndex]; std::cout << "Changing name to: " << nameChange << std::endl; steamFriends->SetPersonaName(nameChange.c_str()); nameIndex++; if (nameIndex > (maxNames - 1)) nameIndex = 0; lastChange = timeNow; } } } [/cpp] Of course this is lacking any proper error checking. You should always check your interfaces and pipe/user to make sure you actually got them. [editline]01:51AM[/editline] In combination with [url]http://altpluzf4.is1337.net/colorname.html[/url], it could be pretty interesting.
  • except for the in-game spam of "YOU HAVE CHANGE YOUR NAME" which would probably kick you from most servers
  • Just wondering, is it possible to compile this under Code::Blocks (MinGW). I can compile it fine under Visual Studio but under Code::Blocks I get lots of errors. Most of them are things like "pasting X does not give a valid preprocessing token" and "wrong number of arguments specified for 'depreciated' attribute".
  • [QUOTE=X-Neon;17866732]Just wondering, is it possible to compile this under Code::Blocks (MinGW). I can compile it fine under Visual Studio but under Code::Blocks I get lots of errors. Most of them are things like "pasting X does not give a valid preprocessing token" and "wrong number of arguments specified for 'depreciated' attribute".[/QUOTE] Noxn what are you doing
  • [QUOTE=General1337;17800602]This is pretty cool, I made a winamp name changer thing or w/e. [img]http://www.moogen.org/other/winampplugin.jpg[/img][/QUOTE] Hate to say it but if your name is forced to something longer than the normal limit only you will see the name.