Difference between revisions of "Pikmin area generator file/File format"

From Pikmin Technical Knowledge Base
Jump to navigation Jump to search
(Add unknown tags)
(Add generator info)
Line 31: Line 31:
 
|uint32
 
|uint32
 
|an unsigned integer specifying the amount of generators in the file
 
|an unsigned integer specifying the amount of generators in the file
 +
|}
 +
 +
{| class="wikitable"
 +
|+Generator format
 +
|-
 +
!Offset
 +
!Type
 +
!Description
 +
|-
 +
|0x0
 +
|char[4]
 +
|Four spaces, presumably the name of the generator base that is used in all object types
 +
|-
 +
|0x4
 +
|char[4]
 +
|version string, usually v0.0
 +
|-
 +
|0x8
 +
|uint32
 +
|{{unknown|unknown}}
 +
|-
 +
|0xC
 +
|uint32
 +
|{{unknown|unknown}}
 +
|-
 +
|0x10
 +
|uint8[32]
 +
|32 bytes of data. {{unknown|unknown}}
 +
|-
 +
|0x30
 +
|float[3]
 +
|XYZ position of object
 +
|-
 +
|0x3C
 +
|float[3]
 +
|{{unknown|unknown}}
 +
|-
 +
|0x48
 +
|char[4]
 +
|4 byte string specifying the type of the object. Type name is reversed
 +
|-
 +
|0x4C
 +
|char[4]
 +
|version string
 +
|-
 +
|0x50
 +
|uint8[...]
 +
|Variable amount of data depending on type of object
 
|}
 
|}

Revision as of 20:34, 25 December 2017

This page describes the format of the object generator files in Pikmin. These files have the file ending .gen. Generators handle the spawning of objects, such as pellets or enemies, in the levels. Each such object is spawned by a generator.

File header
Offset Type Description
0x0 char[4] a 4 byte string saying v1.0, presumably the version of the format or the version of the file
0x4 float unknown[unsure]
0x8 float unknown[unsure]
0xC float unknown[unsure]
0x10 float unknown[unsure]
0x14 uint32 an unsigned integer specifying the amount of generators in the file
Generator format
Offset Type Description
0x0 char[4] Four spaces, presumably the name of the generator base that is used in all object types
0x4 char[4] version string, usually v0.0
0x8 uint32 unknown[unsure]
0xC uint32 unknown[unsure]
0x10 uint8[32] 32 bytes of data. unknown[unsure]
0x30 float[3] XYZ position of object
0x3C float[3] unknown[unsure]
0x48 char[4] 4 byte string specifying the type of the object. Type name is reversed
0x4C char[4] version string
0x50 uint8[...] Variable amount of data depending on type of object