Author Topic: porting FF7  (Read 3812 times)

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
porting FF7
« on: 2001-03-16 08:12:00 »
Ok, I'm tool lazy to scroll down anymore in the "remaking FF7" thread so I'll start here. I cracked my copy of FF7PC out of storage I started playing it again. whoo-hoo what fun. Like I said in my last post, I'm just working on the status module first. I'll give some tims on the field files though...

Gast can't load all the field backgrounds because the layers are being rendered wrong. There are a few backrounds that I like to call "floaters". As opposed to having a static background with a static overlay (The portion of the pictue that obcures the polygons when the walk "under" it) the foreground and background can "float" to give the appearince of distance in a pan. The "distant" background plane isn't being renderd and the "close" plan is using the wrong tileset. Things are getting messy when in overlay is also included.

I'm almost positive that the fields use byecode. In square's "radical dreamers" there was bytecode "yes/no" code in the actulal text script. This is why when you change the script in some field files it crashes. The "drama" module is tryng to make script calls that are no longer there.

I'm gonna be screwing with the field files hardcore when I'm done with status. I need to start execution of the first filed file and program in the holes.

It's easy to see what does what. Find a save spot right next to a major plot point with lots of people that *hasn't been triggered yet*. Then watch the scene. Then quit. Extract that particular field file, change a byte, put it back un the archive. Run the game again. Did anything change? did it load? if it crashes but the byte back and load again. If it works try another byte in another location. If you can change the text with little ill effect I doubt there is a checksum involved, but be on the look out just in case. Check everything this includes the triggers (check to see if the exit arrows moved), different people, text boxes in different locations, different music, remeber that everything is refrenced by number. "load song 4, load person 16, put person 16 at 102x762 on the field plane.

Oh reminds me, there is a "field plane" that the characters walk on. it's just a sequence of 3d vertexes that defines where the character can walk. be on the lookput for that too.

don't be afraid to change a .a file too. change it by only one byte up or down, you will see the change in the animaition without causing the system to overflow or something.

that's all I can think of...wait...no one more thing...

all your base are belong to me.

-halkun

You have no chance to survive make your time.


The SaiNt

  • *
  • Posts: 1300
    • View Profile
porting FF7
« Reply #1 on: 2001-03-16 09:08:00 »
 
Quote
Gast can't load all the field backgrounds because the layers are being rendered wrong. There are a few backrounds that I like to call "floaters". As opposed to having a static background with a static overlay (The portion of the pictue that obcures the polygons when the walk "under" it) the foreground and background can "float" to give the appearince of distance in a pan. The "distant" background plane isn't being renderd and the "close" plan is using the wrong tileset. Things are getting messy when in overlay is also included.

Okay, halkun I'm going to reply to the above quoted message with a quote from my own reply in the Information about FF7.EXE thread.


 

Quote
There is a several test runs when accessing Flevel.lgp files as stated in the EXE
Here's the list:-
sprites.tst - Testing of BG sprites
The following defines the sprites:-
# %d: x %d, y%d, u%d, v%d, clut%d Depth %d',0Ah,0
(If it means what I think it means, then the sprites are defined in x-coordinates(decimal), Y-coordinates(decimal),Depth /z-coordinate(decimal))

cover.tst - Testing of cover data

bk.tst - Testing of background data
The following defines the sprites:-
# %d: page %d ,u %5f, v%5f, pal%d, x%d, y%d Depth%d tex
(If it means what I think it means, then the sprites are defined in x-coordinates(decimal), Y-coordinates(decimal),Depth /z-coordinate(decimal), pallete(decimal) v??(float with up to 5 decimal places))

lower.tst - Lower Plain Data
upper.tst - Upper Plain Data

I believe all the algorithms for viewing the data here is defined in the EXE. I'm not too good at reading ASM so heck
One more thing, they also defined these file extentions(i think) for flevel.lgp
.mim
.map (map files??)
.ate (active time event??? - too much FF9 maybe)
.bsx
.sta
.inf
.enc (encounter rate???)
.fcr
.fda
.fpl
.fcc
.mcc

The .P temp files, the ones that appear in the main directory although you delete them are defined in dx_sfx.cpp. and it has something to do with the graphics library.

Looking here, it looks like the layer that you are mentioning are

lower.tst - Lower Plain Data
upper.tst - Upper Plain Data

as specified in the EXE file.

I've got lessons soon so I'll catch up later.

I'll be looking into the field files and the .A files soon right after I'm fed up looking at the .P files. But currently, too much of my college work is due and I have my semester end exams coming in a months time.

One more thing to add:- Remember when The Skillster posted the link for the RSD format?
Well, have the full PSX file formats Doc now and I uploaded it to my webspace. You can get it from  http://pwp.maxis.net.my/zhenjock/download/psxfileformats.zip" TARGET=_blank>here

[This message has been edited by The SaiNt (edited March 16, 2001).]


halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
porting FF7
« Reply #2 on: 2001-03-16 16:03:00 »
I stand corrected.

The Skillster

  • *
  • Posts: 2284
  • Loving every Final Fantasy
    • View Profile
porting FF7
« Reply #3 on: 2001-03-16 18:28:00 »
naa, that was srethron, he came up with two detailed sites.