Author Topic: notes about FF8 internal structure  (Read 4699 times)

G3nius

  • *
  • Posts: 23
  • master of viiigine.com
    • View Profile
    • viiigine - Open Source Final Fantasy VIII engine
notes about FF8 internal structure
« 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
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.

koral

  • Guest
Re: notes about FF8 internal structure
« Reply #1 on: 2009-03-18 18:51:29 »
Great start, you seem to be serious about understanding FF8 fully!
 :-D

G3nius

  • *
  • Posts: 23
  • master of viiigine.com
    • View Profile
    • viiigine - Open Source Final Fantasy VIII engine
Re: notes about FF8 internal structure
« Reply #2 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:

Cyberman

  • *
  • Posts: 1572
    • View Profile
Re: notes about FF8 internal structure
« Reply #3 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

G3nius

  • *
  • Posts: 23
  • master of viiigine.com
    • View Profile
    • viiigine - Open Source Final Fantasy VIII engine
Re: notes about FF8 internal structure
« Reply #4 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

-about descriptors of archive filesystems and resources loading in FF8
http://viiigine.com/articles/per-aspera-ad-resources.php

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Re: notes about FF8 internal structure
« Reply #5 on: 2009-03-29 18:24:20 »
Wait... you found the filenames? That's pretty awesome :)

G3nius

  • *
  • Posts: 23
  • master of viiigine.com
    • View Profile
    • viiigine - Open Source Final Fantasy VIII engine
Re: notes about FF8 internal structure
« Reply #6 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.

Colly

  • *
  • Posts: 148
    • View Profile
    • Final Fantasy VIII PL
Re: notes about FF8 internal structure
« Reply #7 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

Texts inside kernel.bin use DTE, but only in descriptions for items, etc., not in the names.

G3nius

  • *
  • Posts: 23
  • master of viiigine.com
    • View Profile
    • viiigine - Open Source Final Fantasy VIII engine
Re: notes about FF8 internal structure
« Reply #8 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: