Editing JPC file

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{note|The information on this page was gathered from eff2d_world_map.jpc and game.jpc. This page is not finished.}}
+
{{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 file]]s, and contain information on the particle systems of ''Pikmin 2'', as well as [[BTI file|BTI images]] for the particles. A list of particle emitters and textures can be found [[Pikmin 2 particle list|here]].
+
'''JPC files''' represent an indexed collection of [[JPA file]]s, and contain information on particle systems and store [[BTI file|BTI images]].
  
 
== File header ==
 
== File header ==
Line 7: Line 7:
 
! Data type || Description
 
! Data type || Description
 
|-
 
|-
|  0x0 (8 char) || Magic word string, <code>JPAC2-10</code>.
+
|  0x0 (8 char) || String, <code>JPAC2-10</code>.
 
|-
 
|-
|  0x8 (uint16) || Number of BEM1 blocks, total number of defined emitters.
+
|  0x8 (uint16) || Number of BEM1 headers, total number of defined emitters.
 
|-
 
|-
 
|  0xA (uint16) || Number of BTI format textures (TEX1).
 
|  0xA (uint16) || Number of BTI format textures (TEX1).
Line 19: Line 19:
  
 
{| class="wikitable"
 
{| class="wikitable"
! Offset || Data type || Description
+
! Data type || Description
 
|-
 
|-
|  0x0 || uint16 || Identifier.
+
|  0x0 (uint16)|| Identifier.
 
|-
 
|-
|  0x2 || uint16 || {{unsure|Unknown - Always set to 5.}}
+
|  0x2 (uint16)|| {{unsure|Unknown - Always set to 5.}}
 
|-
 
|-
|  0x4 || uint8 || {{unsure|Unknown - Crash handler mentions something about JPAWorkData.}}
+
|  0x4 (uint8)|| {{unsure|Unknown - Crash handler mentions something about JPAWorkData.}}
 
|-
 
|-
|  0x5 || uint8 || {{unsure|Unknown - Crash handler mentions JPAKeyBlock? Related to alpha?}} [https://i.gyazo.com/5507d06343f68515f91c630545947f87.png Crashes when changed to something else].
+
|  0x5 (uint8)|| {{unsure|Unknown - Crash handler mentions JPAKeyBlock? Related to alpha? [https://i.gyazo.com/5507d06343f68515f91c630545947f87.pngCrashes when changed to something else].}}
 
|}
 
|}
  
== BEM1 block ==
+
== BEM1 ==
 
{| class="wikitable"
 
{| class="wikitable"
! Offset || Data type || Description
+
! Data type || Description
 +
|-
 +
|  0x0 (4 char)|| String, <code>BEM1</code>.
 +
|-
 +
|  0x4 (uint32)|| Value is always <code>0x7C</code> since the data size of this section is static (124 bytes).
 +
|-
 +
|  0x8 (uint16)|| {{unsure|Unknown - Doesn't seem to do anything. Changing doesn't crash.}}
 +
|-
 +
|  0xA (uint8)|| {{unsure|Purpose unknown.}} 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. {{unsure|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.}}
 +
|-
 +
|  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 ==
 +
{| class="wikitable"
 +
! 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
 +
|-
 +
|  0003|| - || Enemy_Baby_TBabyBecha
 +
|-
 +
|  0004|| - || Enemy_Baby_TBabyBorn
 +
|-
 +
|  0005|| - || Item_Barrel_TBarrelDead_1
 +
|-
 +
|  0006|| - || Item_Barrel_TBarrelDead_2
 +
|-
 +
|  0007|| - || Item_Barrel_TBarrelDead_3
 +
|-
 +
|  0008|| - || Enemy_Bomb_TBombrockABCD_1
 +
|-
 +
|  0009|| - || Enemy_Bomb_TBombrockABCD_2
 +
|-
 +
|  000a|| - || Enemy_Bomb_TBombrockABCD_3
 +
|-
 +
|  000b|| - || Enemy_Bomb_TBombrockABCD_4
 +
|-
 +
|  000c|| - || Enemy_Bomb_TBombrockEFGH_1
 +
|-
 +
|  000d|| - || Enemy_Bomb_TBombrockEFGH_2
 +
|-
 +
|  000e|| - || Enemy_Bomb_TBombrockEFGH_3
 +
|-
 +
|  000f|| - || Enemy_Bomb_TBombrockEFGH_4
 +
|-
 +
|  0010|| - || Piki_TBridgeAttack
 +
|-
 +
|  0011|| - || Item_Bridge_TBridgeSet
 +
|-
 +
|  0012|| - || Enemy_BombSarai_TBsaraiDead_1
 +
|-
 +
|  0013|| - || Enemy_BombSarai_TBsaraiDead_2
 +
|-
 +
|  0014|| - || Enemy_BombSarai_TBsaraiSupli
 +
|-
 +
|  0015|| - || Enemy_ImoMushi_TChouDown_1
 +
|-
 +
|  0016|| - || Enemy_ImoMushi_TChouDown_2
 +
|-
 +
|  0017|| - || Enemy_ImoMushi_TChouDown_3
 +
|-
 +
|  0018|| - || Enemy_ShijimiChou_TChouHit
 +
|-
 +
|  0019|| - || Cursor1
 +
|-
 +
|  001a|| - || Cursor2
 +
|-
 +
|  001b|| - || Cursor3
 +
|-
 +
|  001c|| - || Enemy_DamaGumo_TDamaDeadBomb
 +
|-
 +
|  001d|| - || Enemy_DamaGumo_TDamaDeadElecA
 +
|-
 +
|  001e|| - || Enemy_DamaGumo_TDamaDeadElecB
 +
|-
 +
|  001f|| - || Enemy_DamaGumo_TDamaDeadHahenA
 +
|-
 +
|  0020|| - || Enemy_DamaGumo_TDamaDeadHahenB
 +
|-
 +
|  0021|| - || Enemy_DamaGumo_TDamaDeadHahenC1
 +
|-
 +
|  0022|| - || Enemy_DamaGumo_TDamaDeadHahenC2
 +
|-
 +
|  0023|| - || Enemy_DamaGumo_TDamaFootw
 +
|-
 +
|  0024|| - || Enemy_DamaGumo_TDamaFoot_1
 +
|-
 +
|  0025|| - || Enemy_DamaGumo_TDamaFoot_2
 +
|-
 +
|  0026|| - || Enemy_DamaGumo_TDamaHahen
 +
|-
 +
|  0027|| - || Enemy_DamaGumo_TDamaSmoke
 +
|-
 +
|  0028|| - || Enemy_DamaGumo_TDamaWalkw_1
 +
|-
 +
|  0029|| - || Enemy_DamaGumo_TDamaWalkw_2
 +
|-
 +
|  002a|| - || Enemy_DamaGumo_TDamaWalkw_3
 +
|-
 +
|  002b|| - || Enemy_DamaGumo_TDamaWalk_1
 +
|-
 +
|  002c|| - || Enemy_DamaGumo_TDamaWalk_2
 +
|-
 +
|  002d|| - || Enemy_ElecHiba_TDenkiHiba_1
 +
|-
 +
|  002e|| - || Enemy_ElecHiba_TDenkiHiba_2
 +
|-
 +
|  002f|| - || Enemy_ElecHiba_TDenkiHiba_3
 +
|-
 +
| - || - ||
 +
|-
 +
| - || - ||
 +
|-
 +
|  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
 
|-
 
|-
0x0 || 4 char || Magic word string, <code>BEM1</code>.
+
016D|| Yellow Pikmin idle halo || Piki_TPkToeKourin_yellow
 
|-
 
|-
| 0x4 || uint32 || Value is always <code>0x7C</code> since the data size of this section is static (124 bytes).
+
| - || - ||  
 
|-
 
|-
| 0x8 || uint16 || {{unsure|Unknown - Doesn't seem to do anything. Changing doesn't crash.}}
+
| - || - ||  
 
|-
 
|-
0xA || uint8 || {{unsure|Purpose unknown.}} 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.
+
01E0|| Ranging Bloyster blue tail glow ||  
 
|-
 
|-
0xB || uint8 || Bit flags. {{unsure|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.}}
+
01E1|| Ranging Bloyster... ||
 
|-
 
|-
0x10 || float || Scale X, these scale values may be used for the shape that particles can spawn within.
+
01E2|| Ranging Bloyster red tail glow ||  
 
|-
 
|-
0x14 || float || Scale Y.
+
01E3|| Ranging Bloyster... ||
 
|-
 
|-
| 0x18 || float || Scale Z.
+
| - || - ||  
 
|-
 
|-
0x1C || float || Emitter's X offset from origin.
+
0281|| Green (Bulbmin) idle halo || Piki_TPkToeKourin_green
 
|-
 
|-
| 0x20 || float || Emitter's Y offset from origin.
+
| - || - ||  
 
|-
 
|-
| 0x24 || float || Emitter's Z offset from origin.
+
| - || - ||  
 
|}
 
|}
  
 
[[Category:File formats]]
 
[[Category:File formats]]
 
[[Category:Pikmin 2]]
 
[[Category:Pikmin 2]]

Please note that all contributions to Pikmin Technical Knowledge Base are considered to be released under the Creative Commons Attribution-ShareAlike (see Pikmin Technical Knowledge Base:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: