Earlier today, I posted a tweet. This tweet was taunting, kinda cruel even. It read:
"Anyone know how to get Halo 4 screenshots off your Xbox harddrive? Because I do :D twitpic.com/bemp56
Within minutes I was asked by literally one or two people how I'd done it. My only response was that patience was a virtue, all would come in time. When I posted that tweet, I was putting the finishing touches on some updates to a program I wrote 2 and a half years ago, during the Halo: Reach Beta. Back then (May of 2010, to be exact), I wanted a way to get ALL of my screenshots off my Xbox, not just the 30 that uploaded to "Recent Screenshots", and there was no way in hell I was uploading them 6-at-a-time to the fileshare. So, I did what anyone with a copy of Visual Studio and some experience programming would do, I wrote a program to do it for me! While I was at it, I also decided to build in support for Halo 3 and Halo 3: ODST screenshots as well, because why not. After Halo: Reach was released, I updated the program to support the retail version, and then kinda let it collect dust. I didn't even update it to support the new maps that had been added to the game.
Well, with Halo 4 came a new chance for me to finally pull my head out and update this thing. I spent literally like, 30 minutes updating the code for Halo 4 files. I was actually really lucky and had written the program decently well to start with (imagine that!), and also Halo 4 file are almost exactly the same structure as Halo: Reach ones...so yeah.
Now, you might be asking yourself what I'm going on about. Well, don't get your panties in a bunch, I'm getting there. Basically what the program allows you to do is take the screenshot files from the Halo games that you've pulled off your Xbox, and open them up to extract the actual screenshot. Sounds simple, right...it is. Like I said, back during the Reach Beta, I needed to pull in excess of 100 screenshots off my harddrive for a spherical panorama, and it came in handy for the same purpose in Halo: Reach (retail). It's especially useful right now, however, because 343, in their infinite wisdom, released a game with a feature that was incomplete (web-access to the fileshare / recent screenshots). Currently there is no way to view those glorious Halo 4 screenshots that you've taken. Don't be modest, I know they're amazing. This program fixes that, but it's gonna take a little work from you. If you already know how to pull files off of your Xbox harddrive (and you know how to identify screenshot files specifically) and don't want it explained, skip to the end where you can download not just the program executable, but also the SOURCE CODE! That's right. Source. Freaking. Code. If you DO want it explained, read on.
You'll need either a harddrive transfer kit or a USB flash drive formatted as an Xbox memory device. You'll also need some screenshots, obviously. You've got two choices. You can use the Xbox harddrive as the storage device, which might involve an extra step but will let you have access to your saved films. The other option is to use a USB drive, formatted as an Xbox memory unit, as the storage unit for the game session. By this I mean when the game loads and asks you to select a storage device. Your saved films are probably on your harddrive, so selecting that will allow you to access them, but you'll have to move the files from the harddrive to a USB device later down the line. You probably don't have your saved films on a USB device already, so selecting that will prevent you from accessing those (unless you copy your saved films from the harddrive to the USB device in the Xbox system menu.) Once you've selected the storage device, take some screenshots.
If you selected harddrive and you've got a transfer kit, or you chose to use a USB device, then you're good to go. If you chose to use the harddrive and you don't have a transfer kit, you'll need to copy the files to a Xbox-formatted USB device before you can continue. Go on, I'll wait. You'll need some software to read the devices on your computer. I personally like a program called Horizon. I won't link it here, but it shouldn't be hard to find on Google. Whatever device you chose, plug it into the computer and load up Horizon. On the right you'll get a list of files located on the device. Harddrives will have a lot more folders than USB devices, but Horizon should make it easy. Drop down the "Games" folder, then "Halo 4", and the files within should be your screenshots. Just drag the files into a folder on your computer that you can find later.
Now that you've got the files on your computer, open up my program (link is below), and either click File > Batch, drag the files, or drag the entire folder into the program window. Within a second or two the list should populate with details about the files. You can double click each item in the list to view a preview of the screenshot (click the preview window anywhere to close it). You can save individual screenshots by right clicking, and you can remove selected or inverse selected (all but what's selected) items from the list. At this point, you can just click Save > Save All and select a folder to output the JPG files to. That's it. Congratulations, you can now post your awesome screenshots on the internet.
My program has a few neat features as well. You can drag and drop individual or multiple files, or an entire folder containing screenshot files. You can open single or multiple files using the menu. In the options menu there is a checkable option called "Autosave Single". When checked, this will cause single-opened files (by dragging and dropping just one file or by using File > Open Single) to automatically prompt for a save location, unchecking it will cause the single-opened file to be added to the list. Also, you don't need to worry about only dragging files in that are compatible, files that aren't screenshots from any of the Halo games will simply be ignored. One more thing, the app has a (rudimentary) built in update feature. It doesn't automatically check for updates, but it'll let you know if it's been a while since you've checked. You can also manually check by clicking Options > Update.
Now, you're probably tired of words, so here are some differently-colored words that just so happen to be clickable:
Anyway, I hope this is as useful to you guys as it is to me, and I look forward to hearing what you guys think about it. Please let me know on Twitter @ReachChallenge
if you use it, like it, find a bug, etc.