Qhimm.com Forums

Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: G3nius on 2009-03-18 13:22:37

Title: notes about FF8 internal structure
Post by: G3nius on 2009-03-18 13:22:37
Hi all!
Recently I started discovering FF8 file formats which aren't described here. And while I go thru code I see some interesting details and write about them.

This is my first article about LZS: http://viiigine.com/articles/LZS-native-unpacker.php (http://viiigine.com/articles/LZS-native-unpacker.php)
I know that LZS compression is fully discovered, but I finded that function while discovering FF8 file descriptor structures. I think this might be interesting to know, how it's works and how to force it to work faster.
Title: Re: notes about FF8 internal structure
Post by: koral on 2009-03-18 18:51:29
Great start, you seem to be serious about understanding FF8 fully!
 :-D
Title: Re: notes about FF8 internal structure
Post by: G3nius on 2009-03-18 19:43:35
Thanks. My goal is to understand meaning of data stored in files. Many things I can guess by looking on it, but in other cases I can't say anything without disassembler and debugger.
Some FF-related projects on this forum inspired me on this start. So, start of viiigine project is your "fault" too  :wink:

I would like to complete discovering FF8 file descriptor structures in a few days. This might give useful info about following data processing. I hope I'm lucky  :mrgreen:
Title: Re: notes about FF8 internal structure
Post by: Cyberman on 2009-03-18 23:10:55
It does appear to be the PC version your are tweaking.
I suppose I should do something about the PS1 version someday.

Cyb
Title: Re: notes about FF8 internal structure
Post by: G3nius on 2009-03-29 17:28:28
Other projects progressing so quick  :lol:
And we wrote two short articles:
-about LZS (again!  :? )
http://viiigine.com/articles/LZS-native-unpacker-part-2.php (http://viiigine.com/articles/LZS-native-unpacker-part-2.php)

-about descriptors of archive filesystems and resources loading in FF8
http://viiigine.com/articles/per-aspera-ad-resources.php (http://viiigine.com/articles/per-aspera-ad-resources.php)
Title: Re: notes about FF8 internal structure
Post by: halkun on 2009-03-29 18:24:20
Wait... you found the filenames? That's pretty awesome :)
Title: Re: notes about FF8 internal structure
Post by: G3nius on 2009-03-29 18:54:26
Some resource filenames are hardcoded in FF8 executable "as is", location resources are composing from maplist entry (c:\data\eng\field\mapdata\maplist) and resource extension (".id", ".msd", etc).

Maybe you spoke about another filenames. If yes, concretize your question please, because my skills in English are low.

Note: I mean PC version of FF8.
Title: Re: notes about FF8 internal structure
Post by: Colly on 2009-03-30 22:24:59
I don't know if this will be useful for anyone, but when I translated kernel.bin in FF8 (PC version), I found inside pointers to all phrases in file. :)
General note: kernel.bin has 25 sections (for magic names, item names, etc.). Every section has 2 subsections - one for pointers, and one for text.

Inside pointer subsection, very often there is "interval" between correct pointers, which has some other data (I don't know what this data is). So I create this table:

http://www.translation-ff8.xt.pl/qh/kernel-pointers.htm (http://www.translation-ff8.xt.pl/qh/kernel-pointers.htm)

Texts inside kernel.bin use DTE, but only in descriptions for items, etc., not in the names.
Title: Re: notes about FF8 internal structure
Post by: G3nius on 2009-04-03 14:04:43
Colly, thanks. I'll keep in mind your link while exploring code that uses kernel.bin.
I had a lot of work this week, but I hope I can to dedicate weekend to viiigine only.  :evil: