Modding: Custom Textures

NOTE: This tutorial assumes you have unpacked your game files using QuickBMS and have deleted/backed up your .DAT file.

Requirements: Any photo editing program compatible with DDS format, QuickBMS, Noesis, Hexadecimal Mantis' Noesis script for HGP and NUP files, and a hex editor.

I recommend paint.net for photo editing and HxD for hex editing. You can get Hexadecimal Mantis' Noesis script here: https://github.com/HexadecimalMantis0e/Bionicle_Heroes_textures_PC

In this example I will be replacing Balta's textures with my own.

Step 1: Open up QuickBMS and follow the same steps as in our .dat extraction guide (Modding: Extracting .dat file), except you want the input archive to be Bionicle Heroes\chars\shopkeeper\shopkeeper_pc.pak, and the output folder to be the same folder the .pak file is in

Step 2: Backup or delete the .pak file - it is important it does not have its same name or it will override your modified HGP/NUP!

Step 3: Install Hexadecimal Mantis' script by placing it in a python file inside of the noesis plugins\python folder

Step 4: Drag and drop the extracted file from the .pak onto Noesis viewport. Keep in mind some HGP or NUP files don't function properly as they belong to an older format (like matoran_red.) All archives actually used by the game that aren't unused content should function properly. HGP and NUP files, for the purposes of this tutorial and for the Noesis script, are otherwise the same.

Step 5: Export the textures in preview from Noesis, and they should export as DDS files. You should get three different sets of textures - one with colour data, one which is a purplish-blue colour, and one which has multi-coloured wavy lines across it. The first one with colour data is the one you want - the other two are for more complicated edits that only affect surface detail.

Step 6: Modify your chosen texture.

Step 7: Save your modified texture with BC2 (Linear, DXT3) compression format

Step 8: Open your texture and the HGP/NUP file in your hex editor

Step 9: Look through the DDS textures contained within the HGP/NUP for one with very similar hex data to your modified texture. Note it will differ little bit, but if you look for all DDS textures in the HGP/NUP file, it should be obvious which one syncs up. If you're struggling, you can use the unmodified texture's hex data to perfectly sync up which entry your modified texture should go in

Step 10: Copy your texture's hex data and paste it over the hex data of the original texture within the HGP/NUP file. If your hex editor notifies you the file size will change, you have incorrectly copied your hex data. If you want to be sure, copy the DDS header data, too, to ensure you perfectly sync it up.

Provided you've followed the tutorial correctly, your modified texture will now show up in-game. Note that it is important to keep a backup of the original archives and pak files because incorrectly following the tutorial can corrupt a model or texture and cause a hard crash whenever that model is supposed to be displayed on screen, as well as a myriad of other visual glitches.