Convert Halo 2 Xbox gametypes to Halo 2 Vista gametypes

Jan 14, 2019
67
25
8
Gamertag
Yuri Bacon
#1
In an attempt to figure out how to make a gametype that spawns players with no weapons like my old modded gametypes on Xbox, I figured out how to convert Xbox gametypes to H2V gametypes with hex editing! I'd make a script or program to automate this but I couldn't find a suitable command line utility that is scriptable, and I don't have the skills to make a full blown program to do this, so you'll have to do the hex editing yourself, but if you've got a lot a gametypes on your old Xbox you want to bring with you to H2V, this is way faster than trying to recreate it in game.


Requirements:
1) Your Xbox needs to be softmodded so you can FTP your gametypes off your Xbox and onto your PC.
2) You need a hex editing application. I'd recommend using HxD.


Step 1: FTP the gametypes off your Xbox


If you've already got a softmodded Xbox, you should know what to do for this (If you don't, you'll probably learn how in the process, check with r/originalxbox for your softmodding needs). The gametypes will be saved at /E/UDATA/4d530064/. You don't need to copy any of the .xbx files, just the folders and the any files in those folders. If a folder has a profile file in it, its not a gametype, so you don't need to copy it either.


Step 2: Hex Edit the gametypes


Halo 2 Xbox gametypes are made up of 3 files in a folder:
Code:
SaveImage.xbx
SaveMeta.xbx
slayer
...where slayer is the type of gametypes. If it was a Juggernaut or King of the Hill gametype, it would be juggernaut and koth respectively.

Halo 2 Vista gametypes are also made up of 3 files in a folder:
Code:
SaveImage.xbx
savemeta.bin
slayer
Notice something? Yes, they are all the same things!... mostly. SaveImage.xbx is exactly the same on both, and is just an image depicting the gametype. savemeta.bin is the same as SaveMeta.xbx, just with a couple differences you'll have to hex edit. Likewise, slayer (or whatever gametype) is the same, but with some extra fluff at the end of the file.

Lets start with slayer. Open it in HxD (or your choice of hex editor), and you should see something like this:

H2X slayer.PNG

Delete everything on lines 00000130 and 00000140. If you're curious, you can open a H2V gametype, and notice it looks exactly the same, but missing those last two lines. They are laid out exactly the same, the Xbox one just has extra data at the end of it. I don't know what it is for, but H2V doesn't need it to load the gametype, so fire at will. Once you have these two lines removed, go ahead and save it.

Now, we can move onto SaveMeta.xbx. Open it, and you should see this:

H2X Meta.PNG

Again, if you're interested in how H2V makes this file, go ahead and open savemeta.bin from a H2V gametype. The first thing to remove here is the ÿþN.a.m.e.=. so that the first character is the "S" in Slayer (or "K" in King of the Hill, etc.). The next thing you need to do is remove the null characters (the "Periods") after the last character in the gametype name. Even though the H2V savemeta.bin has null characters after the name too, all of them are 00s, where the Xbox's SaveMeta.xbx are not all 00s, as you can see in the above screenshot. After you remove the null characters ("Periods") after the last character in the gametype name, go into the hex side and start inserting 00s until the end of line 000000F0, so that you pad the file out to 256 bytes. When you are done, it should look like this:

H2V meta.PNG

Go ahead and save it. Once it is saved, rename it from SaveMeta.xbx to savemeta.bin. Don't worry about hex editing SaveImage.xbx, it remains exactly the same on both Xbox and H2V, since it's just an image. Congrats, the real leg work to convert it is done!

Now to put it in the correct place. Open File Explorer, and navigate to C:\Users\{username}\AppData\Local\Microsoft\Halo 2\Saved Games or just [B]%LocalAppData%[/B] \Microsoft\Halo 2\Saved Games. Once there, create a new folder for every new gametypes you are importing. The folder must be named SXXXXXXX, where X can be any combination of numbers, just make sure there isn't already a folder with that exact name. Open that folder, and copy over SaveImage.xbx, savemeta.bin, and slayer (or whatever gametype it is).

Congrats! You are now done. Load up Cartographer and make sure that the gametypes show up under Settings -> Gametype Variants, and that the settings are the same as they were on the Xbox, then take it the extra mile and load one up in a network game to make sure they work. If everything is in order, go ahead and repeat for every gametype you have, and enjoy saving a lot of time. If you want to go the extra distance, you can find out what every hex value does and edit it and see what happens, but what happens after is all on you. (Tip: 000000D0 06 is the byte for primary weapon! 01 represents no weapon, and 13 is for Sentinel Beam. You can find out more from there.)

Just a quick side note: I don't really know where this thread belongs so I put it here, and I blame the mods if it's in the wrong place :p JK, but you know what I'm saying. Enjoy all!

EDIT: As a quick afterthought, you should make a text file list every folder name (Ex. S000001) and what gametype is in it (SWAT [Slayer]) and put it with all of your save games so you can quickly find one if you ever want to upload it somewhere or delete it or hex edit for lolz or whatever.
 
Last edited:

tweek

Dev
Project Cartographer Staff
Nov 29, 2013
897
124
43
#3
Wow this is really cool, didn't know this was possible. I can probably write a shitty C# app that can do this. You should share your favorite gametypes too :). I remember having a slayer variant that spawned 4 tanks on coag, that was fun
 
Jan 14, 2019
67
25
8
Gamertag
Yuri Bacon
#4
Funny you should mention that 'cause getting one of my favorite gametypes off Xbox was what I was trying to do. I have a modded mainmenu.map on my xbox that allows None to be choosen for the primary weapon (replacing Sentinel Beam), and allows you to change almost all options for almost all gametypes from quick options in lobby (super helpful) so I ended up making a gametype where no one spawns with any weapons or grenades and everyone has one life, so you have to scamble for whatever weapons you can get your hands on and be the last man standing (Battle Royale basically). I couldn't find any similar gametype modding tools for H2V, and mainmenu wouldn't do None for the primary weapon either, so I ended up deciding to try and move it from my Xbox and get it to work. Well, it worked all right :) I'll go post it and some other good ones in the gametype thread, but now that I know I can edit gametypes by hex editing, I think I'm going to have some fun in the coming days hex editing gametypes to figure out what every bit changes and what all changes I can make that the game doesn't normally allow.

EDIT: I thought there was a dedicated thread for sharing gametypes somewhere here but I guess there is only the playlist sharing thread. Maybe I confused it for that >.>
 
Last edited: