Chapter 6. Hacking Setup and Software

The rest of the hacks in this book are mods, which means they are not tricks or glitches—they are ways that you can hack Halo 2 itself. To try these hacks, you will need access to an Xbox with a mod chip installed—these are referred to as modded Xboxes.

Although it used to require significant effort to set up a modded Xbox, these days there are simple options. If you want to get a modded Xbox but aren’t interested in installing a mod chip, you can buy a pre-modded system online. For more information about pre-modded systems, refer to http://www.xbox-modchips.com/premodded.htm. For more information about using modded Xboxes, refer to http://www.xbox-scene.com. The following books also have a great deal of information on modding an Xbox:

The Black Art of Xbox Mods, by Jonathan Harbour (SAMS)
Game Console Hacking, by Joe Grand (Syngress)
Hacking the Xbox, by Andrew “Bunnie” Huang (No Starch Press)

Once an Xbox has been modded, you should set up FTP access so that you can network it with a PC. This access allows you to transfer Halo 2 files (such as maps) to your PC, modify them, and transfer them back to your Xbox. You can use any FTP client to perform the transfer—I use CuteFTP (http://www.cuteftp.com), which you can see in action in [Hack #54] .

Warning

The only way that Xbox mods can be played is via a system link connection. Under absolutely no circumstances should you attempt to connect to Xbox Live with either an active mod chip or a modded map. If you try to do this, you will be permanently banned from Xbox Live. Furthermore, attempting to use any mod on Xbox Live will seriously undermine the credibility of all modders. Anyone who uses a mod to cheat will lose the respect and support of the entire modding community.

The remainder of the hacks in this book will require the use of modding applications that run on a PC. With that in mind, this chapter introduces you to the most popular Halo 2 modding apps. For more information about Halo 2 mods and modding applications, refer to the tutorials on http://www.halomods.com.

Tip

The hack thermometer level for subsequent chapters is based on how difficult the hack is to reproduce with Halo 2 modding software. In other words, the work to mod the Xbox, establish the FTP connection to the Xbox hard drive, and install the modding software is not considered in the calculation of thermometer level.

Mod Your Maps with ADI

Hack Halo 2.MAP files with this popular application.

ADI is a popular tool for modding Halo 2 maps. Map modders such as MrMurder and GTJuggler use ADI for most of their work. The leader of the ADI project—The Swamp Fox—humbly shifts the credit for ADI’s success to the Halo modding community.

According to The Swamp Fox, key modders such as Iron_Forge, ViperNeo, and pfhorslayer make up the backbone of the Halo-modding community. He credits these modders with the success of the ADI application. These people have defined ways to access parts of the map and mod them. The Swamp Fox considers ADI to be a tool that you can use to speed up the processes originally created by these expert modders. ADI is available from the HaloMods Download page (http://files.halomods.com/). Because the location of the download moves around from time to time, be sure to look for sticky posts in the forums—these are posts that are kept at the top of the forum so they are easier to find.

Tip

ADI doesn’t stand for anything; the acronym came to The Swamp Fox in a dream and he liked the sound of it.

Halo 2 .MAP files contain a great deal of metadata. This data determines how the Halo 2 game engine behaves. The metadata is stored in tags and applications such as ADI allow a user to browse through the tags and make changes (see Figure 6-1).

For example, if you wanted to alter the properties of the Banshee, you would browse to the [vehi] tags and adjust the Banshee’s metadata (see Figure 6-2).

The main ADI window
Figure 6-1. The main ADI window

The fact that so much metadata is stored in Halo 2 maps is testament to how well the Halo 2 engine was developed. These properties grant game developers a great deal of flexibility when it comes to customizing the game.

Of course, the other substantial benefit is that Halo 2 modders can alter this information to change the behavior of everything from lighting to weapons. Originally, changes to the metadata had to be made using hexadecimal (hex) editing [Hack #54] . However, hex editing is a complex process and it presents enough of a barrier to entry that few people actually use the technique.

This is where applications such as ADI enter the picture. As The Swamp Fox says, these programs present the metadata in a legible format and allow you to easily make alterations. If you wanted to, you could try to make the same changes with hex editing, but most of the time, you’ll probably want to use the modding apps.

ADI has a built-in dynamic link library control shell. This means that the app can alter any metadata that someone writes a plug-in to read and write. So even if ADI doesn’t support every type of metadata on its own, someone can add it later. To stay up-to-date with your plug-ins, be sure to visit http://www.hxbdev.com and http://www.halomods.com.

Editing the Banshee tag in ADI
Figure 6-2. Editing the Banshee tag in ADI

Tip

To use all of ADI’s features, you will need to have the files shared.map, single_player_shared.map, and mainmenu.map in the same directory as the file (such as a Halo 2 map) that you are modding. These files are Halo 2 maps that can be found in the /F/games/Halo 2/maps folder on the Xbox hard drive. You can copy these files to your PC via FTP.

I will use ADI to get you acquainted with the various aspects of the Halo 2 .MAP files. Here is a brief explanation of the tools incorporated into the program.

Upon opening a map file, you will be presented with an overwhelming amount of information listed in metadata tags. On the bottom right of the main window is the toolbar. By selecting the tabs on the toolbar, you can access various ADI functions:

Tag Information.

When a meta tag is selected, its full filename will be displayed along with the following information:

Type

The tag type. For example, [effe] tags are for effects, [proj] tags are for projectiles, and [mode] tags are for Halo 2 models.

Tag Identifier

This is the tag’s reference in hex code. These references are used when the map or other meta tags need to reference the tag.

Offset

If you open the map in a hex editor, you can use this number to find the meta tag. Some hardcore modders still use this method despite the more user friendly tools that are now available.

Meta Size

This information is useful when looking to inject certain things into your modded levels. Injecting meta tags over one another is a relatively sophisticated mod.

There is also some map information that for the most part isn’t needed unless you’re doing all of your modding in hex.

Meta Functions.

The following meta functions are available:

Save Meta

Enables you to save the selected piece of metadata in a folder for possible alteration and injection.

Inject Meta

Allows you to inject saved metadata over existing metadata to add new effects or reuse existing effects in your levels. Most of the interesting mods involve combining effects from various places and putting them together to create something new.

Recursive

By selecting this option, you are able to save all the related metadata to the tag that was initially selected. This is useful for saving projectiles from single-player maps for injection into multiplayer. However, as of this writing, this tab was not yet enabled for injection.

Tag Editor.

This is where the plug-ins for ADI do their work. The plug-ins allow you to alter values in the hex code. This can affect such things as the speed of a projectile, its life span, or the damage it inflicts per hit. What can be adjusted in the Tag Editor depends on the plug-in. Not all of the Halo 2 tags are covered by an ADI plug-in.

Raw Data Editor.

As of this writing, this feature had not been implemented yet.

Meta Scanner.

This is where modders do the majority of their work. This feature enables swapping dependencies to create new effects and even projectiles. This tab is also used to “fix” the dependencies of injected metadata.

The Meta Scanner gives modders access to the inner workings of weapons and effects used to create new weapon mods. For example, when you open the Rocket Launcher projectile, you can view all of its dependencies (see Figure 6-3).

The ADI Meta Scanner showing the Rocket Launcher’s dependencies
Figure 6-3. The ADI Meta Scanner showing the Rocket Launcher’s dependencies

On the right side in the Meta Scanner, you can see the projectile’s dependencies. Here is an explanation of these items:

Hlmt / Object Properties

The projectile’s model (if any), its collision model, and any physics or shaders that it is using.

Foot / Material Effects List

Some of the projectile’s sound on impact as well as general impact effects.

Jpt! / Damage Effect

The actual damage of the projectile and any force, screen shake, explosion delay, or other effects associated with it.

Effe / Effects

The effects generated on either impact, flight, or the projectile itself. The order of these effects, required for making your own projectiles, can be learned by looking at unmodded projectiles.

Ligh / Light

The light the projectile generates as it travels toward its target. By examining other light sources and linking them into projectiles, you can dramatically change a projectile’s appearance.

Lsnd / Looping Sound

The sound effects played when the projectile is in flight. Only certain projectiles have this dependency.

Some other tags that aren’t listed in the Rocket Launcher projectile are:

Cont / Contrail

The smoke or plasma trail left in the wake of a projectile (e.g., tracer fire).

Mgs2 / Light Volume

The more solid light effects contained in the game. For example, the Spectre emits a cone of light when the boost is used.

Once you start getting to grips with what these dependencies do—and more importantly what they look like in the actual game settings—you can start to swap using the Swap Dependency button in the lower portion of the Meta Scanner window.

From here, it’s simple to move down through the roots of the projectile that you’re working on and view the rest of the dependencies. Next, you should investigate the Effects tag. To do this, you must navigate to the [effe] tag and then open effectsimpactexplosion_largescorpion_shellshell_explosion in the Meta Scanner window (see Figure 6-4).

On the right side in the Meta Scanner you can see the effect’s dependencies, which are:

Ligh / Light

This is the light generated by an explosion. Larger explosions produce more light. This can also be edited in the Tag Editor to increase the intensity and burst along with red, blue, and green light within the light.

Snd! / Sound

The effect produces this sound. Unlike the [lsnd] tag, this isn’t a looping sound—it’s played only once.

The dependencies of the Scorpion shell effect
Figure 6-4. The dependencies of the Scorpion shell effect
Deca / Decal

This is the charring or plasma burns left behind by the detonation. Some of these are bigger than others and can negatively affect the frame rate—especially if used on a rapid fire weapon or in a concentrated area. In these cases, the game engine will overlay them on top of each other. When you look at these explosions, they will cause some server lag issues until they fade.

Prtm / Particle Model

This tag is where some of the more solid effects are produced (e.g., the

Covie Carbine clip or SMG clip on a reload).

Also contained in here are two very useful effects: effectsparticle_mod-elsmesh_fxlast_ring and radius. These generate a shockwave effect around the explosion. They can be added to most explosions but require swapping in if the effect doesn’t already have a Prtm dependency.

To do this effectively is a matter of trial and error. The idea is to swap a tag like [prt3] to [prtm] the same way you swap a dependency in the Meta Scanner (using the tag drop-down box). Once you have changed the [prt3] to a [prtm], swap in the dependency for the one you want. It’s best to avoid swapping both at the same time—it sometimes doesn’t work.

Prt3 / Particle

These are the visual effects of the explosion. For example, they could

include smoke, fire, or electrical effects.

Spend some time looking at the explosion you want to mod and try to spot the dependencies in the effect. If you want to make changes, you should note the size of the tags and the order in which they appear.

The majority of the tags are labeled clearly, so finding effects that you have seen in the game is generally easy. However, if you’re having trouble finding something, just note the name of the [prt3] and go to the Bitm tags. Scroll through the list until you find the corresponding bitmaps.

To look at bitmaps, you must have the map you’re modding, mainmenu.map, single_player_shared.map, and shared.map in the same folder.

Pmov / Particle Physics

The [pmov] tag affects the shape and volume of the effects generated in the [prt3]. The ordering of the [prt3] dependencies corresponds with the order of the [pmov]s below them. Don’t swap the unknowns in the dependencies as they tend to mess up your map file and cause load problems.

Use your imagination to create new projectiles. When you get the hang of swapping meta, you may want to start to inject effects and projectiles from other multiplayer maps or even single-player maps.

Tag Editor / Meta Editor.

Open the projectile in the Tag Editor and you will find the following attributes:

Grenade

Whether the projectile is a grenade or not.

Projectile Type

A numeric value for the type of projectile.

Particle Size

This value affects the physical size of certain projectiles when they are in flight. The higher the number, the larger the projectile will appear.

Bounce life before exploding

This value determines how long after a bounce the projectile will continue to move before it detonates in the air.

Bounce distance before exploding

How far a grenade will bounce before causing an airborne detonation. The upper limit is 5.

Glow radius

The glow surrounding the projectile in flight. For example, the rocket projectile glow. The higher the number, the brighter the glow.

Damage effect distance

The effect of this value is currently unknown.

Projectile life distance

How far the projectile travels when fired. The higher the number, the farther the projectile will fly.

Life span

The time the projectile will last after being fired. This value works in tandem with the previous life distance flag.

Minimum explosion delay

The shortest time it takes certain projectiles to detonate on impact.

Maximum explosion delay

The longest time it takes certain projectiles to detonate on impact.

Weight / arc

The effect of this value is unknown.

Initial projectile speed

The starting speed for the projectile as soon as it’s fired from the weapon. If the value of the Final projectile speed attribute is higher, it will steadily increase to its maximum speed.

Final projectile speed

The maximum speed of the projectile.

Homing turning ability 1 and 2

The only two weapons that allow homing or heat seeking are the Plasma Pistol’s charged bolt and the Needler. Rockets will only heat seek vehicles and require a target lock on.

The Needler and Plasma Pistol only need the name of the target in the reticule. Once fired, the projectile will track depending on the value in the top box. The second one is unchangeable.

If you wish to make a weapon fire heat-seeking rounds, you must save and inject the Needler’s [WEAP] tag into another weapon or use the Needler as the default gun.

Once you have your projectile injected, you can start to make it faster or slower, bigger or smaller, or even add a heat-seeking feature. The choice is yours to make.

You may want to increase the damage the projectile does on impact. To make these changes, you should open the [jpt!] tag in the Tag Editor (see Figure 6-5). The types of damage are self-explanatory and have little or no effect. Let’s examine the rest of the attributes:

Projectile effects in the Tag Editor
Figure 6-5. Projectile effects in the Tag Editor
Flags Explosion and Headshot

When these are selected, they ensure that any Projectile with two [jpt!] dependencies has the minimum and maximum range added to its damage effect.

The Headshot flag means that the damage multiplier is applied to any shot hitting the target’s head. In addition, the appropriate headshot point will be added to the carnage report.

Tip

Keep in mind that only some weapons feature the headshot bonus.

Minimum Range and Maximum Range

This is for the explosion effect on grenades and large detonations. The effect is in meters, but getting it right is a matter of judgment and in-game testing.

Damage Minimum and Maximum

The minimum and maximum damage the projectile causes on impact. If they are different, the final value is randomly generated between these two values.

Force

This is an interesting value. When tagged onto projectiles, it mimics the explosive push associated with a projectile’s impact. Think of it as a kickback effect.

In multiplayer split-screen games, it’s a fun tool as it can be used to throw some scenery and players off levels or into danger and explosions.

However, for unknown reasons the force of a projectile in a system link game will only affect the host of the game. Temporary “physics” can be gained if the Host player enters the driving seat of a vehicle and other players get into the remaining seats—they will be affected while in the same vehicle.

As you can imagine, this severely limits the application of this effect.

Stun 1, Stun 2, and Stun Time

The Halo 1 stun effect from the Plasma Rifle and Ghost were dropped in Halo 2, so these two flags don’t work.

Tip

After you make any change to a map in ADI, you must sign your map before you test it out. As with other modding apps, ADI has this option built into the program—see Sign Your Custom Maps [Hack #53] for more information. Once you’ve signed the map, you’ll need to FTP it over to your modded Xbox ( [Hack #54] shows this being done with CuteFTP, but you should be able to use your favorite FTP client).

Use an Open Source Map Editor

Use the Ch2r open source application to hack your Halo 2 maps.

Ch2r (http://sourceforge.net/projects/ch2r/) is another popular Halo 2 map editor. C2morg and other modders use Ch2r as their primary tool. The interesting thing about Ch2r is that it is an entirely open source application. The project leader for the Ch2r app is a modder who calls himself XIU.

According to XIU, Chr2 was meant to be a tool for people who wanted to learn C# and Halo 2 Modding. Although the program has been successful, not many people have contributed to the code. Since the Ch2r team has always tried to help the community, most of the features were requests from users. Just like ADI [Hack #50] , Ch2r supports plug-ins. XIU worked with Iron Forge to add a plug-in system that maps out every bit of information about the metadata of each tag.

The main Ch2r window (see Figure 6-6) offers an overall view of the maps that you are modding.

The main Ch2r window
Figure 6-6. The main Ch2r window

The latest version of Ch2r offers a different layout than ADI. The tags are presented in a tree view (see Figure 6-7). Although this is an interesting way to view the data, a number of modders have opted to stick with the familiar ADI system. I suggest that you try all three of the main editors before you make a choice. Which editor (ADI, Ch2r, or DotHalo [Hack #52] ) you decide to use is often a matter of choice—you may decide to use a combination of all three.

To demonstrate how easy it is to use Ch2r, I will show how to alter the detonation delay for fragmentation grenades. First, you will need to open the tag for the Fragmentation Grenade in the Ch2r tree hierarchy. The path is objectsweaponsgrenadefrag_grenade.

The Ch2r tree view
Figure 6-7. The Ch2r tree view

Once you have the frag_grenade tag open, double-click on frag_grenade.proj (see Figure 6-8). This tag stores the metadata for the frag grenade projectile. Next, locate the entry for Explode delay and double-click it to open the ValueEdit dialog box.

The values for the frag grenade projectile
Figure 6-8. The values for the frag grenade projectile

When the window opens, change the value from 1.5 to 5 (see Figure 6-9).

Altering the delay for the frag grenade explosion
Figure 6-9. Altering the delay for the frag grenade explosion

Once you have made this change, you will need to sign the map [Hack #53] . After you’ve signed the map, you’ll need to FTP it over to your modded Xbox ( [Hack #54] shows this being done with CuteFTP, but you should be able to use your favorite FTP client). After finishing the process, you will find that the frag grenades behave quite differently.

Mod Maps with DotHalo

DotHalo offers another Halo 2 map-editing option.

DotHalo is a new version of a Halo map editor formerly known as H2Edit (Halo 2 Edit). As with ADI and Ch2r, DotHalo can be used to alter various aspects of maps. For example, this app allow you to play with textures. DotHalo is available from the HaloMods Download page (http://files.halomods.com/). Because the location of the file moves around from time to time, be sure to look for sticky posts in the forums—these are posts that are kept at the top of the forum so they are easier to find. Figure 6-10 shows the main window of DotHalo; Figure 6-11 shows the DotHalo tag editor.

DotHalo can also produce patch (.PPF) files. These patch files allow modders to store their changes and then apply them to a .MAP file using a tool called PPF-O-Matic. Since all of the map changes are stored in the patch, modders can distribute their mods without having to send around large .MAP files.

To give you an example of how DotHalo works, here’s how to alter the height of the Elite model. Using the Tags window, navigate toobjects characterseliteelite_mp(see Figure 6-12).

The DotHalo main window
Figure 6-10. The DotHalo main window
The DotHalo tag editor
Figure 6-11. The DotHalo tag editor
The elite_mp tag in DotHalo
Figure 6-12. The elite_mp tag in DotHalo

In this example, you will alter the Standing height of the Elite model. To do this, you must change the value from 0.62 to 1.62 (see Figure 6-13).

After altering the Standing Height of the Elite model
Figure 6-13. After altering the Standing Height of the Elite model

After you have made this change, you will need to use the Fix Encryption feature to sign the map [Hack #53] and then FTP the modded map back to your Xbox ( [Hack #54] shows this being done with CuteFTP, but you should be able to use your favorite FTP client).

With this change, the Elite will appear as normal to other players, but anyone playing as an Elite will have a different perspective. In general, Elite players will be able to see more of the map. There will also be areas where Elites will be able to see through walls (see Figure 6-14).

The bottom window shows the altered perspective
Figure 6-14. The bottom window shows the altered perspective

Sign Your Custom Maps

Use the Encryptomatic Signature app to sign modded map files.

Bungie signed each Halo 2 map with a data integrity signature. Without this signing process, a Halo 2 map will not load on the Xbox. A modder named Iron_Forge (from The Fantastic Six modding group) figured out how to create the signature and now all Halo 2 hackers can run modded Halo 2 maps on their modded Xbox consoles.

Without this ability, Halo 2 modding would not be possible. Although some people refer to this as a “security signature,” Iron_Forge believes that the intention of the signing is to verify that the file was copied properly to the Xbox hard drive (i.e., it effectively serves as an integrity checksum).

Whenever a hacker makes a change to a map, he must resign it (see Figure 6-15).

The same signing code is also built into ADI [Hack #50] (Checksum Recalculator, shown in Figure 6-16), Ch2r [Hack #51] (Re-Sign Map, shown in Figure 6-17), and DotHalo [Hack #52] (Fix Encryption, shown in Figure 6-18). You can use any of these apps to sign your modded maps.

The Encryptomatic Signature tool
Figure 6-15. The Encryptomatic Signature tool
ADI map signature
Figure 6-16. ADI map signature
Ch2r built-in map signing
Figure 6-17. Ch2r built-in map signing
DotHalo map signing
Figure 6-18. DotHalo map signing

If you make a change to a Halo 2 map and do not sign the map, you will see the error “You failed to load the map” when you try to use your modded map.

After you’ve signed a map, it’s time to FTP it over to your Xbox ( [Hack #54] shows this being done with CuteFTP, but you should be able to use your favorite FTP client).

Hack Halo 2 by Hand

Hack Halo 2 with a hex editor.

Although there are some great programs to help you hack Halo 2, you’ll occasionally need to get down to the lowest level possible. Welcome to the true old-school method: hexadecimal editing.

This hack shows you one of the most popular (at the time of writing) uses of hexadecimal Halo 2 hacking. That is, adding a new map to the multiplayer maps menu.

Remember that if you mess something up, you can get the original files from your official Halo 2 DVD. First, open the map in a hex editor. In this example, I am using Hex Workshop.

At offset 0x000001BC, you will see the name of the original map in plain text. Change this text to your map name. You must remember that you cannot alter the size of the file. In other words, you have to put in exactly the same number of characters as you remove. If your path is shorter than the original path, then you must replace the missing characters with zeros. You cannot use a string that is longer than the original. In this example, you are changingscenariosmultilockoutlockout to scenariosmulti est est000000 (see Figures 6-19 and 6-20).

Tip

When you type in your new name, you will be typing over the original characters. There is no need to use the Delete key.

The original hex before the change
Figure 6-19. The original hex before the change
The ASCII after the change
Figure 6-20. The ASCII after the change

Next, open mainmenu.map in one of the Halo 2 modding apps ADI [Hack #50] , Ch2r [Hack #51] , or DotHalo [Hack #52] . In this example, you’ll open up the menu in Ch2r. Go to the [matg] globals tag in the tag browser window (see Figure 6-21).

The mainmenu.map file open in Ch2r
Figure 6-21. The mainmenu.map file open in Ch2r

Next, you’ll need to open the globals.matg tag so that you can edit the metadata (see Figure 6-22).

Editing the metadata of a map file
Figure 6-22. Editing the metadata of a map file

Now fill in the information for your map. When you get to the Scenario field, you should use the same path that you typed into the hex editor (see Figure 6-23).

Entering information about your map
Figure 6-23. Entering information about your map

Note that your map will not appear in the list on the left until you choose a Value, save, and then reopen the tag (see Figure 6-24).

The Value appears after you reopen the map
Figure 6-24. The Value appears after you reopen the map

Remember to sign your modded map and the mainmenu.map file [Hack #53] before you copy the files over to your Xbox. Figure 6-25 shows a file transfer in action using CuteFTP (http://www.cuteftp.com).

Once you load the multiplayer map menu, you will see your new map added (see Figure 6-26).

If you do not sign your mainmenu.map file properly, you will not be able to start Halo 2. Instead, you will see the error “There’s a problem with the disc you’re using. It may be dirty or damaged. Press A to continue.”

You will need to FTP your modded files to the Xbox
Figure 6-25. You will need to FTP your modded files to the Xbox
The Test entry added to the list of maps
Figure 6-26. The Test entry added to the list of maps

Share Your Saved Games

Use the Xbox-Saves Manager to use other people’s saved games.

The Xbox-Saves Manager is a useful app for the Halo fan. This program allows you to save your saved profiles and game variants on your PC. While it’s true that you can do this with an Xbox memory card, this app allows you to do it without having to share the physical card between users. This means that you can share saved games with your buddies over the Net.

Xbox-Saves Manager is simple to use. Just like an FTP app [Hack #54] , you enter the IP and user information for your modded Xbox and then simply connect. Xbox-Saves Manager shows you the saves on your Xbox and on your PC (see Figure 6-27).

Once you have connected to your modded box, you can simply transfer files back and forth. In this example, the profile “Invis Cairo” in being transferred from the PC to the Xbox (see Figure 6-28). By using this shared profile, you can skip all the steps required to setup the infinite camo hack [Hack #42] . Once you have transferred the file, boot up Halo 2 and select the profile (see Figure 6-29)—that’s all there is to it. See http://www.xbox-saves.com/ for more information about using game saves.

The Xbox-Saves Manager
Figure 6-27. The Xbox-Saves Manager
Transferring a profile to the Xbox
Figure 6-28. Transferring a profile to the Xbox
Using the saved game profile
Figure 6-29. Using the saved game profile

Remix Multiplayer Levels with Campaign Mode Objects

Use Insolence to inject single-player campaign assets into multiplayer maps.

One of the frustrations you’ll run into when hacking your own maps is that campaign mode objects, such as the Fuel Rod Cannon, are challenging to inject into multiplayer maps. For most people, it is simply too much work to use single-player objects in their mods. The Insolence map editor eases this limitation.

Insolence was conceived when Iron_Forge told tjc2k4 that he wanted a program to support IFPs (Iron_Forge plug-ins). Until recently, most modding apps used dynamic plug-in systems based on Extensible Markup Language (XML). Each system was modified to include a few meta tags. The general idea for a plug-in file was that it had a list of entries with some format similar to:

The Name of something to change
The Offset/Location of the value
And The type of value it is

A plug-in was simply a list of entries like these:

  <value>
  <type>float</type>
  <offset>0x1c</offset>
  <name>Max radius</name>
 <desc>Maximum radius around the origin that the effect applys</desc>
 </value>

This meant that plug-ins would only allow you to change things for which they had an entry. Sometimes things like vehicles can have 1,000 bytes of data, with approximately 20–30 known values. In the old plug-in systems, less than 3% of the vehicle was actually modifiable. However, an IFP lists the entire structure of a tag. Even fields that are labelled “unknown” are still editable. Essentially, you can change 90%–95% of the data for a given tag. Even if you’re not sure what it is, you can change it and, by playing with it, you can figure out what it is and label it.

Once a user makes a number of changes and labels a couple of useful unknowns, they can submit the IFP back to the Insolence plug-in system. Other users can then grab the latest copy of the IFPs by using an “Update Plugins” option within the program.

Based on the clear value of IFPs, tjc2k4 started development of Insolence. He decided that a multiple document interface (MDI) would be a good way to display the information and maps. Later he decided he could do something cool with the MDI, such as drag and drop from one map to another. With some help from the other members of TF6, Insolence became what it is today.

Tip

XIU coined the initialism IFP while he was implementing limited support for IFPs in Ch2r [Hack #51] . IFP is short for Iron_Forge plug-in.

Insolence’s features include:

  • Drag and drop meta tags from map to map for a recursive move.

  • Imports all raw data from Single Player Shared to local map (prevents linking issues).

  • Right-click tags to duplicate, and then rename them.

  • Automatic Update system for IFP and native plug-ins.

  • Versatile Plug-in System, including IFP, XML, and native plug-ins.

  • Dual Modes for IFPs—“Edit Mode” and “Dev Mode.”

To demonstrate the abilities of Insolence, you’re going to move the Fuel Rod Cannon from a single-player map into the Lockout multiplayer map.

Once Insolence is open, go to the File menu, and select Open Map. You will need to open lockout.map and 04a_gasgiant.map. 04a_gasgiant.map is a single-player map that contains the Fuel Rod Cannon. The metadata tag for the Fuel Rod Cannon is the flak_cannon.weap tag.

In the 04a_gasgiant.map window, locate the flak_cannon.weap tag. If you prefer using the File Path view, the path is objectsweaponssupport_highflak_cannonflak_cannon.weap. If you’re used to the tags being sorted by their class, there is an option to switch the sorting method under the “Map Options” view. If you’re using that view, the flak_cannon.weap will be near the bottom of the [weap] group, as shown in Figure 6-30.

The flak_cannon tag shown in Insolence
Figure 6-30. The flak_cannon tag shown in Insolence

Once you find the flak_cannon.weap tag, left-click it once to select it. Then right-click and drag and drop the tag into lockout.map. A small status box will pop up to give you information about what the program is doing. The longest part is usually “Relinking,” and it may seem as though the program is frozen. It isn’t, it just has to do a lot of file reading and writing at this point, so let it be. When the move is complete, this status window will go away.

The tag is now in the multiplayer map, but it was created for single-player, so a few dependencies have to be updated. Locate the flak_cannon.weap again, using either tag class or File Path view. The path is still objectsweaponssupport_highflak_cannonflak_cannon.weap, even in Lockout. This time, double-click the tag to open it for editing with its IFP. When a tag is open for editing, you will see tabs at the bottom of the tag editing half of the program.

The first-player models (FP Models) need to be updated. These are dependencies, stored within a reflexive. This particular reflexive is only visible in “Dev Mode” (visibility is set to false in the .ifp). When you open the tag with the IFP “weap” plug-in, a list of reflexives will appear, but not FP Model, which is what we need. At the top of the plug-in area, there is a label which says “Edit Mode”—click on it to switch to “Dev Mode.”

Dev Mode allows the user to edit a lot more data, but most of it is unknown. Select the “FP Model” reflexive, and a combo box will appear. The combo box allows you to select which chunk of a reflexive you want to edit. The FP Model reflexive will have two chunks. Chunk 0 contains the FP Model and animation information for the Master Chief. Chunk 1 contains the FP Model and animation for an Elite. Select Chunk 0 first (it should be selected by default). If the model says “Nulled Out,” double-click to change it. The drop down list will contain all available models in the map. The new models you’re looking for will be at the very bottom of the list.

Change the model in chunk 0 to objectsweaponssupport_highflak_cannonflak_cannon.mode. Next, change the animation to objectscharacters masterchieffpweaponssupport_highfp_flak_cannonfp_flak_cannon.jmad.It is important that the reflexive Chunk 0 contains the animation that includes masterchief in the path, and chunk 1 contains the animation that includes dervish in the path (the dervish model is the Arbiter, but shares nearly all animations with the Elite). Once chunk 0 and chunk 1 both contain their appropriate models and animations, you are finished, so close this tag.

Next, the weapon has to be placed into the gameplay somehow. There are many ways to do this. The easiest way to do this is to open an [itmc] tag and change the dependency to the new flak_cannon.weap. I like to swap it with the Shotgun. Locate and open the multiplayersingle_weaponsshotgun.itmc tag by double-clicking on it. Select the Item Permutations reflexive, and then select the visible dependencies option.

Change the dependency to the objectsweaponssupport_highflak_ cannonflak_cannon.weap tag. This will change all of the Shotguns on the map to Fuel Rod Cannons (there’s only one in Lockout). Changing the Magnum’s [itmc] dependency to the flak_cannon would result in all three Magnums in the level becoming flak_cannons.

The last step is to fix the encryption on the map. This just requires selecting “Fix Map Encryption” from the Map Options menu. After that, close the map, and FTP it over to your Xbox [Hack #54] . Your Fuel Rod Cannon will be ready and waiting! (see Figure 6-31)

The Fuel Rod Cannon on Lockout
Figure 6-31. The Fuel Rod Cannon on Lockout
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset