1. Full version of Battlefront II
2. Modded Xbox
3. FTP software
4. BF2 Mod Tools for PC
5. Hex Editor (preferably Hex Edit or Hex Workshop)
I don’t know about anyone else, but vehicle swapping in SWBF2 has been one of my all-time goals for modding the game...for the Xbox. And I’m not talking about swapping a hover tank for a speeder bike...think bigger. I’m talking about swapping a ground vehicle for a flying vehicle. For this tutorial we’ll be exchanging one of the Rebel Alliance hover tanks for a Rebel Alliance Snow Speeder on the Yavin Temple conquest map.
First off you’re going to need to copy Battlefront II to your Xbox HD. Next you’re going to need to copy over (or FTP) the yav1.lvl file from your Xbox to your PC. Next up is the hex editing...yes, there’s still hex editing involved with this.
So open up yav1.lvl with your hex editor. Now for referential purposes you might want to goto your BF2_ModTools\Assets\Worlds\Yav\World1 folder and open up Yavin1_Conquest.lyr with notepad. Goto the toolbar and click on find; search up “spawn_temple6". It should bring you down to the following line:
Object("Spawn_temple6", "com_item_vehicle_spawn", 1404899818)
If you scroll down you should see that it spawns two vehicles, one for the Republic and one for the Rebels. If you’ve played Yavin temple then you’ll know that this is one of the tanks that appear directly in front of the temple. Now you can’t change anything in this file but you can use it for reference when finding the hexadecimal codes. So go back to your hex editor with yav1.lvl open. Goto the toolbar and goto find, type in: spawn_temple6. The first one it comes to is not the one you want. So press F3 to find the next one. The second spawn_temple6 has the info you’re looking for.
Scroll down until you see “all_hover_combatspeeder”. You’re simply going to replace the following with “all_fly_snowspeeder”. If there are extra letters simple click over to the decimal part of the hex editor and erase the remaining letters by pressing ‘0'. Now as many of you know, this alone doesn’t work. No vehicle will spawn in the game. However, it’s because we haven’t defined the spawned vehicle enough for the game to spawn it. So save the file in the hex editor and close it out.
So now you’re going to goto the BF2 Mod Tools folder and either use a current project or create a new one (if you need help on this section refer to the following tutorial on creating a new project and editing mission scripts: http://forums.xbox-scene.com/index.php?showtopic=651999)
. Once you’re in the created-world folder you’re going to goto the common folder and open up the scripts folder. Once inside you’re going to click on the yav folder and open up yav1g_con.lua with notepad. Scroll down until you see the following lines:
You’re going to add the following: SetGroundFlyerMap(1) underneath the SetMaxFlyHeight line. So it should look like this now:
This enables flying vehicles in a ground-based map. Next you’re going to scroll down some more where the data files define the sides. At the very bottom of the Rebel Alliance side (where it says ReadDataFile(“SIDE\\all.lvl”, you should see a call for the Combat Speeder, it should look like this:
Press enter just above the all_hover_combatspeeder line and add the following line: "all_fly_snowspeeder",
So now the bottom of the Rebel Alliance data should look like this:
Scroll down some more until you get to the part that says “Level Stats”. There should be a line just below it that looks like this:
Remove the two hyphens and save the file. Munge the project. Copy over the Mission.lvl file and replace the one on your Xbox. Also copy over the yav1.lvl and put it in the Yav folder on your Xbox. When you start up Yavin on Galactic Conquest, playing as the rebels, you’ll notice that one of the Combat Speeder tanks has been replaced with a fully functional Rebel Snow Speeder. It’s like Battlefront I all over again!