Final Fantasy 9 > FF9 Tools

[PSX] Online viewer / exporter - Rɘverse FF9 (0.0.4b)

<< < (2/11) > >>


Animation - same for all models
Materials - some special cases: weapons always use same tpage, monsters - didn't figured out yet (materials are swapped sometimes)


You're probably right:) But since is beta and I will change domain I didn't want to post this in tools. I will as soon I release first non beta version.

That is pure awesomeness !

It's working so well and so smoothly. Congrats !

Some field models are strangely animated (a Steiner model : 658 in field 312 for instance). I think the animation for these are a bit more tricky but it might also be dummied animations (I always so other animations that are working well on those bugged models).

Other than that, there's a typo: in fields and map models, the fields and maps are called "Monster XXX" instead of "Field XXX" or "World Map XXX".

It's funny to see that some animations are never used in-game. Cactuars have a 1000 needles animation for when they are over the ground, for instance.

Anyway, this is great. It'll help me like hell to register model names and stuff. I'm looking forward how you read all those datas :D

EDIT : I just figured out it was not your tool that was wrongly displaying the animations : it's just that there are all the animations for all the models of the field so that's just that the model and the animations are disconnected.

Thanks Tirlititi, I'm glad to hear that:)

You're right in fields there is no information which animations are for which model, only default animation can be obtain from 0x12 file. But some times like in this case there is no default animation so you need to find animation manually:)

I corrected typos:) Later I will create a thread about how I read 0x12 file and some other stuff.

Tasior2, this looks amazing, really. :)
How do you read and calculate UV coords for field models with quads?


I split quads into two triangles in following way:

--- Code: ---i0-i3 - indexes from vertices array
uv0-uv3 - indexes from UV table

Quad Type-A:
  indices: [i0, i1, i2, i3],
  uvs: [uv0, uv1, uv2, uv3]

Triangle 1:
  indices: [i0, i1, i2],
  uvs: [uv0, uv1, uv2]

Triangle 2:
  indices: [i1, i2, i3],
  uvs: [uv1, uv2, uv3]

--- End code ---

It work fine for all meshes that use Quad Type-A (didn't find other types yet).

In WebGL (OpenGL ES) you need to have UVs in range [0,1] so after that I needed to divide UVs by texture width/height:

--- Code: ---4bit - texture size = 64x64
8bit - texture size = 128x128
16/24bit - texture size = 256x256 (there are no textures in this mode in FF9)

--- End code ---

You can get texture mode from tpage value from 0x12 file (I will post this later in separate thread - how to read 0x12 file).

P.S. Nice to see some one from Poland on this forum:)


[0] Message Index

[#] Next page

[*] Previous page

Go to full version