JPA file type

From Sunshine Wiki
Jump to navigation Jump to search

General Info[edit | edit source]

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

Header Section[edit | edit source]

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

BEM1 Section[edit | edit source]

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)

FLD1 Section[edit | edit source]

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

KFA1 Section[edit | edit source]

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)

BSP1 Section[edit | edit source]

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)

ESP1 Section[edit | edit source]

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?