Message for mods: Please sticky this topic if it deserves it!
Well, I am completely reposting this because I have just learned a few things that will improve the results of this project. Please note that you must have at least some experience with PMI'ing before you even attempt to duplicate anything on PC. If you can't PMI, or you don't know what it is, search "PMI Tutorial" using the Halomods serach button. Understood? Let's go!
Tools Required
- Halo map tools v3.0 or higher, with 64 plugin-pack
A hex editor (Google XVI32 for a good, freeware hex editor)
Patience and a brain
Now that you have everthing ready, and are raring to go, make a project folder on your desktop, called "Tags" or something, and make 3 folders inside that called "BSP", "Build" and "Offsets" just like any other PMI.
Open HMT, and open a clean, un-modded map. You can use any, but stick to a boring multiplayer map like bloodgulch, so things don't get too complicated. Batch extract your map to the "Build" folder and extract the model sections to the "BSP" folder. Now you are ready to extract you new item.
H3x 4 l1fe!
Open your hex editor, and open a DIFFERENT multiplayer map. Go to: Edit>Replace. If you are using XVI32 like I recommended, the following box should appear:

Note that I have added the correct values for the replace operation. When hex editing, it is important that the values must be the same length, otherwise HMT won't be able to read the map.
Click the "Replace All" button. The following dialogue box will appear:

Scroll back to the top of the map. In order to creat a good plasma rifle variant, you will probably want different coloured impact sparks, decals and flash bitmaps ect... To do this, we will duplicate the effects folder as well. So do another search and replace, but with the following values:

Notice how the values have to be in equal lengths again. The following box will appear:

Scroll back to the top of the map. You will probably want different reticles and ammo meters on your new weapon, so we will duplicate the ui:

Dailogue box:

Save and close the map.
Using HMT to extract the weapon
Open this new, hexed map in HMT. You will see plenty of new things when you open the map:

Click on "weapons\grunto rifle\grunto rifle" and recursively extract the metadata to the "Build" folder. When that has finished, go to: Tools>Generate raw model offset list (csv file). Save this as boardingaction.csv in the "Offsets" folder.
Now you can extract the raw models to their proper locations as normal, using the model extractor. Be sure to extract: "weapons\grunto rifle\fp\fp" as well as: "weapons\grunto rifle\grunto rifle".
Model de-crapping and rebuilding
Since you should already know how to do this, I'm not going to go into great detail.
Build a new BSP chunk, using bloodgulch.verticies, bloodgulch.indicies, and bloodgulch.sbsp in the "BSP" folder. Add the two raw models and build the chunk. Copy the new .meta file to: "levels\test\bloodgulch\bloodgulch" and overwrite the old one.
Put a clean copy of bloodgulch.map into the "Build" folder, and rebuild the map, adding "grunto rifle.weap.meta" and the new verticies and indicies on demand. Say yes to the modified start offset.
Rename the rebuilt map and put it in your "MAPS" folder.
Things to note after rebuilding
- Since we have duplicated and de-crapped the models, you can inject seperate models for your weapon, w00t!
Click "EOF" and "update" before injecting your new textures, otherwise they will update each other.
I still am trying to find out how to get seperate sounds, hex strings and message icons; look out for an update!
UPDATE: The best you can do for the sounds is to change dependancies, sorry!
I do not accept any responsibility for any loss or harm as a result from this tutorial. Best served ice cold.
