 |
 |
| Author |
Message |
HaLo2FrEeEk Overlord Extraordinaire
 Joined: 15 Aug 2006 Posts: 4058 Status: Offline Style: Xbox 360 Location: Trying really hard to do something
|
Post subject: Xbox 360 Theme Extractor |
|
|
Third time's the charm. I've tried writing this post 2 times already and the first time I fell asleep and my computer mysteriously turned off, the second time I got logged out when I tried posting. This time it's gonna work.
Ever since I learned about the structure of LIVE, PIRS, and CON files, I've messed around with them trying to see what I can make of it. When I found some theme files on my harddrive I started pulling out the images and putting them up on my forum, sort of a preview for people that might want to buy the theme.
Unfortunately, the task of pulling out all the images is pretty involved. Sure, I could use a tool like wxPirs to do it, but I'm the kinda guy that likes to, well, do things the hard way. If I use something that someone else made, I don't feel like I did anything. It's like cheating, you might get the right answer, but you don't know why that's the answer. The first thing I'd do when I wanted to extract a theme was to open the file in a hex editor and remove the hashes (0x2000 bytes at 0xB6000 and 0x1000 bytes every 0xAA000 bytes after that.) Then I'd go through the content list and copy out the starting cluster and filesize for each file. Once I had my list I'd go through and manually copy each section and save it. It took me about an hour or 2 altogether. I decided to build my own program to help me.
Now, I hear you saying, doesn't that go against what he just said? If he likes to do things the hard way, why is he making a program to do it for him? Well, the way I figure it, the people that made the first calculators had to know that 2+2=4, and they had to program that in. Building my own program means that I have to not only understand C# enough to actually make it work, but I have to understand how the files are stored in the STFS file structure. I'm doing the work by making a program that can do the work.
I put a decent amount of time into this this time around. I focused not just on making it functional, but also making it visually appealing. It may not be the most beautiful, but I really like how it looks. It's simple, yet elegant, and it gets the job done. I'm very proud of the result because it marks the first program I made that's actually useful, and has a visual element to it as well.
The first thing you see is the layout. I chose to go with the probably-overused dotNetBar, but it worked nicely for what I wanted.
Click Open and select a file to process and immediately a bunch of information gets filled in. You'll see the program extracts out the game tile and displays it, it also gets the theme name, total filesize, number of files contained, content size, and whether the theme is standard or premium. You'll also see the list populate with the filenames, offsets, and filesizes. Later I plan to implement a double-click-preview feature where double clicking an item will open a preview window.
Click "Dump Files" and you'll be asked to select a folder where you want to save the files. Simple enough, select your folder and click OK.
And there's the cake. All the image files are saved to your desired location. There are 2 files that I exclude from the dump, DashStyle and parameters.ini (the latter only being found in Premium themes.)
Download:
http://infectionist.com/extras/csharp/l...ractor.zip
Like I said, I'm quite proud of the way this turned out, I worked very hard on it. I merged the dotNetBar dll into the main assembly for simplicity, so the program is a 100% standalone application that will work on any computer with .NET 2.0 and above.
Please try it out and let me know if you find any problems. I tried as hard as I could to find them all and fix them, but I'm sure there's something I overlooked. Comments are also apperciated.
And just for Infectionist, here is a theme file you can use to test this out:
http://infectionist.com/extras/csharp/l...o_Drop.zip
Just unzip that file to your desktop or somewhere you'll remember and open it with the program. Don't rename it though, you need it to have no extension, the program won't open it if it has an extension. Your filename should be this:
ABDDE535550FA2C9D709C7A6CC00F6C116274A804D _________________

~HaLo2FrEeEk
I wrote:
I'm sexy, admit it.
Are you?
 |
|
| Saturday, January 30, 2010 3:20:33 am |
|
 |
 |
| Author |
Message |
Poisonblood Proto-Gravemind

 Joined: 11 Apr 2007 Posts: 1569 Status: Offline Style: Xbox Xtreme Location: New Awesometon
|
Post subject: |
|
|
|
Pivot wrote:
Stuff
Of course not. But it doesnt hurt to make your post less offensive. Start trying. _________________

HaLo2FrEeEk wrote:
Don't make him angry, he'll turn into a Elite Monster!!!!
 |
|
| Tuesday, February 9, 2010 8:19:23 am |
|
Page 1 of 2
|
|
All times are GMT - 8 Hours Goto page 1, 2 Next
|
|
Display posts from previous:
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
 |
|
|