I will now proceed to braindump everything I know about FF7. My disks are still in storage and will not be cracked out until firday. I will uninstall FF8 and throw FF7 on the lab.
I also still do not have a linux box as a test bed. I'll be doing pliminary coding on a cross-platform game programming lib called "allegro" for it's fast 2d subsystem and openGL intagration.
Lets start with how the silly program works.
Every Final Fantasy has been split into differnt program modules. This makes it easier to have mutiple people work on it and have the effect of many games in one. The root modules in FF7 is status, dungoen, town, battle, world, drama, and minigame. The following ascii art shows how the systems communicate with each other. you may need to view with a fixed-width font.
--- status------
/ |
world --------|------- town----minigame
| | / |
| ----dungoen----- |
| / |
| / /
battle------------drama
In FF7 town, dungoen, and drama are lumped into "field"
Let me explan what each one does.
Status is you status menu, but it's much much more. It conatins *all* the global varibles for the entire game. This is also in charge of what gets saved to the memory card, such as inventoy, money, time, field flags, field location, characters, stats, everything. you can not access the status screen for everywherem especally in drama, battle and minigame.
Towns are "safe" areas that you can rest and buy things in, but isn't reqired. You can batte here, but not random battles. Only though a plot point or "drama". you can follow the lines to so where that can go.
Dungoens have monsters every few steps. (atcually FF picks a number between 0 and 255 and cound down using modifiers, when it gets to 0, there is a fight) no inns, no shops.
Drama is a plot script that runs when you enter a field file. notice you cant get to status when people are acting out a scene. (you are in drama) but can when you talk to people (you are in "town" then)
battle: you fight bad guys get experince or die.
world is the world map, you can enter towns, dungoens and battles and get to status. you commonly fly airships here ^_^
minigames are the games you can play in "towns". Cards and such.
Now you can follow the lines to see what can go to where. you can only play games in towns. You can't get to status from a battle.
see how it works.
When you enter a field (a new scene) a script will run when you first get in. puts in people, what they say, and triggers. The debug room has a collection of all the fileds and executes the scrips when you select them.
This it for now. I'm going to start on status first as it's the most documented. Loding and saving is the man thing right now. for now. You are doing a good job on the field files. After I'm done with status I will move into attempting to execute field files, loading up the picture and displaying the text in the windows in the correct locations and colors. This is what I have planned so far. That is all for now.. Have to go home. I have already talked about field execution and flow and triggers in a previos post. More about fileds when I get to it...
-halkun
-halkun
tags to achieve the same effect as the HTML tags for this UBB. If you don't already know, thetags are keep your text preformatted.
code:[/quote]---- status------
/ |
world --------|------- town----minigame
| | / |
| ----dungoen----- |
| / |
| / /
battle------------drama
If you really know how to port for snes, it would be kewl with just a small demo port or sum like that... anybdu agree :wink:
linux? sounds kewl.... sounds waaaay kewl :)
FF7 for the NES:
FF7 for the SNES:
FF7 for the N64:
Sorry for the massive img post...
Sephiroth 3D
"One who seeks knowledge from another person, doesn't learn half as much as the one who seeks knowledge for himself." - Vincent Valentine, The Sephiroth Chronicals, Book 1: Resurrection
[email protected]
Sephiroth 3D's Final Fantasy
Sephiroth's 3D Lair
Sephiroth 3D's Promised Land
Anyway, should I not be able to work on this project for the time being, I think I should just let all of you know of what I've decided to test to learn more about the field stuff.
1. Look for the .P files that have textures (their specified in the .RSD files) so we can find out which section relates to the textures in the P files.
2. I have come to suspect that the shading of colours for the models in FF7 require the lines. I believe we need to know how the numlines section works before we can get the shading section done. The shading is done by gradually changing the colours line by line, I believe.
3. Like halkun said, the analyze the field files, we should use the debug room field files. What we can do is look for similarities in 2 field files to help us out. For example, in some debug rooms, you will see cloud with his headache problems. Now look for the dream section that has the exact same movement and compare both the files. That should make our work much easier. Another example would be to find out which option actually send's you to the field file in to let's say to rocket town. Then, we compare this field file with another one which takes you to rocket town when you exit that screen. Do you get where I'm going?
if the top point is red and the two bottom points are blue, the triangle will gradiate from red to blue. with purple in the center (gouraud shading) take a look at my PSX doc and see if it doen't use a gpu packet format to define the points (like they do with ff8)
good luck
The LGP Editor can preview .P files, and it puts up colours on my PC with shading. Has somebody found a file where it *doesn't*?
Textures, OTOH, it doesn't do.
Damn. That's something I'll have to fix...I was sure I'd got that working...