Before we start with the best part of this blog series, if you haven’t read the first part I suggest going back a few posts and doing that, its kind of a prerequisite.
Now that our textures are baked … er dumped, we have made a replacement for a texture and we want to test it out in a game, we take the replacement texture of the same name and place it in the textures-load folder underneath the PJ installation folder. This is a simple, yet effective way to start testing new images, no fuss just – moving files. 32-bit RGBA PNG files are supported … as well as the preferred format of DXT compressed textures since they are significantly smaller and load fast.
To make a bunch of textures into a pack you simply put them into a zip file, with a file in the root called 'pack.xml'. As you can guess PJ supports the ability to load textures from a zip file, so you don't have to extract hundreds of images as well. Below is an example pack.xml from a mario kart texture pack.
<?xml version="1.0" encoding="UTF-8"?>
<pack>
<supported>
<rdb>C3B6DE9D-65D2DE76-C:50</rdb>
<rdb>2577C7D4-D18FAAAE-C:50</rdb>
<rdb>6BFF4758-E5FF5D5E-C:4A</rdb>
<rdb>C9C3A987-5810344C-C:4A</rdb>
<rdb>3E5055B6-2E92DA52-C:45</rdb>
</supported>
<author>Kerber2k</author>
<version>1.2</version>
<description>Mario Kart Pack</description>
</pack>
This complete package defines what games it applies to, as well as who created it. For a user who downloaded this zip file to their desktop -- they can either right click in the rom browser and select "Install Pack" from the menu or manually move the ZIP file into the textures-load folder.

This next part is cool, and one aspect I’m particularly happy with. To use the texture pack right click on the game you want to play and click “select texture pack” as shown above.

This dialog will show you all the available texture packs available for the game that you selected as well as the one currently in use for that particular game. The nice part about this is you can have multiple packs installed for multiple games at once.
So in closing, this is one feature people have wanted the PJ core team to have for a while, I know it took a long time but I think it was well worth the wait