Tuesday, September 29, 2009

New thoughts...

I fixed WM to include text changes, hopefully now under all conditions. I also added the feature to delete objects from the KERNEL.BIN. When I say "delete" I really mean "NULLify". In any given entry of an object (Weapon/Armor/Command/Attack, etc) it has a name, a description, and a set of data associated with it. Deleting the entry will blank out the name and descriptions while the data will be replaced with all NULLs. This allows the file size to be smaller for the convenience of PSX modders. There's also a large amount of data that can be removed between discs. You wouldn't need any data related to Pandora's Box until Disc 3 because you can't get it until then. You wouldn't need the text of Aeris's Limit Breaks after Disc 1, nor Sephiroth's or the "love" scripts. You get the idea, right? Well, you can now micro-manage like that to get some extra space out of it. PC modders need not delete since the size of the compressed KERNEL.BIN isn't the issue.

I also decided to allow users to delete entire scenes in PrC for the same reason. I also thought it would be nice to add some labels in the formation tab. Formations will now be referenced with the full formation ID rather than just "Formation 1", "Formation 2", etc. For example, it will now be "Form [0045]" for Formation 1 in scene 11.
Camera Coords are now grouped properly. They are labeled and two bytes are together in one cell.
Same thing with Formation Data. I'm still working out the bugs caused by joining them, but I'm getting close to being done.

I haven't uploaded either of these. I thought of uploading WM first then tail it with PrC in a few days. It just won't happen today because I lost my DSL at home for the time being (long, stupid story). I have to resort to dial-up for now (YUCK!) so no updating will occur there.

Tuesday, September 22, 2009

Current Issue

So far, it's all been working fine. The only problem that I see is that sometimes WallMarket won't save changes made to text. This doesn't happen to me, but I know it happens to others. As soon as this gets fixed I'll formally issue my challenge once again.

Introducting...

I've been in development of these two tools for nearly a year. It's gotten quite complex and I think it's time I start chronicling my efforts. I guess I should say a little about them:

WallMarket:
This was the first of the two that I made. It's a KERNEL.BIN editor for Final Fantasy 7. To those that don't know what that means, almost all non-enemy battle-related data is located here. This includes magic attack data, weapon strengths, materia attributes, accessory effects, etc. It's a LOAD of stuff. I've worked on it off-and-on for nearly a year now and I'm finally happy with the result. I'm proud to say that it can edit virtually every byte of significance in the KERNEL.BIN file! It was named this because Wall Market is a location in the game that was the trading hub of the Midgar Slums. My original desire for this was just to make the Ultima Weapon give growth slots and to increase the number of Materia slots on the armors. Since it modifies every item/materia, it was logical to name it after a large market. :)

Proud Clod:
This was originally called Heidegger and was, for a short time, little more than an attack editor for the scene.bin. This is the file that stores all enemy-related (not "monster-related" since not all enemies are monsters) data. This was originally made because it was made known to me that the attack data in the scene.bin was in the same format as the data in the KERNEL.BIN. So all this did was modify the 32 attacks in each scene. After I got further in development of WallMarket, I decided that this needed to edit much more about each enemy. The AI that guided the enemy, for example. Thus Proud Clod was born. Since this, it has been given the ability to edit enemy formations within a scene (placement of enemies, for example). It can also modify the attacks they're allowed to use. This is intended to be a companion tool with Hojo by Squall78 to complete the total manipulation of the scene.bin file! I believe I went through the data on this file and the two modify everything.

As far as my interpretation of the EULA goes, these tools do not violate it. The EULA basically says "Don't illegally distribute any pieces of this game" and "Don't reverse engineer this for the purpose of taking its contents for your own works". I'm not ripping anything out that I'm going to commercially use (or even personally use). As such, however, I do not endorse the usage of these tools to either end! The latest versions of each of these allow you to save the modifications you've made to a file that CAN be legally distributed because it is not a working piece of the game. There also isn't any "don't modify the contents of the game" for various reasons, but I would say "I can modify any byte of stored data on my computer that I WANT!"

So now that introductions are out of the way, let me say that I'll use this blog to provide information about my progress to their development. I'm not completely happy with them yet and I'd welcome suggestions to make them better. I'm pretty sure there's little more to do with WallMarket other than bug fixes, but if anyone comes up with a REALLY good feature request I'll consider it.