Qhimm.com Forums

Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Timeslave on 2003-05-17 22:20:39

Title: Final Fantasy: Origins
Post 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
Title: Final Fantasy: Origins
Post by: Cyberman on 2003-05-17 23:06:04
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
Title: Final Fantasy: Origins
Post by: Timeslave on 2003-05-22 22:40:09
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
Title: Final Fantasy: Origins
Post by: Cyberman on 2003-05-23 15:29:18
But wait there is more!
hehehe
0xD5 - 0xDE '0' - '9'
for names :)

Cyb
Title: Final Fantasy: Origins
Post by: Timeslave on 2003-05-25 02:29:05
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
Title: Final Fantasy: Origins
Post by: Cyberman on 2003-05-25 20:48:29
I believe earlier on this year I posted some code to do LZS decompression in this discussion board.
Title: Final Fantasy: Origins
Post by: Timeslave on 2003-06-22 06:18:56
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
Title: Final Fantasy: Origins
Post by: Caddberry on 2003-06-22 07:02:21
let me know when the editor is up :)
Title: Final Fantasy: Origins
Post by: Timeslave on 2003-06-22 07:28:54
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.
Title: Final Fantasy: Origins
Post by: halkun on 2003-06-22 08:58:05
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.