[PC] Text editor - touphScript (v1.4.0)

  • Thread starter Thread starter luksy
  • Start date Start date
Status
Not open for further replies.
This tool is not for the exe, it is for game dialogue.  I don't think he is supporting changing exe dialogue, but get a hex editor and do it yourself.  It is easy to edit the game manually.
 
0.8 is out, it now automatically inserts missing windows so 99% of the text should be resizeable now.

This is quite close to being final I think, provided there are no bugs. I may add support for full tutorial editing, and possibly other ingame text too if I can be bothered  ::)
 
and as the best tester on earth I can testify that this has been testified to the best of testability.....

I hope.

There will probably be some form of bug we haven't found but the core of this is working and was an immense amount of work.  Well done Luksy!
 
v0.9 is up, a few improvements here and there, and tutorials are fully scriptable, which I know you've all been waiting for :P, and if you have FFVII installed you can run touphScript from anywhere assuming the paths are correct.
 
Last edited:
Luksy has added support for Kernel,kernel2 and scene.bin (including AI text) text editing.  Seems to work 100% so far so that's a very good release when it arrives here!  Next is FF7.exe.

To sum this up, touphScript is the ultimate game text editor, soon capable of editing almost all of the games text and allowing a distributor of a mod to make sure that edits to text will not mean having to ship entire files which end up conflicting with other peoples mods.

This is a godly tool.
 
If DLPB says so... then it is ;D

And yes, it seems like it's good as hell! ^^
 
Ok as Dan said it now supports scene.bin and kernel2.bin, I'll get to work on exe text for a 1.0 release!
 
What part of the scene.bin text are you editing? There are only enemy names, action names, and AI text to modify and AI text would be more complicated than just inserting text.
 
The AI text is being done via a search for opcode 93.  naturally if someone has added text to scenes, it won;t replace the correct text unless the person chooses to decode and then make sure the text file is altered ready for encoding properly, but other than that it is perfect.  Download it and try.  Also.. apparently there is some unused "formation" data.

tS edits ALL text in scene bin , kernel2.bin, world map, field, tutorial, and soon ff7.exe

Can you also confirm that "Ex-Soldier" is the only text in kernel.bin?
 
Last edited:
Actually, isn't it in the kernel2? I think so, although I cannot check right now.
 
The AI text is being done via a search for opcode 93.  naturally if someone has added text to scenes, it won;t replace the correct text unless the person chooses to decode and then make sure the text file is altered ready for encoding properly, but other than that it is perfect.  Download it and try.
I don't have time to try, but this doesn't sound safe. If the text length is altered then all the AI jumps would be off. If you increase it then you'd have to re-write all the headers for the enemy AI. If shorten it then you could fill the empty space with NULL value which would be considered as NOPs.

Also.. apparently there is some unused "formation" data.
Can you elaborate on that a little?

tS edits ALL text in scene bin , kernel2.bin, world map, field, tutorial, and soon ff7.exe

Can you also confirm that "Ex-Soldier" is the only text in kernel.bin?
The relevant "Ex-SOLDIER" is in the ff7.exe. Look at Aerith's info. In the KERNEL.BIN her initial name is listed as "Aerith", but when you go to name her she defaults as "Aeris". That text only exists in ff7.exe. That's where initial names come from. You can change those names to anything and it wouldn't alter the names.
Actually, that's not entirely true. The names in KERNEL.BIN are the first names, but when you get to the "enter a name" screen, it defaults to the names in ff7.exe. If you have a piece of dialog that references character 4's name before you get to name her, it will read "Aerith".
 
Would be better if tS could edit the whole AI in the scene.bin because that way it'd be safer IMO.

256 scenes * 3 enemies per scene (would be good to dump even if it's empty, to be able to fill) and I'm not sure if independant files or only a file per enemy will be good. I mean, it brings the amount of files for scene.bin to 768 and if we split it in 16 files per enemy it'd be 768*16 which is insanely big. The final word is not mine, however ;D
 
Can you elaborate on that a little?
No, but Luksy can :P

The relevant "Ex-SOLDIER" is in the ff7.exe.
The one the game uses is from the kernel is it not?  I was sure the exe one was unused?  There is a dupe in file 3 or 4 of kernel.  When I edit the text inside wallmarket it changes in game.  Surely you don't edit the exe?  Ex Soldier never gets to a name screen.

as for the AI I am pretty sure luksy has altered all the headers and pointers as well.  You would have to take it up with him though, he knows what he is doin and i don't  ;D  He definitely does edit headers and pointers though, I mean, he has just written a program that alters script in flevel too...  he is pretty competent.

edit:  the one in exe is definitely unused.  The game must take it from that file in kernel.bin.  I edited exe and it changed nothing, I edited kernel with wallmarket and it did.
 
Last edited:
NFITC1 you're absolutely right about the jumps, I hadn't considered that. Luckily it's exactly the same issue when messing around with the field script and I've already solved it, I'll update the app now, thanks again.

Also.. apparently there is some unused "formation" data.
Can you elaborate on that a little?
I didn't explain myself to Dan properly, as you will certainly know each scene has 4 formation AI scripts and 3 enemy AI scripts; although the vanilla game does not use text in the formation scripts, it's technically possible to insert text, so I check formation AI too just in case.
 
Last edited:
Just small update, the data in the exe seems to be identical to that found in file 4 of kernel.bin , except kernel.bin is used and the exe isnt.  At least this is true for offset 10h (Ex-SOLDIER) and 3ACh (Sephiroth).
 
Ex Soldier never gets to a name screen.
That's right, it's used BEFORE the name screen. That's what I meant. I probably composed that sentence out of order. After you defeat the two guards Cloud gets named so you only see the text "Ex-SOLDIER" in that one battle. After that, the game takes the name "Cloud" from the exe and uses THAT name to use as the default text for the name screen. There are several repeats of the string "Cloud" in the exe. I'm not sure which one is used.
 
Would be better if tS could edit the whole AI in the scene.bin because that way it'd be safer IMO.
I don't really want to start bloating the files any further, my original idea was a simple text editor that anyone can use. The only place I have considered anything other than text is in the tutorials because it was trivial to dump the entire file to text including ops.

It's actually safer as it is now, as manually recalculating jumps can get very ugly, very fast.
 
Status
Not open for further replies.
Back
Top