Final Fantasy 8 > FF8 Tools

[PC] External Texture Support - Tonberry: Enhanced (2.04)

(1/70) > >>

Tonberry: Enhanced v2.04 by JeMaCheHi and mavirick
External Texture Support for Final Fantasy VIII
*Beta version, please let me know if there is something preventing you from using it


Hello! (I'll borrow Omzy's header, hope you don't mind bro :D )

Broken cache fixed!
I've been working Mavirick and I have been working on an enhanced version of Tonberry, as many of you would know from its original thread. You should check Omzy's original post to learn about its functioning.

What's new?:

* Persistent textures - modders now have the ability to designate textures as "persistent," meaning they will never be removed from the cache. This feature should be used primarily for the core textures, such as those replaced by SeeDReborn.
* To mark a persistent texture, simply precede the name of the texture with a bang/exclamation mark (!) in the relevant hashmap or objmap .csv. For example:
* !sysfld00_13,8637763346649579509
* Please be aware that filling the cache with persistent textures will lock it in place and all subsequent textures will fail to be replaced, so use this feature with discretion.
* Significant performance improvements - although dampened in part by the increased complexity of the persistent textures, Tonberry should be running faster than ever due to some major cache optimizations and an improvement to the way we handle the core (SeeDReborn) textures.
* No hard limits on cache_size - the cache size no longer has a hard minimum size of 100. You can now set it to 0 to disable the cache and texture replacements altogether, although Tonberry will still be touching each in-game texture and checking for replacements (that never exist). This feature should be entirely ignored by average players but could be helpful for modders. Note that you can also set your cache_size too high and cause memory overflow exceptions! If you do not have LargeAddressAware enabled for your FF8 executable, your cache_size should be no larger than 250.
* Actually disabled textures - before, textures that were disabled with a star/asterisk (*) were not handled any differently; Tonberry would simply fail to load the replacement texture when it looked for a .png file beginning with the asterisk character. Now these textures are actually excluded from the internal hashmap, which should yield a slight increase in performance and keep these textures out of your \tonberry\debug\noreplace folder. If for some reason you want these textures to show up in your debug\noreplace folder, simply change the asterisk to any other character--just so long as the texture name in the .csv does not match any file in your \textures folder.2.03:

* 2.02 broke collision resolution--textures from the collisions.csv hashmap were not properly stored in the cache, which caused bad replacements and glitching textures especially on loading screens and in menus; this issue is resolved2.02:

* We fixed the little issue with debug folders. Now unsupported textures will be on "unsupported" folder.
* Even more code optimizations!! We love code optimizations ;) 2.01:

* Caching system fixed (now it really works, I swear it!)
* More code optimizations (as usual  ;) )2.0:

* Completely redone texture caching system
* New option added to prefs.txt(cache_size) to set the maximum cache size
* New option added to prefs.txt(texture_dir) to change textures directory
* Lots of code optimizations1.61:

* Better objmap organization
* Source code tweaks. Hashcode searching should go a little faster now
* New option added to prefs.txt(debug_mode) and comments1.6:

* Better hashmap organization
* Some compilation tweaks which should make Tonberry run smootherFor now there's no much done, actually I didn't want to release anything until I had something more, but Mcindus convinced me to do it :-[ . Due to recent mods have been more and more numerous, I thought this simple update will make our lifes easier when it comes to modify your hash1map.csv file.
Now we have redone the whole caching of textures, this is gonna run with no sweat. Most of you will be able to run animated textures smoothly. We've added the possibility to change the path where the "textures" folder is stored, so you can place it on an SSD drive for even more speed. You can also tweak the cache size to fit your needs. Just refer to the prefs.txt file on "tonberry" folder for more info.
Next step: new hashing algorithm, and potentially zero collisions.


Download v1.6
Download v1.61
Download v2.01
Download v2.02
Download v2.03 Link Dead
Download v2.04

This is how it works:

* We now have two new set of folders: { [your FF8 directory]/tonberry/hashmap and [your FF8 directory]/tonberry/hashmap/disabled }and { [your FF8 directory]/tonberry/objmap and [your FF8 directory]/tonberry/objmap/disabled }
* In that "hashmap" folder you can put a set of *.csv files, with hashes that previously was at hash1map.csv
* In that "objmap" folder you can put a set of *.csv file, with the previously set at objmap.csv
* You should create a different .csv file for each mod hashes. You can name them as you like, but make sure they have *.csv extesion
Which advantages provide us this new directory system?

* We now can release mods directly with its .csv file, just ready for copy-paste and make it work. Plug and play!
* We can obviously split the "hash1map.csv" file into smaller ones.
* We won't have to deal with the old massive "hash1map.csv" file, we won't have to look for duplicated hashes... etc.
* We can disable certain mods by just by moving its csv file to the "disabled" folder.Installation:
It's fairly similar to Tonberry's previous versions

* Install VC++ 2010 Redistributable (x86)
* Extract directly into your FF8 directory (I'll call it [FF8Folder] from here)
* Copy all your hash files to [FF8Folder]/tonberry/hashmap folder
* Copy all your obj hash files to [FF8Folder]/tonberry/objmap folder
* Copy the rest of .csv files (collisions.csv and hash2map.csv) in "[FF8Folder]/tonberry" folder (Thanks Mcindus for pointing it out)
* Download and copy the corresponding textures to [FF8Folder]/textures (on its propper directories, off course!)
* Check the prefs.txt file for configuring your particular Tonberry instalation. You will find instructions on it!Hashmap files collected by Mcindus:

--- Quote from: Mcindus on 2015-02-13 19:26:47 ---
Just put these in (/steamapps/common/FINAL FANTASY VIII/tonberry/hashmap)

Project Eden
SeeD Reborn (English)
SeeD Reborn (Spanish)
SeeD Reborn (French)
SeeD Reborn (German)
Tripod (English)
Tripod (Spanish)
Tripod (German)

Other hashmaps:
Project Hellfire  G.F. Summons hashmap

**EDIT 2/20/2015**
The hashmaps to SeeD Reborn and Tripod have been updated! These updates should fix any current missing textures issue!
Spanish and French SeeD Reborn versions added!
Spanish and German Tripod versions added!

--- End quote ---

To-do list:

* Improving the hashing algorithm to be faster
* Reducing collisions to zero (or nearly zero) with a new hashing algorithm
* Redesigning the texture caching system to greatly speedup the whole system
* Take a new approach in handling native game's textures so we can separately use 128x128 texture objects
* To provide a better debug system, instead dumping the textures by random numbers.Known issues:

* The game crashes when using Squall's limit breaks around some enemies (especially Tonberry in the Centra Ruins) while both RebirthFlame and LunarCry are enabled. Fixed...? I have not been able to replicate this crash since using 2.04. While I never isolated the cause of the crash in earlier versions, I believe 2.04 to have fixed the problem. If this is not the case, please let me know.
* If the cache has been full and you've been playing for some time without seeing any text (dialog, menus, etc), the cache will dispose of the high resolution font textures and you will start to see text with mixed high-res/low-res characters. Fixed! The persistent textures feature should allow these textures to be kept in the cache indefinitely (see "What's new?").
* Some users are experiencing random crashes when using Tonberry with Project Eden. If you are having this or any other issue please post here with details so I can look into it. Until more is known about the crash, my best advice would be to save frequently. Fixed! This exception was caused by memory overflow errors; make sure your cache_size in \tonberry\prefs.txt is 250 or less.
* The overlay is still not supported by Tonberry and should be either disabled or circumvented using Mcindus' GeDoSaTo configuration.If someone is having trouble with it, please post it here and we will try to resolve it.

Thanks to Mcindus for helping me with the testing and...
Thanks Mavirick for your interest and helping with the new hashing algorithm joining the development!
Thank you Omzy for making original Tonberry, changing FF8 graphical modding forever

An important note from Omzy:

--- Quote from: Omzy on 2015-02-13 22:50:38 ---*For future modders who are hashing textures, please keep or upload a copy of the debug output textures themselves. If the hash algorithms change, this hashing will have to be re-done and it will be much easier if we have all of the original dumps.*

--- End quote ---

I'm so glad you posted this!  I know that everyone really wants a new release with a better hashing system, but until that work is completed, we really need to get people using this!
Also - I can't imagine not using the new folder hierarchy.  It makes the hashing and modding process so much cleaner and stops us from having to keep re-writing over our old hash1map.csv file - especially if we are heavily modding the game and have custom hashmaps.

In honor of this release, I am going to post the hashmap files for all of the mods currently available. 
I will be updating this list as I go!


Put these in (/steamapps/common/FINAL FANTASY VIII/tonberry/hashmap)

HorizonPack v3.0  World, Map, and Vehicles

Pick Eden or Angelwing, NOT BOTH (or there will be glitches)
Project Eden v1.0  Background Fields
Project Angelwing v1.0  Waifu Background Fields

BattleFieldPack v2.0  Battlefields

SeeD Reborn (English)  Title Screen, Text, Icons, and Menu
SeeD Reborn (Spanish)
SeeD Reborn (French)
SeeD Reborn (German)
SeeD Reborn (Italian)

Tripod v2.0 (ALL LANGUAGES)  Triple Triad Card Game

Rebirth Flame v1.2  Characters

Project Hellfire v1.2  G.F. Summons

Apocalypse v1.1  Bosses

Lunar Cry v1.2  Enemies



*For future modders who are hashing textures, please keep or upload a copy of the debug output textures themselves. If the hash algorithms change, this hashing will have to be re-done and it will be much easier if we have all of the original dumps.*

Thanks guys for your comments, I've updated the main post with the missing info.

This definitely makes things more organized for me. Love it. Can't wait to see more improvements.


[0] Message Index

[#] Next page

Go to full version