Jpa files are particle systems. I believe the code itself handles how it’s spawned, but I would assume the file itself controls the movement/animation
Order from what I can tell: Header, BEM1, FLD1(optional), KFA1 (optional), BSP1, ESP1 (optional?), EXT1 (optional), TEX1
Intro part of the file, holds info about the future sections of the file (Gotten from [1])
Section Offset
|
Byte Length
|
Description
|
0x00
|
4
|
File Identifier: always “JEFF”
|
0x04
|
4
|
Tag (like in BMD/BDL): always "jpa1"
|
0x08
|
4
|
Offset to end of file (aka number of bytes the file uses)
|
0x0c
|
4
|
Number of sections (ex number of TEX1/BEM1/ect sections)
|
0x10
|
16
|
Padding: all 0x00
|
Always first section, only one ever, seems to have a fixed length (has to do with emission?)
Section Offset
|
Byte Length
|
Description
|
0x00
|
4
|
File Identifier: always “BEM1”
|
0x04
|
4
|
Offset to end of section, only seen as 0xA0
|
0x08
|
4
|
Padding?: Always 0x00
|
0x0c
|
16
|
Floats? Last one is always 0 (Seems to be emission area of x y and z)
|
After BEM1, can have none or multiple (seen at least 2)
Section Offset
|
Byte Length
|
Description
|
0x00
|
4
|
File Identifier: always “FLD1”
|
0x04
|
4
|
Offset to end of section, only seen as 0xA0
|
After FLD1 section, can have none or multiple (seen at least 3)
Section Offset
|
Byte Length
|
Description
|
0x00
|
4
|
File Identifier: always “KFA1”
|
0x04
|
4
|
Offset to end of section, not fixed length (seen 0x60 and 0x40)
|
After KFA1 section, must have one?
Section Offset
|
Byte Length
|
Description
|
0x00
|
4
|
File Identifier: always “BSP1”
|
0x04
|
4
|
Offset to end of section, not fixed length (seen 0xc0 and 0xe0)
|
After BSP1 section, optional to have one
Section Offset
|
Byte Length
|
Description
|
0x00
|
4
|
File Identifier: always “ESP1”
|
0x04
|
4
|
Offset to end of section, always 0x80?
|