So, I think I am done, at least for now. There are plenty of minor UI changes I would love to make as well as some usability things, but I think it might be time to just put it out there and let people try it out and see what feedback I get. (oh and by feedback, useful stuff please. I will listen to all reasonable ideas.)

First a little bit of a disclaimer. This software was developed by me, without input by Valve, so, be careful. I have tested it fairly heavily and even employed some others to make sure to the best of our knowledge you can’t break things, but you never know. There is a restore feature if things g o wrong. So, don’t panic!

So once you have downloaded the install package and installed it. You will be presented with the following screen:

As you can see, it is fairly self explanatory, all you will likely need to do is select the User you are attempting to edit the categories for and click save. If for some reason your Icon sub path appears to be incorrect. Just remove all the text from that box. It is not currently required.

After that, the application will load your data from the Steam files and you will be presented with the following:

This is the screen you will perform most of your editing actions, the actions that can be done are:

  • Move a game from one category to another via drag drop.
  • Add a game to a category from the side list via drag drop.
  • Edit a category name via double click and entering a new name in the box.
  • Removing a game via right clicking on the game and selecting the menu item.
  • Adding a new category by right clicking the background and selecting the menu item.

Once you have completed the edits, all that needs to happen is select Save to Steam from the File menu and restart your Steam application. On restarting Steam should inherit all the changes.

In the next post I will cover off on some extra features in the Utility including Restore functionality as well as Adding a game outside of the list provided.

Also, please read the About window. This little application may not have been completed without the help of some rather nice people as well as Valve for providing what I believe is the premier digital distribution platform for games.

NB. This Application is not at all associated with Valve Software. So use at your own risk. Thanks! 

 

So, I think I have managed to get a build ready that is pretty much ready for beta testing. As you can see in the image below, things have come a fair way since the very first proof of concept type image a couple weeks back.

 Next post will be a bit of a run down on usage / how it works and also what needs to be completed before an official ‘release’ can be put out to the public.

 

Quick update (brought to your by Becks beer!) on what I managed to get through this evening based on some small amounts of feedback and my own observations.

  • Settings/Install Path registry load added
  • Username lookup added, user no longer needs to lookup their UserID from the steam directory, the list is populated with found values based on install path setting.
  • Improved performance of Steam App Data load significantly.
  • Search of lists added.
  • Auto load if previous saved settings still validate correctly.

Pretty sure that is it for now, but an explanatory image below for those not wanting to read text. ;) Also anyone testing it out, previous path provided should contain this build.

 

Ok, so I have a basic form of the application running to a standard I am mostly happy with, but what I do need is some volunteers to run said application and return back to me a saved XML log file so I can do a bit of verification that things are running as expected.

If anyone is interested in doing so, could you please send me an email -> omi@omiblog.com and I will get back to you ASAP with download details!

Meanwhile here is a run down on what would be required…

.NET Framework 4.0

Once you have that downloaded and installed and have my app downloaded and extracted to a folder. Run the exe provided. You should be presented with the following screen.

It is fairly self explanatory, basically input your Steam installation path and your UserID (which is found in your Steam installation path, then the UserData folder) and then click Save. Provided all the settings are valid of course.

Once you have done that,  all that is required is to press the Reload Appinfo Data button on the main window that appears.

This should load the various lists with data, including the right hand most, which is the log I am interested in at the moment. To save this, press the Save Log to XML button and it will save a data stamped file to the location you rant he exe from.

Simple matter of then emailing me this file and hopefully I will have more next time!

Edit: I have made a couple minor tweeks to make the setup step a hell of a lot easier. Code now detects Steam installation path from registry as well as preloads a list of UserID’s detected in the Steam installation folder. All you have to do is pick the correct one from the list. It is likely that there is only one, so easy enough. If the application can’t find the icon path, just remove that entry, the code isn’t using the icons yet anyway, so you won’t create any problems.

 

