Author Topic: [FF8PC-Steam] Tonberry Mod Creation Guide  (Read 7064 times)


  • *
  • Posts: 928
  • Artist, Modder, Musician.
    • View Profile
    • Lunatic Pandora
[FF8PC-Steam] Tonberry Mod Creation Guide
« on: 2016-11-28 23:50:41 »
Tonberry Mod Creation Guide by MCINDUS

I realize that there are probably more people out there who want to create Tonberry Mods, but get lost in the process.  This should help.

To use this guide to create new textures for Final Fantasy VIII, you must first have Tonberry Enhanced: v2 or higher installed.

NOTE:  If you wish to make your own version of a current mod, all you have to do is replace the .png's within the different mods folders in /textures.  For example, to make your own text, replace the files for SeeDReborn located in the 'sysfld00' and 'sysfld01' folders within 'sy' in /textures.  The existing hashmap files will work automatically with any texture replacements as long as they're the same size and in the same format.

The full process includes these main steps:
1.  Enable the Tonberry debug process.
2.  Dump the textures by playing the part of the game that has the textures you want.  The only way Tonberry will pull textures is by first seeing them in VRAM.
3.  Rename the texture dumps (bitmaps) for use with BerryMapper.
4.  Run the textures through 'BerryMapper' to generate the proper hashcodes.
5.  Create upscaled textures or your own art - then name them with the same naming conventions as the bitmaps (match them)
6.  Create the proper folder hierarchy in '/textures' and place your new textures there.

All NEW textures should be 1024x1024

(This is 4x the original 256x256 texture size - some are 128x256, but with the method below, we will be assuming all original textures are 256x256 - it is the 'safer' replacement)

Full Instructions:

1. Enable Tonberry Debug Mode: (Guaranteed to work)
     a.  Open prefs.txt located in the /tonberry folder and change 'debug_mode=no' to 'debug_mode=yes'
     b.  In the /tonberry folder, change the 'debug0' folder name to 'debug' (this will dump the textures into the '/nomatch' folder within '/debug')
     c.  make sure that the 'nomatch' folder within the /debug folder is NOT named 'nomatch0' - if so, delete the 0 from the file name
     [i believe you can also just enable debug mode within the prefs.txt file without renaming the debug folder, but not 100% sure]

2.  Dump the Textures
     a.  Play the portion of the game that contains the textures you wish to replace. (Game will run slow during this process)
     b.  Exit the game (or alt-tab)
     c.  Rename the debug folder back to debug0 (to make sure you're not dumping textures anymore)
     d.  Re-open 'prefs.txt' and change the debug mode back to 'debug_mode=no'

3. Renaming the Bitmaps
     a.  Find the bitmaps for the images in tonberry/debug0/nomatch
     b.  Delete all 'duplicates' -- this is very tricky, as some of the textures are nearly identical, and you must compare them for slight variances.
          (Most textures in the game have up to 16 different 'palettes', so you will find many of the same textures with different colors, etc.  You will need them all.)
     c.  Rename the bitmaps using the following directions.  This will determine your folder hierarchy in the /textures folder
          [This step will group the images using file naming conventions. Let's use my BattleField Upscale Mod as an example:]

Code: [Select]
When I dumped the battlefield textures, I named the files according to how they were used. 
Every image in the mod is given the prefix 'battlef_' to designate the mod itself. 
Then, the second part of the name is the name of each specific group of textures dealing with those battlefields - such as 'doltown' for the battles in Dollet. 
The dollet bitmap files are then named to be battlef_doltown_13, battlef_doltown_14, battlef_doltown_15, etc. - whereas the battlefield images for the open world forest are 'battlef_greenforest_13, _14, _15, etc.

This enabled me to keep all of the BattleField textures in a single 'ba' folder in /textures, with different sub-folders for each battlefield 'scene'
('battlef_doltown', 'battlef_greenforest', 'battlef_trainingcenter' etc.)

4.  Use BerryMapper to Generate the hashcodes
     d.  Download 'BerryMapper' from shunsq here:
     e.  Put your dumped, renamed bitmaps in the /INPUT folder and run Berrymapper.exe
     f.  Open the /OUTPUT folder and rename the hashmap.csv file to something that represents your mod, adding the '_hm' suffix to the name. (BattleFieldPack_hm.csv for example)
     g.  place this new hashmap folder in 'tonberry/hashmap' - this will enable your replacements

5.  Applying your own Upscales or Textures
     a.  Create your own Textures, matching the layout of the original Bitmaps
     b.  All replacements must be 1024x1024, RGB Color, and .png files.
     c.  Name the images the same names as your bitmaps from before, but as png's. (Follow Step 3c)

6.  Create the Folder Hierarchy
     a.  In /textures, create a folder with the first two letters of your texture names (For BattleFieldPack, I used 'ba' since my images all started with 'battlef_')
     b.  Within the new two-letter folder, create different sub-folders for the different image groups.  (Mine are 'battlef_doltown', 'battlef_greenforest', 'battlef_trainingcenter' etc.)
     c.  Place the textures that match the folder names within the different sub-folders.

Currently, the hashing algorithm can't determine the differences between some animations and some textures that are nearly identical - this issue may be fixed in the next version of Tonberry: Enhanced - once it gets a new hashing algorithm, but for now - many animations don't work. (eyes blinking, etc.)

This should be a huge help to Modders!  There are many things you may run into - just ask some questions below and i'll answer when I have time
« Last Edit: 2016-11-29 15:40:10 by Mcindus »


  • *
  • Posts: 928
  • Artist, Modder, Musician.
    • View Profile
    • Lunatic Pandora
Re: [FF8PC-Steam] Tonberry Mod Creation Guide
« Reply #1 on: 2018-07-21 21:13:56 »
Taming the different palettes:
I've realized that I did not go over how to 'atlas' textures together in Tonberry.  This is incredibly important!

MANY times while making mods for Tonberry, you will find the same hashmap will come up for an image that looks identical, but is a different color.  This is due to how palettes are pulled/drawn from VRAM into Tonberry.  You will need to figure out how to arrange these images!

These card images look strange!  If you look closely, you can tell that this first image is ENTIRELY just for the top left card in the image.

This means that you will need to find ALL of the separate colored palettes used on this page and create a MASTER ATLAS.

Here is the second image, where you can tell we just get Caterchepillar (sp):

So you would take card image from the first and second images and cut them out and then place them on a 'master' file.  Once you fill out all of the missing cards, then you have your completed 'master' atlas. You can then upscale this, replace the images, or do whatever you like to those cards! 

In TRIPOD, the images are actually set up as 1/2 pages (128x256) due to a custom setup via Omzy and Tonberry, and unless working with NPC's, enemies, or characters, your images will most likely be 256x256.
Here's my final master of that page!

Once you have ALL of the hashmaps to all of the different cards (or images or whatever you're looking for), you would then have ALL of them direct to the same master atlas.  So, no matter how many different numbers, you would have them all direct to the name of this 'master' file you create.


cards_1, 78974531321234546
cards_1, 78974415612345615
cards_1, 778481531231561566
cards_1, 999887984531231241
cards_1, 1896546513151561654

The first name is the MASTER file name, and the hashcode represents the different card palettes.  All of these cards go to 'cards_1', which will be the master file for every card shown in the above image.  In your images, try to use _13, _14, etc. instead of _1, _2, unless you follow the guide on the original Tonberry 1.5 page (By Omzy) very closely!

Let me know if this clears anything up!!!