Despite that there's 3 parts to Jenova Synthesis, the game uses only one set of data and load that 3 times and then alters the stats of the other parts. Really weird.
Now, the Bizarro is the same thing too. The 6 different Bizarro files are not for each part of him. They are for each battle.
Because of my english knowlegde, maybe wouldn't I give you a correct answer, but I'll try.
Concerning Jenova Synthesis, I agree with you. There are 3 "slots" in each file where you can describe a monster, and only one is used. I don't know why.
About Bizarro Sephiroth, maybe don't you know that you can not use multiple files to describe parts of one monster (monster's parts must be in the same file).
Not sure what order they are in, but these are all:
3 party - battle 1
3 party - battle 2
3 party - battle 3
2 party - battle 1
2 party - battle 2
1 party battle
And like Jenova, it takes one monster data entry and loads it for the number of parts available. I think there's up to 5 in seperate party's battle with him.
Seems kinda stupid that they just didn't make each part a seperate file.
It's difficult for me to answer you, so I'm going to tell you how scene.bin file is structured, I think it could help you ?
Scene.bin file contains 256 gzipped blocks. Each block has got the following format :
- Monsters ID (there can be up to 3 monsters ID) ID1 ID2 ID3
- Battle scenes informations (each block can contain up to 4 battle scenes (=the description of 4 different battles)) :
--- At first, there are some ID numbers, telling which music, camera and background to use for each battle scene.
--- Then you'll find 4 sub-blocks describing the coordinates of each monster in each battle scene (each battle can contain up to 6 monsters), using this format :
>BattleScene1 - Monster 1 : Monster1ID Xcoordinate Ycoordinate Zcoordinate WhereIsTheMonster(first line/second line) Flags
>BattleScene1 - Monster 2 : Monster2ID Xcoordinate Ycoordinate Zcoordinate WhereIsTheMonster(first line/second line) Flags
...
>BattleScene1 - Monster 6 : Monster6ID Xcoordinate Ycoordinate Zcoordinate WhereIsTheMonster(first line/second line) Flags
>BattleScene2 - Monster 1 : Monster1ID Xcoordinate Ycoordinate Zcoordinate WhereIsTheMonster(first line/second line) Flags
etc...
- Monsters caracteristics :
--- Name of monster ID1
--- Level, Speed, Luck, Physical Dodge, Strength, Physical Defense, Magi, Magical Defense, MP, AP, HP, Exp, gils, objects (and how you can obtain these objects), elements (ex:fire resistant, ice weakness, ...)
--- List of IDs of available actions (Attack, Right Hand Revived, Repeating Slap for example)
--- List of "manipulable" attacks
--- Flags (for example it says if monster can be minimized or transformed in frogg)
--- Name of monster ID2
--- Level, Speed, ...
...
--- Name of monster ID3
...
- List of attacks names (you'll find IDs of each attacks and their name)
- Scripts describing each attacks. They are quite complex and I haven't found how they are written yet.
Then, for example, if we see the part of scene.bin about Bizarro Sephiroth (ID=145), and if we translate it, we will see something like that (in the battle scene part of the block) :
ID X Y Z ln ln2 flags
Scene[0]-Monster[0]= 145 0 0 ec78 1 0 ffffffff
Scene[0]-Monster[1]= 145 0 0 ec78 1 0 fffffffe // flag "hidden"
Scene[0]-Monster[2]= 145 0 0 ec78 1 0 fffffffe
Scene[0]-Monster[3]= 145 0 0 ec78 1 0 fffffffe
Scene[0]-Monster[4]= 145 0 0 ec78 1 0 fffffffe
Scene[0]-Monster[5]=ffff ffff ffff ffff ffff ffff ffffffff // empty slot
Another answer is that blocks are limited to 256. Maybe does it explains why monsters parts are not splited into different files.