Author Topic: Things we know about FF7's file system  (Read 13100 times)

The SaiNt

  • Administrator
  • No life
  • *
  • Posts: 1302
  • Karma: 3
    • View Profile
Things we know about FF7's file system
« on: 2001-02-04 17:20:00 »
Things we know about FF7's file system

***********************************************************************
LGP file system
***********************************************************************
Status      : Extraction and Compression is now possible

Name of program   : LGP Editor (Ficedula)
Where to get   :   http://members.tripod.co.uk/ficedula/" TARGET=_blank>http://members.tripod.co.uk/ficedula/  

***********************************************************************
Save Game System
***********************************************************************
Status      : It is fully understood and many editors are available.

Name of program   : Jenova (Qhimm)      
Where to get   :   http://www.qhimm.com" TARGET=_blank>http://www.qhimm.com  

Name of program   : FF7che (CH Khor)
Where to get   :  http://www.geocities.com/SiliconValley/7176/ff7.html" TARGET=_blank>http://www.geocities.com/SiliconValley/7176/ff7.html  
Mirrors      :  http://www.finalfantasyfanatics.net" TARGET=_blank>http://www.finalfantasyfanatics.net  

Name of program   : Cid (John White)
Where to get   :  http://sdcc10.ucsd.edu/~jkwhite/cid.html" TARGET=_blank>http://sdcc10.ucsd.edu/~jkwhite/cid.html  
Mirrors      :  http://www.finalfantasyfanatics.net" TARGET=_blank>http://www.finalfantasyfanatics.net  

***********************************************************************
Dialog & Text System
***********************************************************************
Status      : Still in development. Able to edit item names and descriptions, spell, Enemy Skill and Limit Break names and descriptions Key Item names and descriptions, Summon names and descriptions.

Name of program   : Cosmo (Ficedula)
Where to get   :  http://members.tripod.co.uk/ficedula/" TARGET=_blank>http://members.tripod.co.uk/ficedula/  

***********************************************************************
Sound System
***********************************************************************
Status      : Mostly complete (cannot edit/replace sounds)

Name of program   : FF7SND (Qhimm)
Where to get   :  http://www.qhimm.com" TARGET=_blank>http://www.qhimm.com  

***********************************************************************
Geometry System
***********************************************************************
Status      : Far from complete
Documentation   :  http://web.tiscalinet.it/Yaroze/tutor/rsd-form.htm" TARGET=_blank>http://web.tiscalinet.it/Yaroze/tutor/rsd-form.htm  
For .P files,  http://members.tripod.co.uk/ficedula/" TARGET=_blank>http://members.tripod.co.uk/ficedula/  

-----------------------------------------------------------------------
***********************************************************************
-----------------------------------------------------------------------

***********************************************************************
FF7 Compression Format
***********************************************************************
LGP file extension    : 100% complete
(Extraction and Compression Possible)
Documents about the compression system and LGP tools are available at http://members.tripod.co.uk/ficedula/" TARGET=_blank>http://members.tripod.co.uk/ficedula/

***********************************************************************
FF7 Geometry Format
***********************************************************************
.HRC file format   : 100% complete
.RSD file format   : 100% complete
.PLY file format   : 100% complete
.MAT file format   : 100% complete
.GRP file format   : 100% complete
.P file format      :  90% complete

Documents about the compression system and LGP tools are available at http://members.tripod.co.uk/ficedula/" TARGET=_blank>http://members.tripod.co.uk/ficedula/

***********************************************************************
FF7 Texture format
***********************************************************************
.TEX          : 100% complete
(Viewing and exporting possible, saving not done yet)

***********************************************************************
FF7 Field Format (FLEVEL.LGP)
***********************************************************************
Field Backgrounds   : 97% complete
Field Text      : 95% complete
Field Scripts      : ??% complete

***********************************************************************
FF7 Audio File Format
***********************************************************************
AUDIO.FMT      : 100% complete
.MID file format   : 100% complete
.WAV file format   : 100% complete

***********************************************************************
FF7 Item, Summon, Magic, etc Format
***********************************************************************
KERNEL2.BIN       : 95% complete

***********************************************************************
FF7 Video Format
***********************************************************************
.AVI (Duck Trumotion)   : 100% complete
.CAM         : ??% complete (understood only in apparent process/theory)

***********************************************************************
FF7 Executable Format   
***********************************************************************
FF7.EXE         : ??% complete

***********************************************************************
FF7 Magic System
***********************************************************************
.S         : ??% complete
.GEO         : ??% complete
"magic" files      : ??% complete

***********************************************************************
FF7 Battle System
***********************************************************************
"battle" files      : ??% complete

