I recently made tools for modding certain files in Blazblue: Centralfiction, and I put releases out for everyone to use, but they currently arent particularly useful unless someone does the research to figure out what they should be doing with the files. This post should clear up how to use these tools.

Extracting And Rebuilding Game Archives

BBCF uses a custom archive format (and more recently, a compressed archive format containing that archive format) to store files. I made a tool called unPAC1 to handle these files (and more). You can download unPAC and extract the executable into your modding folder, I recommend using a specific folder where you will make copies of all the files you’re modding, that way you have backups in case you break anything.

Extracting

Once you have a modding folder with unPAC and copies of the PAC archives you want to mod, you can simply drag the files onto the unPAC executable and it should extract them all into their own folders. Note that if you are comfortable using the command line, the program accepts a list of paths to extractable files and it will process them all like you would expect, this is nice for searching through all the files without needing to copy anything around.

Example unPAC output: char_ha_scr.pac (Hakumens script files) yields a folder of the same name, containing the files scr_ha.bin and scr_haea.bin, as well as a meta.json file which is used for storing metadata relevant to rebuilding the extracted files.

Rebuilding

To rebuild a file into its original file type, you just provide the program the path to the folder, you can do this the same way as extracting, usually by dragging the folder onto the unPAC executable.

Script Modding

To modify character scripts you will need to download my ArcSys script parsing/rebuilding tool, BBScript2. This tool will take the files inside a characters char_xx_scr.pac file (often called something like scr_xx.bin and scr_xxea.bin) and parse them into a readable and modifiable format. This program is a CLI tool, you must open CMD in the same folder as the executable or have it in your PATH to use it.

An example of parsing Hakumens script with BBScript:

// For parsing the script scr_ha.bin into a readable format and outputting it as scr_ha.txt
bbscript parse bbcf scr_ha.bin scr_ha.txt

Once you have the file parsed into a readable format, you can start messing around with the arguments of certain functions, adding new moves, changing frame data, etc. For more info on that, I recommend reading up on the scripting in my other post, A Sketch Of ArcSys Scripting. It isn’t related to BBCF, but the info carries over perfectly fine aside from function labels.

Once you’ve modified the script, you can rebuild it back into the games script format, and replace the script file in the extracted PAC folder to modify it.

// For rebuilding the script scr_ha.txt into a file usable by the game and outputting it as scr_ha.bin
bbscript rebuild bbcf scr_ha.txt scr_ha.bin

Sprite and Palette Modding

To modify sprites, unPAC has HIP (the image format used in BBCF) support. You can extract HIP files the exact same way you extract PAC files, this will give you a folder that contains the sprite with its luma indicating raw indexes, and the palette that the sprite uses. The sprite with raw indices won’t be very easy to edit unless you can see it with a palette applied, which is why I created some Aseprite3 scripts4 that allow you to easily import these files and their raw palettes (Aseprite has some implicit behavior around importing palettes that makes the normal “load palette” function unusable for these).

You can add these lua scripts into your Aseprite scripts folder and then it will give you some menu options under File>Scripts. You can click Load Raw Indexed Image to open a menu which lets you import the raw indexes along with the images palette. If you want to change out the raw palette with another one, there is another script called Load Raw Palette. To export an image, use the Export Indexed Image script (this requires no modification of the palette).

Palettes in BBCF are stored in HPL files, unPAC has support for extracting them, similar to images, it will create a folder that contains a “palette.png” file, these can be used with the aforementioned importing scripts. To modify the palette, simply change any of the pixels in the image, you can also export a palette with aseprite after using the Import Raw Palette script.

You can rebuild both images and palettes by dragging the folder containing them onto the unPAC executable, the same way it’s done for PAC files.

Tools Used For Modding


  1. unPAC ↩︎

  2. BBScript ↩︎

  3. Aseprite - You can compile it yourself if you don’t want to pay, but I recommend buying it to support the amazing developers ↩︎

  4. Aseprite Raw Image Scripts - Note, click “Code” and then click “Download ZIP” to get all the scripts, you can then drop them into your Aseprite scripts folder ↩︎