Final Fantasy 7 > FF7 Tools

[PSX] FFVII International all-in-one translation package (BETA 2)

(1/12) > >>

Final Fantasy VII International (SLPS 1057/58/59)
All-in-one translation package
I'm currently planning to release the hacking tools I'm making for FF7i (Playstation only, of course). They are meant to let you do pretty much all you'd ever want to do for hacking text, graphics, and whatever is needed for a translation. Hacking at the current state:

* Soft subtitles for the two movies that need to be translated;
* Inserts dialogue text just fine. I tried reducing duplicate scripts as much as possible by checking which strings are actually used by events. The script is more or less 1,3 MB in UTF-8;
* Automatic insertion, expansion, and relocation of the files inside the FIELD directory;
* Automatic resize of most dialogue windows on reinsertion;
* Supports extraction of tutorial segments in maps (no reinsertion of these yet, will be done soon);
* Implemented Kernel text injection, which also supports the internal real-time lzs compression and some graphical tricks to fit more text;
* Automatic full regeneration of WINDOW.BIN, which contains system textures (fonts, hud elements, etc...) and the width table for fonts;
* Can rebuild SCENE.BIN automatically and in a few instants, inserting all monster names and their skills. Can also replace those annoying bits of dialogues embedded directly inside the AI scripts;
* Implemented a variable width font for the 8x8 font, which is used only in Japanese versions of the game [FF7i only];
* Extraction and insertion of strings from the world map module;
* M-Def fix, as I've already done with the UK and US builds.
To do:

* Better and complete support for menu translation. This is being implemented through asm scripts, very easy to manage [FF7i only];
* Procedures to extract and replace textures for mini-games.
This program was born as an experiment I wanted to do with this game, to see how hard it is to hack FF7 nowadays; years ago a friend of mine translated the game into Italian with the use of almost no tools other than a couple compressors, a rudimentary repointer, and Translhextion. This unfortunately resulted in a somewhat limited work which had a few bugs and flaws here and there. Also, I was a bit disappointed by the current all-purpose hacking programs that aren't really suitable for a translation (they don't even dump to txt or replace duplicates efficiently), not to mention the fact that they only support occidental versions (boo :P).
The final product will be released in the form of source code (as a Visual C++ 2005 project) when I get enough work to make a full text translation possible. Before you ask, it can support the occidental releases, but it needs several changes to the code to do so. Oh, it will probably support the original Japanese FF7, too.

Tests showing the program at work:

Feedback topic:

Release date: when it's done. :-P

You sir, are a god among men.

Indeed. I am stunned that not only have you the ability to hack this game into submission, you have taken (what I assume is) a great amount of time to do so. Then on top of it all, you are willing to release the source code, which is almost unheard of for most miraculous feats of hacking (see emulators and 90% of the original PSX hacking tools).

I am dying to dig into this code of yours (especially the Soft subtitles solution). :)

Thank you very much Gemini for your generosity.


Is it safe to assume that this doesn't work with the US release of FF7?

It is possible to support all the versions, but it's gonna need some changes here and there (and I'm not really interested in doing so :evil:). All the formats are 100% identical and only some things vital to the translation are located inside the code move around with each different build of the game. I think the only things that can't be ported are:

* the menu translation scripts, as they actually change the code inside files, and the offsets are different;
* soft subtitles, again because it's code and this stuff likes to move around;
* the 8x8 font code, as it's pretty much unused in non-Japanese releases.


[0] Message Index

[#] Next page

Go to full version