***********************************************************************
FF7 World Map
***********************************************************************
"world" files      : ??% complete
.ev         : ??% complete
.ta         : ??% complete
.tbl         : ??% complete

***********************************************************************
FF7 Minigames System
***********************************************************************
.wat         : ??% complete
.adr         : ??% complete
.tmd         : ??% complete

-----------------------------------------------------------------------
***********************************************************************
-----------------------------------------------------------------------

***********************************************************************
LGP File Contents
***********************************************************************

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Battle Category
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

***********************************************************************
BATTLE.LGP
***********************************************************************
11,119 files
"battle" files (no extension)

***********************************************************************
MAGIC.LGP
***********************************************************************
5,252 files
"magic" files (no extension)
.RSD (List for a specific part of a 3D model.)
.s
.TEX (special variant of .TIMs)
.P (3D Geometry file. Contains the .PLY, .MAT, and .GRP files for a 3D model. Not yet completely figured out.)
.lmd
.pXX (XX is a number)
.d
.a00
.tXX (XX is a number)
.b
.shp
.geo
.anm
.SCRIPT (Some sort of script file)
.HRC (Heirarchy file that lists skeleton data for a 3D model. Basically it lists what files it uses, and positional data.)

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
???? Category (I don't know yet, I'm at college now)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

***********************************************************************
CR_US.LGP
***********************************************************************
43 files
.TEX (special variant of .TIMs)
.BIN (Compressed archives that hold "general" data files.)

***********************************************************************
DISC_US.LGP
***********************************************************************
62 files
.TEX (special variant of .TIMs)

***********************************************************************
MOVIECAM.LGP
***********************************************************************
124 files
.CAM (Understood only in apparent theory. These files are used when field models are used on top of an .AVI.)
.txt

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Field Category
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

***********************************************************************
CHAR.LGP
***********************************************************************
12,649 files
.P (3D Geometry file. Contains the .PLY, .MAT, and .GRP files for a 3D model. Not yet completely figured out.)
.RSD (List for a specific part of a 3D model.)
.A (Animations for the 3D character models)
.TEX (special variant of .TIMs)
.HRC (Heirarchy file that lists skeleton data for a 3D model. Basically it lists what files it uses, and positional data.)


***********************************************************************
FLEVEL.lgp
***********************************************************************
729 files
"FIELD" files (LZS compressed archives that contain the field backgrounds, Dialogue, and Scripts.)
.TEX (special variant of .TIMs)
.TUT (Tutorials)

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Menu Category
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

***********************************************************************
MENU_US.LGP
***********************************************************************
50 files
.TEX (special variant of .TIMs)


&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
MIDI Category
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

***********************************************************************
AWE.LGP (Midi files for S/blaster AWE Cards)
***********************************************************************
95 files
.mid

***********************************************************************
MIDI.LGP (General Midi Files)
***********************************************************************
94 files
.mid


***********************************************************************
XG.LGP (Yamaha XG Midi Files)
***********************************************************************
98 files
.mid


