Based on what Alhexx said, I think its because the game detects that Aeris doesn't have the right number of files anymore and crashes...
The game doesn’t count the files and decide to crash.
It crashes because it needs something that isn’t there.
You deleted a file.
Stop that. Put it back where it belongs.
What Reunion said about the battle models having no extension isn’t entirely correct.
The last two letters of the file ARE the extension; it’s just not an extension as you expect it to be in windows.
The last two letters tell you what type of file it is.
Keep this in mind as I explain offset 0x18.
In the skeleton file, which we decoded long ago, offset 0x18 is described as determining the number of texture files the model uses (in total, which is a different way from doing it compared to field models, which actually list the texture files they use by name).
It means, in total, the model will use 2, or 3, or whatever number is on 0x18.
Thus, when the game loads the skeleton file, it reads that number and stores it in memory.
It creates an array of textures equal to that number and then loads them (in order).
After that, the various .p models will have groups of vertices.
There is a type of vertex/polygon group that has a texture, and in this group, it will have an index to the texture it is using.
In other words, the game loads 3 textures:
tex[0]
tex[1]
tex[2]
Then one of the .p files uses, for example, tex[0] (the first one).
That .p file will have many polygons that are just colored, like Cloud’s hair or skin, but there will be one or two groups that are tagged as “a group that uses a textureâ€.
Once we get to these groups, there will be a number “0†which will indicate to us that the texture for the polygons in that group will be tex[
0].
What happens if a group needs tex[3]? It’s not there! The game crashes.
Actually it will just show the white blobs over their eyes that you have been seeing.
But if there is an offset error and it ends up requesting texture -15469348772, it may just crash.
As I said before, field models reference textures by name, while battle models have nothing more than a number.
How does this work?
The ID of the model being loaded is the first two letters of the file name(s).
After that, to get a specific type of file, you add the extension.
aa = skeleton file.
da = animations.
ac - al = textures.
am - cj = body parts.
ck - cz = weapons (for humans mostly).
Thus the engine knows, if it is loading Aeris (rv), and she has 3 textures, then the textures are in files “rvacâ€, “rvadâ€, and “rvaeâ€.
This is not the only place where this is true.
The engine is told, by the skeleton file, how many model files there are.
Therefore you need to ensure all the “rvam†through “rvcj†files are there (and by this I mean only the files NEEDED).
And you get the number of files it needs by offset 0x20 in the skeleton file.
L. Spiro