JoJo’s Bizarre Adventure All-Star Battle R: How to Add Custom Textures and Color Palettes

You can extract and inject your own character outfits with 2 easy tools.


The Tools you’ll Need

CriPakTools lets you crack open the game files labeled .cpk and extract them. You can get it here:

StoneMask lets you look into, extract, and patch files labeled .xfbin, but ONLY if it has texture files in it. You can get it here:

Put these in your ASBR directory and extract them to folders with = behind the name for organization’s sake. IGNORE any other files in my directory here that aren’t in yours besides the tools listed, my folder is just messy from figuring out modding.

Extracting the game data for textures using CriPakTools

Open up =CriPakTools and run CriPakGUI, then click File > Open CPK.

Locate the file in data/launch/data.cpk and open it. It should give you a big list of stuff that looks like this.

Click the extract files button and pick a directory anywhere you’d like. This will copy all of the game’s main files to a new folder called data.cpk_unpacked. This will take a minute to complete. Go into it and open the other folder just labeled data again. You should now have a list of folders like this.

For the sake of this tutorial, we’ll be deleting all the other folders EXCEPT for the one labeled “spc,” as it contains all the character textures. Unless you want to figure out how to mod other things in the game, we don’t need the other folders. In spc, you’ll find tons of files labeled .xfbin. These files are named with the following convention.

Now is when we break out the second tool, StoneMask!

Extracting and patching files with StoneMask

Open up =StoneMask and run the executable.

You should get a user interface that looks like this. Click on the top Browse button and navigate back to the extracted .xfbin files. Pick a file labeled “col” as part of the naming scheme and StoneMask will let you preview it.

NOTE: The listed texture on the top labeled t_0bao01_body01_d_#0 is the main texture we want; the “d” in the name most likely stands for “diffuse.” The other listed item labeled t_0bao01_body01_s_#0 is a much darker low rez version besides some patches of bright color. The “s” most likely stands for “shader layer” or “spectral map” as messing with this texture can break the glaze lighting on the models if not formatted correctly. Best to leave the second one alone for now unless your texture turns out really ugly in lighting.

Hit Export .dds below the preview and the executable will extract the texture right into the =StoneMask directory. CONGRATS MY DUDE, you now have a texture file you can edit as long as you have something like Photoshop or Paint.NET. Make whatever adjustments you like to the image at this point and save a copy of it. You can save your copy of the texture as a .dds or a .png if it’s more convenient for you, as StoneMask will automatically convert the texture as it patches it. As an example, I gave Baoh some drip cause he earns it for being such an OG.

NOTE: Try closing StoneMask while editing/saving over texture files so they don’t corrupt while StoneMask has them loaded up.

Hit “Replace selected texture” below the preview and the texture is now patched, then hit “Export modded .xfbin” and StoneMask will automatically rewrite the file in the spc directory.

Adding the modded textures to the game

Simply drag the spc folder to the data_win32 folder in the original ASBR directory. The game should read the textures from there. If not, you may have some anomaly that can be discussed in the comments or the modding community.

Check out my Baoh Drip costume mod on Nexus if you liked the look of it here!

You can also join the modding community discord through the CriPakTools page if you want help figuring out how to do more mods yourself, although they might be a bit slow… ._.

Thanks to Wolly for his great guide, all credit to his effort. you can also read the original guide from Steam Community. enjoy the game.

Related Posts:

Post Author: Robins Chew

Leave a Reply

Your email address will not be published. Required fields are marked *