So today, I had some success. Major success.As you can see from the small image of the Steam Library, I have managed to  successfully, load, edit and then save the correct file that Steam then uses when it loads to find the categories for each ‘game’. Happy days. Now I need to tidy up some editing functionality and then some sucker  useful warm testing monkey, to hit it with a bit of  a hammer. A good day all around and I shall now head home and have a cider. Today it is Bulmers Pear.

 Edit: Small minor, but important, update. You will be pleased to know that these changes sync to the cloud. :)

 

I spent some time over the weekend fixing up some infrastructure problems (mainly due to me attempting to rapidly prototype the Utility) to get it in a state to actually potentially release to people who would be interested in it. These involved moving more towards an MVVM approach as well as a bit of multi-threading. The later was to avoid locking up the UI which is never a particularly good look for an application. ;)

Now that that has been completed, plus some tidy up work to existing class structures so they actually make sense (Steam Game, Owned Game, Category etc), work can begin on getting some nice interactive things completed. Mainly in how the user can set an individual ‘game’ to a category.

Tonight, I promise I won’t be distracted by Skyrim. No. Really. I won’t.

Edit: Have a Skyrim screenshot.

 

Simple list of things I need to get done, created on phone so likely full of typos.

- push processing to background worker thread
- compete save functionality
- backup and restore feature
- drag/drop to new category
- icons for games
- better usage of the log for debugging
- search feature

Will no doubt add more later.

Let me know if there is a feature you could really do with.

 

Over the weekend, I had some PC issues. Seems the cable to my major storage drive (Steam, TV Eps etc) was dying, or maybe it was the SATA port, either are likely culprits. This was causing write errors to the drive and also cause the drive to randomly just disappear from Windows being able to see it.

Due to this, Steam decided to completely bork itself in a way I have not yet seen before. I was forced to delete ALL files in the Steam directory except for \steamapps\ and steam.exe.  On running Steam, it nicely downloaded itself again in a working form.  Hurrah!

Although.

One critical thing was missing.

All the categories for Steam games that I had toiled with over time to create and organise. That wasn’t enjoyable. So do I now spend hours fixing this up, only for it to potentially happen again? Not on your life. I was willing to leave and forget.

But with a kick up the pants from reptilescorpio from Twitter, I start toiling away for hours attempting to find where Steam stores all this glorious information inside its configuration files. Now I thought Steam would have this data at least somewhat encrypted and/or obscured from users, so wasn’t at all hopeful of being able to access it, which I think is partly true, but I certainly found files deep in its innards that I was able to edit and then a category was magically changed inside Steam on a restart. Promise!

Next was to write some simple code to take these files and read them so that I can interpret them in a much easier to read fashion than the config files would allow (as most of them consist of one massive long string of text if viewed in say Notepad). This was done using C# and WPF (Framework 4 for those interested) and pretty soon I had the following little application up and running.

 As you can see from the above screenshot, I have a fair bit of information already loaded and sorted. From left to right in the listboxes we have: Full list of Steam applications and their id numbers, partial list of my games/apps, all category names detected from list of my games/apps and lastly a log of errors. Mostly the errors are due to mismatching appid’s from my list of games that I need to sort out.

List 1 is fairly huge, I think it is close to 3000 entries. The data for this is stored in a ~3mb text file, which to process to read of takes quite some time. So to save myself some time, once I have processed it, I can save it the XML and reload that file as needed unless there is something else I need to recover from massive text file. Which I will need to do soon as I spy things like icon paths for each app, steam store URLs and the like in there. It also might help me weed out things like dedicated servers and other extraneous data from list 1 which really aren’t required for this application.

Anyway, that is where we are at, plus a few additions that I won’t go into yet. The main reason for writing this up is just so I can keep motivated to actually finish this sucker off. I have a terribly bad habit of doing the hard yards on a personal little project and then just putting it away never to see the light of day again.

 

So I have had this site for some time, but after an initial flurry of posts let it die. Now. I could blame everything from having a child to work life being busy etc, but really I just have myself to blame.

So with the ‘new years resolution’ to actually get off my arse and keep up with projects and such.  Time to get writing and posting.

© 2012 Omikron Suffusion theme by Sayontan Sinha