"Gears" - The FF7 Documentaion Project

  • Thread starter Thread starter halkun
  • Start date Start date
Status
Not open for further replies.
H

halkun

Guest
Well, you guys conviced me. I've decided to go ahead and document all the FF7 engine findings into one super document. I've decided to call it "Gears" as not only a name that inspires the inner workings of something, but also because it brings up the "Steampunk" genre that FF7 takes place in.

I finished the outline and will be populating the document with content that I can find from here and all around the Internet.

The byline was tricky to come up with as it's not just me. I decided to write "By Joshua Walker and the 'Qhimm team'"

I hope that's OK...

This will help us muchly. Not only will we have a centralized place for data collection, but will allow us to take the engine apart in small chunks that are easy to decipher.

Here is the outline/Table of contents. If you have anything you want to add, let me know. This will dictate the way the data is presented. Did I get all the terms right?

Code: [Select]
Code:
Table of ContentsIntroductionHistory -PSX version overview -PC version overviewEngine Basics -Common Terms -Parts of the Engine -A Look at the Debug RoomThe Kernel -Kernel Overview -Generic Program Flow -The Threading System  -Data Caching -File System AccessThe Field Module -Field Overview -Event Scripting -Triggers -The 3D overlay -The Actors -The Ego -Data Organization  -Textures (The TIM Files)  -Polygons (The PLY Files)  -Hierarchy (The HRC Files)  -Animation (The ANM files)  -Models (The RSD Files)The Battle Module -The Mathematics of Battle -The Battle Scene -Allys -Enemies -Magic Scripting -Data Organization  -Textures (The TIM Files)  -Sprites (The SPT Files)  -Models (The RSD Files)The Menu Module -The Accessors -Game SavesThe World Map -Data FormatAppendix -Item Listings -Resource Lookup tables -Source Code Forensics BUGS -PSX Version -PC Version

IF YOU WANT TO HELP
I am using OpenOffice.org as my document writer of choice. The reason why is because it supports open formats for data exchange (XML) and has a pretty wicked PDF generator. I would recommend if you want to assist, download OpenOffice and send me changes in .sxw format. (OOo's native compressed XML format) OOo is free, runs on every popular OS, and is availible at http://www.openoffice.org
 
i would have some corrections, they all are meant for PC version

Code: [Select]
Code:
The Field Module    -Data Organization       -Textures ( The TEX files )      -Model (The P Files)       -Model Skeletal Hierarchy (The HRC Files)       -Model bodypart-textures assignment (The RSD Files) The Battle Module    -Data Organization       -Textures ( The TEX files )      -Models ( The P files )      -Skeleton files ( ??AA files )      -Animation files ( ??DA files )
 
Thanks for your input, however we have a bit of a condundrum.

The datafiles in FF7 are actually dirived from Sony's original Psy-Q development libaries by Psygnosis. This system used common file formats that are native to the PSX. The PC formats are in turn dirived from those.

For example:

a TIM file is a "Texture In Memory". It's a native Psy-Q format that's really a raw copy of the PSX's video memory. The TIM file also holds CLUT and cache data. In the PSX version this was "compiled" into a BIN resourse and on the PC version, it was renamed to a TEX file and compiled into an LGP. However the files are internally the same thing. I think it would be best to "call a spade a spade" and use it's original development nomeclature. This is why I have "Common Terms" under "Engine Basics" at the very beginning. This wil sort out all the wierdness between the PSX and PC versions.

I should move the PSX version and PC version overviews into "Engine Basics" as well to help strighten everything out. For example the skeletons are really uncompiled HRC files, which is also a native Psy-Q format as well.

I know the PC version is more "open" than the PSX one, however there should be room to grow. One version of the program is no less than the other.

Do you have any ideas how we can properly orgenize the seperite systems without rewriting the doc twice? I think going by thier Psy-Q names are the best way to go. Looking at the source code directory listing, the /lib dir appears to be a Psy-Q wrapper of some sort that they used during the PC porting process.
 
but the PC and PSX things should be differenced because they are at least a little different, like its file structure.
 
I think some parts of the PSOneFFVII and PCFFVII are too different to throw them together. Look at the battle models for example. Every battle model on the PSOne is stored as a LZS compressed file containing all needed information. PC battle models need .p, .hrc, .rsd and .tex files that are stored in one huge LGP archive.
 
Are they really that different ? I only own the PSX version of FF7 (which I play on my PS2) but since they are the same game and their data structures are probably somewhat related, I think both should be discussed in the document.
 
Yes they are that different. Handle them in the same document? - Yes. Throw them together under the same topic like "battle models"? - No.

Battle models
|_PC
|--|_...
|_PSone
---|_...

That would be OK IMHO.
 
Ok comprmise, when talking about the data members, we use the Psy-Q names, and then explain how the data is retreaved on each platform. I refuse to beleave that when it comes to brass tacks, the internal structs are different. After the data is converted into something "sane" we can furthur disect it. There will be diffrences. For example HRC files on the PC are text, while the PSX ones are compiled, but the data refrenced are the same thing.

here's a quick example off the top of my head.

The polygon format:
A PLY file contains the 3D pieces that make up models used the game.......

PC: These file are refrenced by a .p extention are are retreaved by......

PSX: These files are collected into a BIN archive or a compress LZS archhive. To retreave the model you want you simply....

When the file is retreaved, it's internal format is as follows...

How about that?
 
The problem a lot of people are having is they aren't seeing it with the same perspective obviously.  Halkun is looking at what the ORIGNAL data was, not how it's currently stored.  By reversing this process finding out what the PSX or PC data formats are now is merely the process of tools to create the formats.

I know they are vastly different but they came from the same data.  That's what Halkun is working from.

For representing the end format perhaps showing how the end file was created from the original data (like what Halkun just said).
Also reversing this would be another cool thing (creating the original data from the file).

Cyb
 
I finished the "History" secton tonight. It's rough, but should be OK. I need some info on th european release dates.

Also I just dicoverd that the deveopers used CVS as version control for the PSX version..

I found in $ID tag in the PSX executable.

$Id: sys.c,v 1.115 1995/11/29 08:50:18 suzu Exp $


you can download my humble beginnings on gears here.
http://the-afterm.ath.cx/gears/

Send me any changes you might have.
 
Halkun, you are my idol.

It's a shame I can't read the document (yet) *goes to download compatible software*
 
Halkum:
What format is the document in?  Might help for people wanting to PEER at it :o

Kislinskiy:
I killed my viewer SNIFF. I needed to rewrite it anyways but I can still mourn it's loss ;)

The program still works just none of the OGL code does for some reason, I think I messed up a pointer (le smirk).

It's a huge spagheti to say the least sp wittling out useless code and making it do something that makes sense is the next job ;)

Cyb
 
You use OpenOffice.org to read the files. They are the natiive OOo format.

If you wanna be really fancy, the file itself is a gzipped xml resourse, readable by any XML reader. It best to use OpenOffice.org

http://openoffice.org
 
You need OpenOffice to view the document. It is available at http://www.openoffice.org.
BTW I lost my complete source code. I had forgotten to back up my "Visual Studio Projects" folder..  :(

edit: Too slow.  :z
 
Habit ^_^

My PSX doc was written in StarOffice, I like the program, and on top of that it's the only word prossesor I own. You see, I don't have a viable windows computer anymore. I run Linux. Sadly, the RTF export isn't all that hot and I lose formatting badly. I'll be adding page numbers and chapter names in the headers. It also exports to DocBook really well. I also have the ability to make tables and sidebars and plaster large 300 DPI pictures in my document, (Which I will be doing heavily).

I feel like writing a book.
 
After Googling yielded results pointing towards OpenOffice, I started to download it last night, but I got abysmal transfer rates, so I gave up. I'll try again later.

Update: Just downloaded OpenOffice at school, it's installing now, not long left.

Update #2: Just finished reading. Looking good so far!
 
Status
Not open for further replies.
Back
Top