If you want to help and cannot be bothered reading this yet, read the bottom of this post only. Starting after
the ======= divider.
OK people listen up. This is what I am doing and this is what needs to be done.
I am adding support for foreign games by a. Converting the file names to the US counterparts. b. Making people use the 1.02 English exe. c. using my hext.dll to change the exe addresses at RUN TIME.
This means that although you will have a fully functioning 1.02 English exe that can be modded as normal, the MO values and text will be changed when the game loads and won't come from the actual file. How is this accomplished?
I created Hext.dll, which takes memory addresses and values from ordinary text files and injects them into ff7 memory. Aali's driver supports dll. So what are the issues?
The issues are:
1. The 1.02 exe has limited text space as it was designed for English. Certain foreign words or phrases will not fit. In these circumstances someone will have to CUT the words down so that they work with a 1.02 exe. The best way to make sure this is working is to use touphscript which will automatically work out if your text is ok.
But hang on I hear you say.... that would be editing a file? Well yes it would. The thing is, I have created a tool that extracts the text in hex format into a text file that can be used with hext.dll.
2. because GAME text is changing, the GAME boxes will need editing. Sometimes GAME text itself will need moving. What can be done? Like Dei92 above, you have to MANUALLY alter hex to resize and reposition text and the boxes. Luckily due to hext this is now much easier! All you need to do is list the memory addresses with values in a plain text file in the following format
Address = Value or
Address = Value1 Value2 Value 3 So like this for example 0
0700000=22 00 90 90 90This would change those 5 values in memory starting at that address.
So what do I really need?- A working 1.02 English executable that has been translated with ts into the desired language
- A 1.02 that has also had text and boxes resized and moved to accomodate the new text.
So if you want to help this is what you do:
1. Use touphscript to place the correct text into a 1.02 exe.
When the exe text is PERFECT you SEND ME THE Touphscript file (see the very bottom of this post). I extract the hex and give you a TEXT file. That file is placed in hext folder in game root. This file is YOUR MAIN GAME FILE. Everything else you edit like box sizes are placed into this file at the top above the values that are already there.
2. You then load the game and rearrange text, boxes, and anything else not working. Everything you change is added to the top of the text file- a memory address and value.
When everything looks perfect, your job is done. You then send me the Hex compliant text file and I add it to the MO project.
To get started, as said, you need to change the actual text by altering my US template text file that is then encoded by ts. Basically, if you want to help you start HERE >>>>
==============================================================Italian is done. German is being worked on.
So don't start working on these. Download
THIS file if working on French or other languages.
And download the 1.02 exe
HERE. You will need some way of testing this which means you will need
a working English game. I will place up a small converter here soon. For now get to work changing the text.
- Edit 0_ff7.exe.txt so that it the new text is your language.
- After you have run my converter, install MO project.
- Now use touphscript to place 0_ff7.exe.txt into ff7.exe
- Load the game and make sure ALL the game text is correct to your language
- Do not worry about the boxes looking bad.
If the touphscript log reports that the text in 0_ff7.exe.txt is too large, you will need to work around the offending entry by reducing its size.
When you have done, send me your 0_ff7.exe.txt. Please check and check and check again to make sure that there are no errors or typos. After you have sent me the file, I will go into PM with you about what to do next.