Qhimm.com Forums

Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Alhexx on 2004-03-17 09:28:11

Title: Hacked that FF7 .p "Unknown" Pool...
Post by: Alhexx on 2004-03-17 09:28:11
Yeah, I got it.
That unknown Pool holding an array of 32bit integers is simply a Normal Index Table, telling you which Vertice uses which Normal.

Here's a small example given by "acab.p" ( yuffie's head):

Code: [Select]
==-> Polygon Pool <-==
----------------------

Coord    Vert1  Vert2  Vert3  Norm1  Norm2  Norm3  Edge1  Edge2  Edge3
-----    -----  -----  -----  -----  -----  -----  -----  -----  -----
    0        0      1      2      4      1      6      0      1      2
    1        1      3      2      1      0      6      3      4      1
    2        3      4      2      0      3      6      5      6      4
(...)

Code: [Select]
==-> Normal Index Table <-==
----------------------------
Vertex   Normal
------   ------
   0        4
   1        1
   2        6
   3        0
   4        3
   5        7
   6        2
   7        5
   8       21
   9       13
(...)


Now take a look at the Polygon pool and its Vertex and Normal Indices...
You see, Vertex 0 uses Normal 4, Vertex 1 uses Normal 1 and Vertex 2 uses Normal 6.
And now take a look at the Normal Index Table...
Got it?

BTW: There's a new FF7 .p File Description on my homepage!

 - Alhexx

 - edit -
There's just one thing I don't understand:
The battle models don't have any normal, however, they do have a valid normal index table. I'll try out what happens if I simply delete that table...

 - edit 2 -
And something else:
I've uploaded a screenshot of Ultima 0.50 (http://www.alhexx.com/ultima050.jpg)
Title: Hacked that FF7 .p "Unknown" Pool...
Post by: _Ombra_ on 2004-03-17 23:12:29
Great news man! I'm checking out the specs right now... seems that you are close to complete the decoding of the .P format. Am i right?

Great job, can't wait to see the new Ultima at work! :wink:
Title: Hacked that FF7 .p "Unknown" Pool...
Post by: Alhexx on 2004-03-18 20:36:09
"and the beat goes on..."

Well, there's another interesting thing I've found out:

In the .p files, the Texture Coords aren't stored BEFORE the Normals, but BEHIND them!

Here's the proof:
http://www.alhexx.com/ultima050_2.jpg

And, there's another tool on my website: FF7PInfo
This tool can open FF7 .p files and write Ultima 0.40+ Information Files.

(I'm in a hurry right now, so I don't have too much time to write long stories here...sorry)

 - Alhexx

 - edit -
_Ombra_: Yeah, you're right. The only thing that is left is that mysterious "Hundrets Pool"...

 - edit 2 -
ah, yeah, and version 1.51 of the FF7 .p File Description is out!
Title: Hacked that FF7 .p "Unknown" Pool...
Post by: mirex on 2004-03-19 22:46:34
what does that picture proves ?
Title: Hacked that FF7 .p "Unknown" Pool...
Post by: Alhexx on 2004-03-20 14:40:54
Hm, yeah, it proofs that the normal table is before the tex coords, otherwise the normals and yuffie's eyes were messed up (as they were before I found that out and I was wondering why the hell ultima messes up with that...)

General Info: I'm currently reorganizing my hard disks, so there won't be any updates for some time :(

 - Alhexx
Title: Hacked that FF7 .p "Unknown" Pool...
Post by: EmperorSteele on 2004-03-23 20:42:15
uhm, if i may be so bold?

That's Tifa's head.  The hair looks inverted (maybe we're just seeing the backside), but that's certainly not Yuffie!
Title: Hacked that FF7 .p "Unknown" Pool...
Post by: Qhimm on 2004-03-24 10:07:54
Quote from: EmperorSteele
uhm, if i may be so bold?

That's Tifa's head.  The hair looks inverted (maybe we're just seeing the backside), but that's certainly not Yuffie!


You clicked the wrong link then.
Title: Hacked that FF7 .p "Unknown" Pool...
Post by: ShinRa Inc on 2004-04-24 22:35:52
Apologies if this doesn't make much sense, but I once again profess my lack of knowledge about most of this area.

However, regarding the discussion about the texture coords being stored behind the normals.  If I'm reading that right, I believe I'd already discovered that a long time ago when using the old Ultima version, I figured out that the last series of verts (always maxed out, color wise) corresponded to where the textures were going.  Since they were the last verts listed and numbered, is that what you're referring to with them being 'behind the normals'?