JPC file

From Pikmin Technical Knowledge Base
Jump to navigation Jump to search

Editor's note: The information on this page was gathered from eff2d_world_map.jpc. This page is not finished.

JPC files represent an indexed collection of JPA files, and contain information on particle systems and store BTI images.

File header

Data type Description
0x0 (8 char) String, JPAC2-10.
0x8 (uint16) Number of BEM1 headers, 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:

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? when changed to something else.[unsure]

BEM1

Data type Description
0x0 (4 char) 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.

Game.JPC Particle List

ID Description Internal name
0000 Flies from Doodlebug Enemy_Fart_TBabyFly_ver01
0001 Fart from Doodlebug Enemy_Fart_TBabaHe_1
0002 - Enemy_Fart_TBabaHe_2
- -
- -
00de - Navi_TOrimaLight_loozy_1
00df - Navi_TOrimaLightAct_loozy_1
00e0 - Navi_TOrimaLightAct_loozy_2
00e1 - Navi_TOrimaLight_loozy_2
- -
00f8 Blue Onion Onyon_ContainerAct_blue_1
00f9 Blue Onion Onyon_ContainerAct_blue_2
00fa Red Onion Onyon_ContainerAct_red_1
00fb Red Onion Onyon_ContainerAct_red_2
00fc Yellow Onion Onyon_ContainerAct_yellow_1
00fd Yellow Onion Onyon_ContainerAct_yellow_2
00fe - Onyon_TOnyonEatAB_1
00ff - Onyon_TOnyonEatAB_2
0100 - Onyon_TOnyonEatC
0101 - Onyon_TOnyonLay_1
0102 - Onyon_TOnyonLay_2
0103 - Onyon_TOnyonPuffKira
0104 - Onyon_TOnyonPuffPuff
0105 Blue Onion Onyon_Container_Blue
0106 Red Onion Onyon_Container_Red
0107 Yellow Onion Onyon_Container_Yellow
- -
0153 Purple Pikmin ghost Piki_TPkS_Dead_purple
0154 Blue Pikmin ghost Piki_TPkS_Dead_blue
0155 Red Pikmin ghost Piki_TPkS_Dead_red
0156 White Pikmin ghost Piki_TPkS_Dead_white
0157 Yellow Pikmin ghost Piki_TPkS_Dead_yellow
- -
- -
0169 Purple Pikmin idle halo Piki_TPkToeKourin_purple
016A Blue Pikmin idle halo Piki_TPkToeKourin_blue
016B Red Pikmin idle halo Piki_TPkToeKourin_red
016C White Pikmin idle halo Piki_TPkToeKourin_white
016D Yellow Pikmin idle halo Piki_TPkToeKourin_yellow
- -
- -
01E0 Ranging Bloyster blue tail glow
01E1 Ranging Bloyster...
01E2 Ranging Bloyster red tail glow
01E3 Ranging Bloyster...
- -
0281 Green (Bulbmin) idle halo Piki_TPkToeKourin_green
- -
- -