Time for a comeback!

So here I go again with my hacking of FF4 for the PSX, this time with some interesting new approach to the task, something that could also be a group effort because of the way I'm managing it at the moment. Briefly, I'm working on a code rewrite of the engine built on the PSX port made by TOSE, with the reworked code written almost entirely in C.
What does this mean? More power and ease of writing the code.

With a C framework the hacking of this game is quite faster to carry on, as you can see from these pictures:

These are to show you my personal reimplementation of the menu shell, completely made from scratch. Menus implemented so far are the following:
- Root;
- Inventory;
- Abilities/Spell/Magic (this one has a little gimmick enabling the user to pick any spells from the list, even monster commands);
- Status.
Visually speaking they are completely functional, however they lack most of user interaction. I'll be working on this as soon as I'm done gathering more information about how the game manages some of the key fields in data structures (getting that "To Next Level" value was a tough one; kudos to pinkpuff for the help!). Square did a real mess with data storage in this game. :/ I'll probably expand and rearrange some of the data if necessary.
What has been done so far on the coding side of the project:
- Updated graphics, a combination of DS and GBA assets;
- Font sets are rendered proportionally and with arbitrary screen coordinates, allowing much more text to fit and to be placed anywhere you wish;
- Most text assets have been expanded and no longer pose any real limitations, removing entirely the issues caused by fixed length strings. They can also be arranged in packages, allowing support for multiple languages like on the GBA port (you can see this from the mixed languages in my screens);
- Playable character names have been expanded to 8 letters with a simple 6-bit encoding;
- Dialog banks are compressed using MultiHuffman, which means no byte goes to waste. ;P
And here's a couple older hacks I made in full assembly (I'm already rewriting most of these to C, don't worry):

I wouldn't really dislike replacing the entire GFX with that of the GBA port, which would not just improve the generally poor quality but also fix bugs with most emulators (notice the black stuff pretty much everywhere a transparency should apply). Also replacing the streaming sound engine with a proper tracker wouldn't be too bad, but I still need to decide whether to use the DS soundtrack (to which I already have a partially complete player) or the original one, maybe with slightly updated instruments. This last change would also allow for data to freely come from the CD-Rom unit, instead of using a huge block of data as a straight copy from the SNES rom.
My project would also include a full rewrite of some of the trivial stuff posed by hacking this game, such as spell formulas. This should give a hacker enough room to hack the engine in an easier way so that custom parts could be added at will with very little effort. For example, you'd be able to add extra spells, enemies, new commands, and change the general behaviour of the engine itself.
Everyone's free to contribute with code or information to build a more complete framework! :wink: Yet, the former contribution form isn't ready to go as I need to properly put up a google code page. :P An old revision of the code can already be found
here, but I'll provide soon a link with the latest stuff.