|Frequently Asked Forum Questions|
|Search Older Posts on This Forum:|
Posts on Current Forum | Archived Posts
|Halo Screenshot Extractor (program)|
|Posted By: HaLo2FrEeEk <firstname.lastname@example.org>||Date: 5/16/10 9:41 p.m.|
Here I go again...
So I took a bunch of screenshots for a Spherical Panorama in Reach, only to realize halfway through that the way Reach handles screenshots is different than the way Halo 3 and Halo 3: ODST did. With Halo 3 and ODST each screenshot you took would be uploaded to Bungie.net right after taking it, which made them immediately (almost) available. With Reach though, when you go into Theater and take screenshots, they just get saved to your harddrive and are uploaded to Bungie.net after you exit the film. This presented a problem for me. Since you can only have 30 recent screenshots on Bungie.net, and I took something like 130 screenshots for the panorama, I would be left uploading a lot of screenshots to my fileshare manually. Needless to say, I didn't want to do that...so I wrote a program.
Knowing the structure of Xbox 360 files and how they store their information, I figured I'd be able to write a quick program to load in a bunch of files and extract out the JPG screenshot contained inside it. Bungie doesn't make it easy, not only are the screenshot files contained within an Xbox 360 format file (CON File), but they're also inside a Bungie format file as well, called a BLF file. That meant that I had to figure out where the BLF file started in the CON file, then figure out where the JPG picture started in the BLF file. Surprisingly, everything fit together quite nicely and 2 days later I have a working program.
Please note that you will need a way to transfer content from your Xbox 360 harddrive to your computer to use this program. The Datel memory card reader would work, but be time consuming (moving all the screenshot files to the mem card individually). You can also use XSATA or XPort, or the official Microsoft Xbox 360 Harddrive Transfer Cable. And of course you can also take the harddrive apart and plug the SATA drive directly into your motherboard. After that just use the XPlorer or XPort 360 (recommended) software to read the harddrive on your computer.
To get the files from your Xbox 360 harddrive (or memory card) to your computer, navigate into the Partition3/Content/ folder. Inside you should see some folders starting with E0, those are profile folders. You'll have to find out which one is yours, just go through until you see all the games you've played. The folders are named by the game's title id. For Halo 3 this is 4D5307E6, Halo 3: ODST is 4D530877 and the Halo Reach Beta is 4D53885C. Screenshots for Halo 3/ODST start with the word screenshot, for the Halo Reach Beta they start with the word shot. Copy those files to a folder on your computer to process them with my program. (see TODO at end)
The first thing you'll see when you open up the program is a simple layout. A menu bar, status bar, and list:
Click File > Open Single and you'll be presented with a single-select dialog, select your CON file and click Open:
Since this is a single file, there's no use presenting you with all the information, so you're automatically prompted to save the file:
Now click File > Batch and you'll be presented with a folder list, select a folder that contains multiple screenshot CON files:
Now you get a pretty list. Depending on how many valid files are in the folder you chose, it might take a little while to build the list. This list of 20 files took less than a second, but reading my folder of 130 files took about 3 seconds. Not too bad:
To save these just click Save > Save All:
And select your destination folder. You now have the option to create a new folder as well:
And finally, if you're batch processing and you have a list of files, you can double click one of the items in the list to get a quick preview of it:
You'll probably notice that the Save > Save Selected item doesn't work. Like the message says, it proved a little complicated and I was itching to release, so I didn't spend too much time on it. It should be added in an update.
Speaking of updates, I built an update feature into this program as well. Click More > Update and the program will check the server for updates, if one is available you will be notified with a message telling you your current version, the update version, and details about the update, with an option to download or ignore. If no update is available you'll also be told that.
All in all, I think this is pretty neat. Sure it's only useful for a handful of people out there with the ability to transfer content from their Xbox 360 storage devices. In updates to the program I hope to add the ability to read directly from the Xbox 360 harddrive (or memory card), to save the step of copying the files from the harddrive to your computer.
And after all that, don't think that I'm gonna forget to post a download link...
And here are some files you can test out with this:
The examples file contains 3 folders named Halo3_tests, ODST_tests, and Reach_tests, each of which have 2 screenshots in them. You can test them individually and see how the program handles the batch mode, you can test them in single mode, or you can copy them all into a single folder and test batch processing files from different games all together.
|Halo Screenshot Extractor (program)||HaLo2FrEeEk||5/16/10 9:41 p.m.|
|Re: Halo Screenshot Extractor (program)||DarkS7G||5/17/10 5:18 a.m.|
|Re: Halo Screenshot Extractor (program)||HaLo2FrEeEk||5/17/10 8:13 a.m.|
|Re: Halo Screenshot Extractor (program)||HaLo2FrEeEk||5/17/10 8:15 a.m.|
|Re: Halo Screenshot Extractor (program)||profhalo||5/18/10 9:00 a.m.|
The HBO Forum Archive is maintained with WebBBS 4.33.