***********************************************************************
YGM.LGP (Yamaha General Midi Files
***********************************************************************
98 files
.mid

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Minigames Category
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

***********************************************************************
CHOCOBO.LGP
***********************************************************************
677
.TEX (special variant of .TIMs)
.HRC (Heirarchy file that lists skeleton data for a 3D model. Basically it lists what files it uses, and positional data.)
.RSD (List for a specific part of a 3D model.)
.P (3D Geometry file. Contains the .PLY, .MAT, and .GRP files for a 3D model. Not yet completely figured out.)
.wat
.A (Animations for the 3D character models)

***********************************************************************
COASTER.LGP
***********************************************************************
11 files
.TEX (special variant of .TIMs)
.BIN (Compressed archives that hold "general" data files.)


***********************************************************************
CONDOR.LGP
***********************************************************************
641 files
.P (3D Geometry file. Contains the .PLY, .MAT, and .GRP files for a 3D model. Not yet completely figured out.)
.RSD (List for a specific part of a 3D model.)
.BIN (Compressed archives that hold "general" data files.)
.TEX (special variant of .TIMs)
.tim


***********************************************************************
HIGH-US.LGP
***********************************************************************
534 files
.adr
.P (3D Geometry file. Contains the .PLY, .MAT, and .GRP files for a 3D model. Not yet completely figured out.)
.RSD (List for a specific part of a 3D model.)
.A (Animations for the 3D character models)
.TEX (special variant of .TIMs)
.BIN (Compressed archives that hold "general" data files.)
.HRC (Heirarchy file that lists skeleton data for a 3D model. Basically it lists what files it uses, and positional data.)


***********************************************************************
SNOWBOARD-US.LGP
***********************************************************************
32 files
.TEX (special variant of .TIMs)
.tmd


***********************************************************************
SUB.LGP
***********************************************************************
10 files
.TEX (special variant of .TIMs)


&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
World Map Category
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

***********************************************************************
WORLD_US.LGP
***********************************************************************
985 files
.P (3D Geometry file. Contains the .PLY, .MAT, and .GRP files for a 3D model. Not yet completely figured out.)
.TEX (special variant of .TIMs)
.HRC (Heirarchy file that lists skeleton data for a 3D model. Basically it lists what files it uses, and positional data.)
.A (Animations for the 3D character models)
.RSD (List for a specific part of a 3D model.)
.tbl
.BIN (Compressed archives that hold "general" data files.)
"world" files (no extension)
.ev
.ta

[This message has been edited by The SaiNt (edited February 07, 2001).]

[This message has been edited by The SaiNt (edited February 07, 2001).]

[This message has been edited by The SaiNt (edited February 08, 2001).]


ficedula

  • No life
  • *
  • Posts: 2179
  • Karma: 40
    • View Profile
    • http://www.ficedula.co.uk
Things we know about FF7's file system
« Reply #1 on: 2001-02-04 18:36:00 »
That seems a pretty good summary of what we all know at the moment...

As regards .P files: Qhimm posted some source a few days ago that maps *most* of the .P file. I still can't get colours working properly, but the actual 3d mesh is all defined.


The Skillster

  • No life
  • *
  • Posts: 2281
  • Karma: 0
  • Loving every Final Fantasy
    • View Profile
    • Lazy at work
Things we know about FF7's file system
« Reply #2 on: 2001-02-04 22:21:00 »
hmm, the main site for cid is down  :( id really like to talk to the author, looks like hes left university (its a academic web address). And u missed a vital point, one i was looking at yesterday;
What about the battles? theres still batlle 3d models to decode, 3d backgrounds, spell animations, story script, enemy monster stuffz, and then theres feild location type compressed files in the battle.lgp file which must be fight location gfx and data...

ficedula

  • No life
  • *
  • Posts: 2179
  • Karma: 40
    • View Profile
    • http://www.ficedula.co.uk
Things we know about FF7's file system
« Reply #3 on: 2001-02-05 00:19:00 »
In CHAR.LGP there's more than one model skeleton for each of the main characters (Aeris, Tifa, etc...). So it'd seem likely CHAR.LGP contains both the in-battle and walking-around models.

Srethron Askvelhtnod

  • Freak
  • *
  • Posts: 965
  • Karma: 0
    • View Profile
    • http://www.srethron.cjb.net/
Things we know about FF7's file system
« Reply #4 on: 2001-02-05 01:19:00 »
Edit: All info is now in The SaiNt's post above.

[This message has been edited by Srethron Askvelhtnod (edited February 07, 2001).]


ficedula

  • No life
  • *
  • Posts: 2179
  • Karma: 40
    • View Profile
    • http://www.ficedula.co.uk
Things we know about FF7's file system
« Reply #5 on: 2001-02-05 16:13:00 »
You're 100% correct. I checked CHAR.LGP last night and that's how it's done...

There's 3 Aeris models in there; normal Aeris, Dressed up Aeris (Don Corneo scene) and Young Aeris. I suspect the others are the same ... so you're right: CHAR.LGP seems to contain the out-of-battle models only. I'm guessing, therefore, that BATTLE.LGP contains the in-battle models.


The Skillster

  • No life
  • *
  • Posts: 2281
  • Karma: 0
  • Loving every Final Fantasy
    • View Profile
    • Lazy at work
Things we know about FF7's file system
« Reply #6 on: 2001-02-05 16:44:00 »
ok, no onto the hard part, the files in the battle.lgp must be compressed as theres no sign of p files in there, now how to extract the info, ficedula: is the files using lzsff compression or something else?

ficedula

  • No life
  • *
  • Posts: 2179
  • Karma: 40
    • View Profile
    • http://www.ficedula.co.uk
Things we know about FF7's file system
« Reply #7 on: 2001-02-05 18:05:00 »
I don't think so ... I'll have a look at them when I get back to my PC tonight.

Srethron Askvelhtnod

  • Freak
  • *
  • Posts: 965
  • Karma: 0
    • View Profile
    • http://www.srethron.cjb.net/
Things we know about FF7's file system
« Reply #8 on: 2001-02-06 01:08:00 »
<-------- First Post
The SaiNt and Ficedula: Thanks for the info.

The Skillster: I looked at the files today with my hex editor. I don't think they're compressed, at least not some of them. Take the "alan" file, for instance. It's got several blocks of data that you can pretty much read. One spot lists the alphabet and the next is the alphabet in CAPS. I also tried decompressing the file with Ficedula's LZS app (which works fine with the Field files), but I got error messages.

I'm currently of the opinion that the battle files use a different model format(hence, no need for .hrc, .rsd, or .p files). In an old preview of FF7PC I have lying around, Fujimoto mentions that the battles are the conversion team's biggest challenge because of the high polygon count. It makes sense that they would use a different format  specifically for the battles. The battle models for the most part do look better than the field models. The problems centered largely around the battles needing a then high end Pentium 200 to run well. If they hadn't had these problems, I think they might have been able to use the high-res battle models for the field as well.

Re: Cid Author. I scrounged up the guy's email, I don't know if it's still his email, but if it does then you can talk to him. [email protected]

End First Post-------->


<-------- First Edit
Edit: Ok, I'll try this out.

The Skillster: Heh. With the .script file, it's perfectly readable in a hex editor. I haven't checked it with a regular text editor, but I'm sure it is. Now we've just got to figure out what the script does.

As for the .wat file, here's some stuff I noticed in about 5 minutes of looking it over:
{begin}
block 602A0 to 60D10 is all file references

block 61190 to 61240 is readable

the two lines 61290 and 612A0 is a reference to Chocobo.FF7

block 61310 to 61370 is references to source files

block 61390 to 62200 is also references to source files and various (compiler?) messages

62770 is a reference to RSD.TEX

623A0 to 63080 reads like an .HRC file and has source file references

63140 to 6AAB0 is all readable data, references to .P files and much more

6ACF0 to 6AD70 is more source

6AFC0 to 6B360 is more MS Visual C++ source

6B420 to 6B780 is still more MSVC++ stuff

6BBB0 to 6BD00 is more MSVC++ stuff

lines 6BF90 and the next two lines are more, scattered snippets further down
{End}

I got your email, but it didn't have any music attached.

The SaiNt: I'm trying it out. A potential problem is that it won't show the post as having new messages if we just keep editing our posts.

Ficedula: I think I pretty much understand everything in the doc after going through it a couple times. I appreciate your taking the time to write it. Thanks for the info on .BIN files, I've changed it above to reflect this.

When you get a spare moment (hah!) you might like to take a look at the chocobo.wat file sometime.

End First Edit-------->

<--------Second Edit (Edited again Feb. 12)
All info is now in The SaiNt's post.
End Second Edit-------->

[This message has been edited by Srethron Askvelhtnod (edited February 12, 2001).]


The Skillster

  • No life
  • *
  • Posts: 2281
  • Karma: 0
  • Loving every Final Fantasy
    • View Profile
    • Lazy at work
Things we know about FF7's file system
« Reply #9 on: 2001-02-06 02:38:00 »
AHHH! DATA OVERLOAD!!
MUST SHUTDOWN SYSTEMS!!
NOO! im getting the b.o.d!!!
Help
i cant take it all in!! especially at 640 * 480 display!!!
seriosly, very extensive stuff, but about the wat and script file, can u open them? with a hex a tgext veiwer and read something?
hmm, u got my mail? like the music? not the quality however , tho

ficedula

  • No life
  • *
  • Posts: 2179
  • Karma: 40
    • View Profile
    • http://www.ficedula.co.uk
Things we know about FF7's file system
« Reply #10 on: 2001-02-06 15:23:00 »
SainT: Sounds like a good idea. Incidentally, the document on .P files is up.

Also, re: .BIN files: they're just "general" data files. EG: KERNEL2.BIN contains all the ingame text on spells, items, etc. They could contain absolutely anything.


The Skillster

  • No life
  • *
  • Posts: 2281
  • Karma: 0
  • Loving every Final Fantasy
    • View Profile
    • Lazy at work
Things we know about FF7's file system
« Reply #11 on: 2001-02-07 12:34:00 »
hmm i think the wat file is a EXE translated/ported from the Psx version of the minigame, hense the refrences to D3D.cpp etc,

The Skillster

  • No life
  • *
  • Posts: 2281
  • Karma: 0
  • Loving every Final Fantasy
    • View Profile
    • Lazy at work
Things we know about FF7's file system
« Reply #12 on: 2001-02-07 12:40:00 »
Oh, i posted the file of script 1.script in another the cosmo thread, i think you should all check it out...

Srethron Askvelhtnod

  • Freak
  • *
  • Posts: 965
  • Karma: 0
    • View Profile
    • http://www.srethron.cjb.net/
Things we know about FF7's file system
« Reply #13 on: 2001-02-07 21:38:00 »
The SaiNt: The deed is done.

The Skillster: I'm inclined to agree.


JOONAS

  • Fast newbie
  • *
  • Posts: 20
  • Karma: 0
    • View Profile
Things we know about FF7's file system
« Reply #14 on: 2001-02-10 15:45:00 »
What about the Menu texts (how to edit them?)

The Skillster

  • No life
  • *
  • Posts: 2281
  • Karma: 0
  • Loving every Final Fantasy
    • View Profile
    • Lazy at work
Things we know about FF7's file system
« Reply #15 on: 2001-02-10 16:44:00 »
most menu/battle text can be edited using cosmo's internal editor.

The Skillster

  • No life
  • *
  • Posts: 2281
  • Karma: 0
  • Loving every Final Fantasy
    • View Profile
    • Lazy at work
Things we know about FF7's file system
« Reply #16 on: 2001-02-10 16:48:00 »
hmm, anyone know whats in the kernel.bin file? its not compressed (or it is and theres no readable text!), anyones guess on what it is? stats maybe? anyone?

halkun

  • Global moderator
  • No life
  • *
  • Posts: 2111
  • Karma: 20
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Things we know about FF7's file system
« Reply #17 on: 2001-02-11 15:28:00 »
in the PSX version it was an updated low level kernel hook that improved on the mutitasking routines that  were rather poor in the real PSX kernel. This allowed, for instance the ability to play movies and overlay 3d graphics at the same time. Mostly used so the system can load dependicies and do something else. No more loading screen. For example. The music would play when a new background screen was loading. Or just before you got into a fight, while you were still walking, you would hear the CD-ROM's head move while it loaded the monster data.

-Halkun


halkun

  • Global moderator
  • No life
  • *
  • Posts: 2111
  • Karma: 20
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Things we know about FF7's file system
« Reply #18 on: 2001-02-11 15:32:00 »
addundum:
Think of the .BIN files as the same thing as .DLL diles in windows. They just contain routines that the main exe needs that are loaded later. At least, that's what they were in the PSX version. Actully, I don't think they were dynamic though, but static, and "banked" into a memory location.

-Halkun


ficedula

  • No life
  • *
  • Posts: 2179
  • Karma: 40
    • View Profile
    • http://www.ficedula.co.uk
Things we know about FF7's file system
« Reply #19 on: 2001-02-11 16:30:00 »
Not necessarily the same in the PC version. For example, KERNEL2.BIN contains all the text for spell/item/materia/weapon/etc names and descriptions, plus all the menu text. That's all it contains too; I've fully decoded it, and Cosmo can edit it.

I've no idea what KERNEL1.BIn contains, so it could well contain what you're talking about, but KERNEL2.BIN proves that it doesn't have to.


Srethron Askvelhtnod

  • Freak
  • *
  • Posts: 965
  • Karma: 0
    • View Profile
    • http://www.srethron.cjb.net/
Things we know about FF7's file system
« Reply #20 on: 2001-02-12 20:34:00 »
The Skillster: If you can decompress the file without errors (with Ficedula's utility), then it's compressed. Perhaps it would help to figure out what Kernel1.BIN *couldn't* contain? Wild guess, but maybe it contains the limit break data?

The SaiNt

  • Administrator
  • No life
  • *
  • Posts: 1302
  • Karma: 3
    • View Profile
Things we know about FF7's file system
« Reply #21 on: 2001-03-19 18:09:00 »
Uhm, guys just in case you haven't noticed, Qhimm has allowed users to delete their own posts, so could you guys clear up the unwanted posts in this thread to keep it from being too long?

Ant

  • Insane poster
  • *
  • Posts: 402
  • Karma: 0
    • View Profile
Things we know about FF7's file system
« Reply #22 on: 2001-03-19 20:10:00 »
Yo SainT

Lemme in the private forum please :-)


Srethron Askvelhtnod

  • Freak
  • *
  • Posts: 965
  • Karma: 0
    • View Profile
    • http://www.srethron.cjb.net/
Things we know about FF7's file system
« Reply #23 on: 2001-03-19 20:52:00 »
The SaiNt: Are you sure? I think that's a Mod/Admin only privilege. I've tried it before, but it never lets me do anything but edit.

The SaiNt

  • Administrator
  • No life
  • *
  • Posts: 1302
  • Karma: 3
    • View Profile
Things we know about FF7's file system
« Reply #24 on: 2001-03-20 07:45:00 »
Yes, I'm sure, I just asked Qhimm to implement it two days ago and besides, MOT was able to delete his messages. FYI, mods are powerless outside of their own forums.