JPC file
Jump to navigation
Jump to search
Editor's note: The information on this page was gathered from eff2d_world_map.jpc and game.jpc. This page is not finished.
JPC files represent an indexed collection of JPA files, and contain information on the particle systems of Pikmin 2, as well as BTI images for the particles. A list of particle emitters and textures can be found here.
File header
Data type | Description |
---|---|
0x0 (8 char) | Magic word string, JPAC2-10 .
|
0x8 (uint16) | Number of BEM1 blocks, total number of defined emitters. |
0xA (uint16) | Number of BTI format textures (TEX1). |
0xC (uint32) | Total size of data excluding the TEX1 sections. |
Before the BEM1 section, every particle emitter starts off with 8 bytes of data:
Offset | Data type | Description |
---|---|---|
0x0 | uint16 | Identifier. |
0x2 | uint16 | Unknown - Always set to 5.[unsure] |
0x4 | uint8 | Unknown - Crash handler mentions something about JPAWorkData.[unsure] |
0x5 | uint8 | Unknown - Crash handler mentions JPAKeyBlock? Related to alpha?[unsure] Crashes when changed to something else. |
BEM1 block
Offset | Data type | Description |
---|---|---|
0x0 | 4 char | Magic word string, BEM1 .
|
0x4 | uint32 | Value is always 0x7C since the data size of this section is static (124 bytes).
|
0x8 | uint16 | Unknown - Doesn't seem to do anything. Changing doesn't crash.[unsure] |
0xA | uint8 | Purpose unknown.[unsure] Can be set from 0-7. Crashes resulted when set to 7. Crash handler mentions JPADyanmicBlocks? Setting numbers higher than 7 will wrap around to represent 0-7. |
0xB | uint8 | Bit flags. Upper 4 bits not used? Going right to left the 1st bit doesn't seem to do anything noticeable. 2nd seems to turn off particle cap. 3rd seems to determine if the particle system should fire continuously or once. 4th makes the particles parented to the emitter.[unsure] |
0x10 | float | Scale X, these scale values may be used for the shape that particles can spawn within. |
0x14 | float | Scale Y. |
0x18 | float | Scale Z. |
0x1C | float | Emitter's X offset from origin. |
0x20 | float | Emitter's Y offset from origin. |
0x24 | float | Emitter's Z offset from origin. |