Search Site

Live Search

WLM Game Status 0.3

wlmgsv03

Last year I began creating a Windows Live Messenger plugin which set your status (through DDE) to what game you were playing. Unfortunately development was cut short when I realised it had a really nasty habit of chewing up CPU resources.

However, I'm happy to say I've squashed that bug by using a single process handler, rather than one for each game. A rather obvious mistake when you think about it, but truth be told, I haven't thought about it for months! I've also added all the games in the Xfire_Games.ini file, which is somewhere in the thousands! Obviously, I haven't tested all of these, so they may not all work.

Unfortunately, WLM still requires signed DLL's/can't seem to handled unmanaged code wrappers for the plugins so it has limited ability to 'replace' XFire for in game chat…a separate program would have to be running/called by the plugin for that to work. My knowledge of DirectX is limited at best, so it may be one of those things that never happens.

Install Instructions

  1. Download WLM Game Status from CodePlex
  2. Open up RegEdit.exe
  3. In HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger, set AddInFeatureEnabled to 1
  4. Create HKEY_LOCAL_MACHINE\SOFTWARE\Aeoth, add a new String Value called Location. Set the value of 'Location' to where you extracted the dll and xml files (ie, D:\wsg0.1)
  5. Install the DLL into the Global Assembly Cache - drag and drop it into C:\Windows\Assembly or from commandline, gacutil -I wgs.addin.dll
  6. Run Windows Live Messenger, Options, Add-ins, Find the DLL, Click 'Settings', Detect Games. Close that settings window
  7. Use the drop down where you set your 'status', and you should see a "Turn on 'WGS'". Select that.
  8. Play games!

To Do

  • Easier installer
  • In game chat (via separate program/relaying messages)
  • XFire_games.ini import utility/auto-update of database file
 

WGS v0.1 & v0.2: CPU hogs

October
7

No Comments

Tags:
,
,

Update: Updated binaries and source code now available from Codeplex!

Uh, not sure why, but I'd say avoid using my WGS addin until I release v0.3, because it seems to be using a massive 50% or more CPU usage - on both cores - on my laptop.
I might have to look into WMI and see if there are known performance issues with it, but for now, I'm just issuing a 'you may have problem with this program' warning.

Performance, and other things, are coming soon in v0.3 - but Uni is rearing its ugly head so the next version may not be out till the end of the week

Edit: Yeah, seems to be WMI (or at least the way I'm using it). Every game detection adds ~5% CPU usage.
My current detected amount of games gives me about 40% usage. Disable the addin drops it down to <9% CPU usage.

 

WLM GameStatus v0.2

Update: Updated binaries and source code now available from Codeplex!

Okay, I said I'd have a bug fix out yesterday, but I didn't get to it. On the plus side, it now uses DDE (see below), which is so much more cooler. I haven't added any other game support, but opening the XML file is easy as usual.

Changes

  • Now using DDE instead of MessengerClient API calls. This allows me to set the "Game" you're playing in WLM, rather than changing your status
    This is much cooler because it means it doesn't have to save your old status - it never overwrites it - and it looks cooler (see image below)

    dde_dead

Bug Fixes

  • The initial bug I had with WGS not saving configuration file only happened if you had Hellgate:London (Beta) installed. Removed second entry from XML, fixed.

What can I say? It is a minor point release ;)

Download v0.2

For installation instruction, read the previous post on WGS

 

WLM GameStatus v0.1

Update #2: Updated binaries and source code now available from Codeplex!

Update: this has been updated, I recommend you get the latest version by visiting the front page.

I'm a gamer, and I use Windows Live Messenger (why does this sound like an AA meeting?). I dislike it when people will start spamming talking to me asking questions like 'whatcha up to?' while I'm playing a game. So, WLM GameStatus (WGS) will automatically set my Personal Message (PSM) to the name of whatever game I'm playing, and then revert back to what I had it when I close the game

Installation

Installation is a bit convoluted, since WLM Add-in support isn't automatically enabled, that has to be done through the registry (step 2 & 3)

  1. Download and extract Zip file
  2. Open up RegEdit.exe
  3. In HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger, set AddInFeatureEnabled to 1
  4. Create HKEY_LOCAL_MACHINE\SOFTWARE\Aeoth, add a new String Value called Location. Set the value of 'Location' to where you extracted the dll and xml files (ie, D:\wsg0.1)
  5. Install the DLL into the Global Assembly Cache - drag and drop it into C:\Windows\Assembly or from commandline, gacutil -I wgs.addin.dll
  6. Run Windows Live Messenger, Options, Add-ins, Find the DLL, Click 'Settings', Detect Games. Close that settings window
  7. Use the drop down where you set your 'status', and you should see a "Turn on 'WGS'". Select that.
  8. Play game

Supported Games

So far I'm only 'supporting' games I've got installed - mainly 'cause they're the only ones I can test.

  • World of Warcraft
  • Command and Conquer 3: Tiberium Wars
  • Neverwinter Nights 2
  • Lord of The Rings Online
  • Hellgate: London (Beta)
  • Starcraft
  • Unreal Tournament 2004
  • Battlefield 2142
  • Enemy Territory: Quake Wars

If you want to add more games support, edit gamesdatabase.xml (and then run detect games again) or detectedgames.xml. Feel free to add the details of other games in the comments

In vNext (or I should say, features I'll try and add over many versions) my plans are

  • Simplify installation process
  • Add some exception handling
  • Use DDE instead of setting messenger.AddInProperties.PersonalStatusMessage. Should be a lot more friendly, and use the 'WLM' game icon
  • XFire_Games.ini file converter
  • Manual Adding/editing of games
  • More "secure" detection. Currently just looks for process name, doesn't care about where it comes from.
  • DirectX Overlays to enable in game chat. Need to sign a third party DLL to do that first, eek.

Disclaimer

While it shouldn't damage anything, if it does, its not my fault. It should be used 'as-is', and at your own risk.

 
Blog powered by Wordpress, theme designed by me (Paul Jenkins)