Here is the tutorial I made:
PMI Tutorial; Halo PC: Perfect Model Injection.
- You must download HMT v3.5, HHT, and Spark Edit. Those are the links to the download links on halomaps.com.
- Open the MP map that you would like to inject the model(s) into.
- Create a new folder somewhere named [model name here] in [map name here]
- Go to Tools -> Batch Extract and click the box for Extract Metadata, and when it asks to extract BSP click Yes and extract to the folder you just made.
- After it is done, do an Extract -> BSP Model Sections and save to the same folder, except in a new subfolder name Vertices Indices.
- Close that map file and open the map you want the model from.
- If you are injecting an AI or character, click on [actr]Actor and select the model you want and at the top click on the box that says Recursive and then click Save Meta and save to the same foler you extracted the Batch Extract too. Repeat for [actv]Actor Varient, [bipd]Biped, and [mod2]Model.
- If you injecting a vehicle just save meta for [mod2]Model and [vehi]Vehicle.
- Once that is done go to Tools -> Generate Raw Model Offset List(CSV File) and save that to the same folder.
- After that is done, do a Tools -> Extract -> Raw Model and open the offsets file that you just saved.
- Select the model/models that you want to inject and save them to either characters/character name or vehicles/vehicle name seperatly.
- Then do a Tools -> Model DeCrapper/BSP Builder and add all of the raw models that you just save to the big box on top.
- For Exsisting Vertex, Index, and BSP Block section navigate to the Vertices Indices file that you made earlier and select the appropriate item for each one. Then click De-Crap These Models and Build a New BSP Chunk While We're At It.
- If it says Raw Model Not Found as an error while trying to add files to the big box make sure you extracted the raw model(s) like you were supposed to and saved them in the correct folder.
- Now go get a copy of the map you are injecting the model(s) into and paste it in the main folder.
- Now go into you BSP Vertices Indices folder and copy the [map name here].sbsp.META and copy it and paste it in the levels/test/bloodgulch and paste it there. Click yes to confirm overwriting the old file.
- Now click Tools -> Rebuild Map. In the Origional Map bar, select the map you just pasted and when it asks if it should automatically fill in the required files select yes.
- Now in the big box at the bottom for addition files right-click and select ALL of the files under the vehicles/[vehicle name here] and/or characters/[character name here] and/or scenery/[scenery name here] and/or weapons/[weapon name here] destination.
- Now click Rebuild Map.
- When it asks if there have been any new vertices added, click yes ONLY if you are importing something with a .mod2 meta file, and navigate to the Vertices Indices folder and select [map name here].vertices.new, not [map name here].vertices, but vertices.NEW. Do the same when it asks about any new Indices.
- And finally, if it asks to modify the origional starting offset, only click yes if you are injecting a file with a mod2 meta file.
- Now go to the main folder once it is done rebuilding and there should be a new file named [map name here].map.rebuild. Select this file and paste it into you Halo/Maps directory where you game reads from and delete the origional and rename the .rebuild to just .map or remove that part all together. (only if you have made a backup of that map course!)
- Now to actually be able to use the new file you injected(if you injected a vehicle only), you need to have Spark Edit.
- Open Spark Edit and click Open Cache File and select the map that you just pasted in.
- Now use W, A, S, and D to move through the map and go over to where you want the vehicle to spawn. Now click Tools -> Import Tag Into Scenario... and find the vehicle that you injected and select and click OK.
- Now go over to a vehicle and select it. Now click copy(this is a small Icon at the top of the program). Now click the hand (to move this) and move it to your likeing.
- Now click Save and save it.
- For injecting a new character, open Halo Hacker Tools.
- Now go down to a [vehi]Vehicle Tag and select a vehicle that you want them to spawn in(you have to make them spawn in a vehicle, sorry).
- Now there are tags on the right side, scroll down to the last one to five [actv] Tags and in the bottom there is a bar, click the down arrow and select your character and click Swap. It should say Swapping Dependencies Done.
- Now that's it! you got an AI to spawn in your MP map. If you want it to spawn on the ground, you will have to use Spark Edit and flip the vehicle so it falls out right away.
- For new weapons, just open HMT and go down to the [weap]Weapon tag and select a starting weapon and swap it's meta with the new weapon's(note, you can only use a Energy Sword if you change your character to an elite by injecting an AI and swapping it's [bipd]Biped meta for your own (cyborg_MP))
- For new scenery, just open Spark Edit and do a Tools -> Import New Tag Into Scenario... and click the new scenery item and then go over to a tree or something and swap it for the new scenery item under Tools.
- That's it! You just succsesfully did a PMI in about 33 easy steps!!!
That should be it!