Qhimm.com Forums
Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Timeslave on 2003-05-17 22:20:39
-
I was wondering if anyone had any information on the file formats used in final fantasy: origins.
The Files are divided into 4 folders:
FF1
FF2
M1
M2
the M1 & M2 folders contain the intro movies.
The FF1 directory contains a bunch of .PAK .GRP and .DAT files
The FF2 directory just has one .BIN file
What I'm confused about is that I figured out the text format from the game saves, i.e: what hex digits correspond to what text characters, and made a .tbl file. However when I view the text in some of the files it comes out a little garbled.
for example I found this in one of the FF1 '.PAK' files:
Agile r{FF}ogue witeh{FE}nimb{40}{02}feingers
the {} braketed text are hex values that dont correspond to text characters. I'm wondering why I'm finding these wierd garbled sections of text.
Are these garbled phrases evidence that the file is compressed? Or do psx games just store text in a wierd way?
Any advice would be appreciated, and if anyone knows where I could go to find more information on this subject, I'd be really grateful
-
As matter of fact it's entirely game dependant.
Each game stores text in a format they is convienent for them.
FF7 FF8 and FF9 have unique text encoding characteristics as well.
Some of which many are still trying to figure out.
Me and Simon Mallion are working on an editor for it.. you will have to get around the CRC check on it too.
FF1's encoding scheme is
'A' - 'Z' is 0xA1 - 0xBA
'a' - 'z' is 0xBB - 0xE0
Cyb
-
I figured out the text codes for both of the games on my own but I mean, that's not really the problem.
So I guess ff1 just stores the text in it's own format.
Also I'm not worried about CRC checksums I'm not trying to change information, just rip information out of it.
Anyway, thanks for the reply
-
But wait there is more!
hehehe
0xD5 - 0xDE '0' - '9'
for names :)
Cyb
-
I did some more looking and it looks like it's LZS compression that I'm dealing with. It doesn't look like it'll be hard to figure out. thanks though
-
I believe earlier on this year I posted some code to do LZS decompression in this discussion board.
-
One other thing, I've used different programs to extract .tim graphics from ff:origins, but none of them tell me where they found them, and I was wondering if anyone knew of a site that has documentation on the format. I've been examining a few of them but can't quite figure out all of the header.
I already understand the color format of playstation games, and I can figure out the palette and what not but there's still a lot about the file I don't understand.
thanks
-
let me know when the editor is up :)
-
Ah, I found a few documents on it which cleared up most of my problems. As for an editor, I hadn't actually planned on making one, just ripping information from the file, but if I get good at this I might take a crack at it.
Incidentally, does anyone know where I can find some good documents on the playstation? i.e: compression, assembly, that sort of thing? I've noticed that a lot of the documents out there are rather crappy quality and finding well written ones is a difficult task.
-
http://www.zophar.net/tech/psx.html
That has my PSX doc on it that I wrote oh so long ago. As far as compression goes, most of the time some kind of LZ77 (LZW/LZS) sliding window compression is used. This is usally followed with a second pass using Huffman compression (LHA). This is almost always done in software. There is no on board compressor. The MDEC has a decompressor, but it's for processing MDEC macoblock streams.