Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Johnny_Doe

Pages: [1]
1
Guys, how can I reach administrators? Our programmer says he's been trying to register for a month but it's useless. He asked me to write here so that his problem could be solved.

2
For those who asked for a tutorial, here it is:

1) Unpack ...\FinalFantasy8\Data\main.fs archive to get  \Data\eng\sysfnt.tdw file.
2) Unpack ...\FinalFantasy8\Data\menu.fs to get \Data\eng\menu\hires\sysfld00.TEX and \Data\eng\menu\hires\sysfld01.TEX files.
3) Unpack  ...\FinalFantasy8\Data\fields.fs and few more files that are inside. You need any .msd file. The dialogues from those files can be found in the game itself. Edit the dialogues by writing the complete codepage into them. Pack the archive back.
4) Convert TEX to BMP. Redraw the fonts. Put the BMP back into TEX.
5) Open \Data\eng\sysfnt.tdw file in any HEX-editor. You should see the header, something like: 080000006C0000008588888888B847757A779966554494779447898888885887 leave out the beginning, copy the rest (not everything, a small piece should be enough).
6) Download D3DWindower. Tweak the preferences. Launch the game in windowed mode.
7) Download CheatEngine. Hook it to the launched game process.
8 ) Play the game to get to the dialogue you need. You should see some crooked, misaligned letters.
9) Use CheatEngine to find the byte sequence you've copied before. It is most likely that you found only one entry. If it wasn't found, the mistake is either in the value, or it was made during the search (you need to find a byte array, the bytes should be separated with the spacebar symbols).
10) Add the address you've found to the list. Right click on the entry and choose "View in memory" option.
11) That's it. Now it's time to have some fun. You need to change a few bytes from "76" to "7F" - you'll see a huge space appearing after some of the characters. That's the quick way to find the beginning of the alphabet (or you can calculate it by yourself - it's glyph's index / 2) and then you can start adjusting the symbols width to make it look pretty.
12) After getting the result you want, copy your changes from Cheat Engine to \Data\eng\sysfnt.tdw. file. Save them. Pack the file. Launch the game and be happy.

Caution: It is STRONGLY recommended to copy your changes as often as possible, and not after everything is done, or use PrintScreen - when the game's closed or crashed (by accident) its memory will be unloaded and your changes will be gone so that you'll have to start it all over again.
One more thing: D3DWindower intercepts any key pressed even if its window is not active at the moment (or maybe it's just me who messed up the preferences), so it would be better to remap the keys which are responsible for in-game choice (to avoid a dialogue being closed) to some "safer" ones" which you won't press by accident (you will press them though, but who knows?)
A piece of advice: When changing values in memory, CheatEngine displays them in decimal format, so that "FF" value will be displayed as "255". But the font width data takes only half of a byte which is pretty inconvenient. BUT! It allows to enter the data in hexadecimal format. Thus if one symbol is floor(8*1,67) pixels wide and the other is floor(10*1,67), you won't need a calculator with bit offset support. You just have to write it the way it is: 0xA8 (don't forget the least significat bits are the 1st symbol, the most significant bits are for the next symbol).

3
Guys, first of all I should apologize because I wrote "divided" instead of "multiplied". That was my mistake because I looked at the example and decided to change the operation name because of my lack of knowledge. An hour later I was explained that I was wrong, so I've fixed the post.  Now everything should be correct.

Secondly, all the congratulations should be addressed to our programmer, whose nickname on forum is "Equilibrium Keeper". I'm just a guy who spent five years translating the script itself. It would be a waste of time if not for two people who helped me to proofread the text. Translation for me is interesting because it gets better with time going. I wish all of you guys to finish your projects because this game is my favorite one and it means a lot to me. If anybody is interested, you're welcome to visit "consolgames.ru".
Johnny_Doe.

UPD: I was asked to write here the following: "The best way to customize the width table is to use the "Cheat Engine", because you can see the changes you make in real time. It can be executed in windowed mode with "D3DWindower": http://f-page.ru/fp/8659674e05d54cbaab874cdf264d6434

4
Alright, people, our programmer was cool enough to figure out the answer by himself. Here's the translation of what he wrote:

So we have two files:
main.fs  archive
\data\eng\sysfnt.tdw - this one is for HiRES fonts

menu.fs  archive
\data\eng\menu\sysfnt.tdw - that one is for regular fonts

Both of them have the SAME width tables
The values of "main.fs" archive's font width table should be multiplied by 1,67. The results are to be approximated to bigger values.
http://yadi.sk/d/4Tm5CiXNENrNL

The numbers are stored the same way - the width of symbols starts from the 8th byte with its description starting right after the "space" (I mean the space key on keyboard, if something) in "sysfnt.tdw" file. It takes half of a byte per symbol. The bytes from 0 to 4 - the 1st symbol, from 5 to 7 - 2nd symbol.
Suppose there are symbols of 22, 15, 11 and 7 pixels wide. In that case the values in the table would be the following:
22 / 1.67 = 13.19 => 14 (0xE)
15 / 1.67 = 8.999 => 9 (0x9)
11 / 1.67 = 6.599 => 7 (0x7)
07 / 1.67 = 4.199 => 5 (0x5)
---
9E57

As we can see the maximal absolute error is 1.66 pixels. Sometimes it is better to approximate the number to the lesser value in order to avoid leaving too big space between the symbols.

5
Hello there. I hope that's the right section for my question. Our team is translating Final Fantasy VIII into Russian and we've stuck at fonts reinsertion. Can somebody tell us where the table of width values for HiRes fonts of the PC version can be found? Our programmer needs those values for the following files:

\eng\menu\hires\sysfld00.tex
\eng\menu\hires\sysfld01.tex

We really would appreciate it if somebody could help us out.

6
Just can't wait to see this in game. Thank you all.

7
Graphical / Re: [WIP] Battle-scene Enhancement
« on: 2011-09-19 10:56:15 »
Hello guys. Don't want to trouble you but could somebody teach me how to remake textures like ones you did here? I would appreciate it if you make a kind of short tutor document with screenshots or something. I'm writing here because I couldn't find any info about it and I really like what you've done. Please mail me at [email protected] if you wish to help. Thank you.

Pages: [1]