Difference between revisions of "Pikmin boss parameters"

From Pikmin Technical Knowledge Base
Jump to navigation Jump to search
(Finished Global Parameters Table.)
(Rewrote intro paragraph for new discoveries, added some known parameters to the table, and plugged my videos on boss parameter modification.)
Line 3: Line 3:
 
{{todo|Write a proper intro paragraph lol.}}
 
{{todo|Write a proper intro paragraph lol.}}
 
'''THIS PAGE IS A MASSIVE, MASSIVE WORK IN PROGRESS.'''  Not only is the formatting incomplete, but the research I have done is minimal so far.
 
'''THIS PAGE IS A MASSIVE, MASSIVE WORK IN PROGRESS.'''  Not only is the formatting incomplete, but the research I have done is minimal so far.
Pikmin 1 stores its extremely lightly documented parameters for bosses in <code>parms.bin</code> files.  These can be found under <code>...\dataDir\bosses\'''boss name'''\</code> for each boss in the game.  Note that your conception of bosses and the game's perception likely differ, as water geysers are bosses internally.
 
Thanks to some resounding similarities between the parameter files of Pikmin 1 and Pikmin 2 (similar labeling and both having a bizarre '''bounciness''' stat under the same label), figuring out some lesser obvious parameters should be possible by cross referencing.
 
The similarities between Pikmin 1 and 2 don't stop there, however.  Pikmin 1 appears to have a universal system of global and local parameters, with the first two group of these tables being global, and the third group (if present) being local.  The interesting stats are usually the local ones, so being able to locate them is great for our cause!
 
Finally, all values AFAIK are 32-bit single precision floats.  If you don't know what that means, just know you're probably gonna need an online converter to understand what you're doing while inputting new values to these parameter files.
 
  
Currently, boss parameter modification does not work on console for an unknown reason.  All testing has been done in the [https://tcrf.net/Pikmin/Windows_Executable Windows x86 Debugger]
+
Pikmin 1 stores its extremely lightly documented parameters for bosses in <code>root\dataDir\archives\bosses.arc</code>.  In this '''ARC''' file is the entirety of the <code>root\dataDir\bosses</code> directory.  Reference the files here for simplicity.
 +
 
 +
In the final release, boss parameters are read from excerpts of <code>..\archives\bosses.arc</code>.  In the [https://tcrf.net/Pikmin/Windows_Executable Windows x86 Debugger], boss parameters are read from <code>..\bosses\*\parms.bin</code> files.
 +
 
 +
Boss parameters in Pikmin 1 are fairly similar to those in Pikmin 2.  Both have identical '''sXX''' / '''sXXX''' parameters, the '''bXX''', '''cXX''', '''dXX''', and '''pXX''' parameters in Pikmin 1 are likely analogues to the '''fpXX''' parameters in Pikmin 2, and the same goes for the '''iXX''' parameters in Pikmin 1 and the '''ipXX''' parameters in Pikmin 2.
 +
 
 +
Both parameter systems follow a global/local parameter system.  In the case of the Pikmin 1 parameters, there are three sections, each terminated with <code>0xFFFFFFFF</code>.
 +
 
 +
'''Section 1)''' Contains the "global global" parameters.  These parameters are all over the engine.  Olimar also uses these parameters.  They are the '''sXX''' parameters.
 +
 
 +
'''Section 2)''' Contains the global parameters.  These parameters are shared among every boss, except for '''i10'''.  They are the '''bXX''', '''cXX''', '''dXX''', '''pXX''', and '''iXX''' parameters.
 +
 
 +
'''Section 3)''' Contains the local parameters.  These parameters are different for every boss, include lots of different labels, and are yet to be exploredNot every boss has this section
 +
 
 +
All values stored in the four bytes following a parameter label are I-EEE 754 Floating Point Numbers (32-bit floats).  I currently have a theory that '''iXX''' are, in fact, integers, though have done no testing to back this up.
 +
 
 +
The best way to modify boss parameters currently is through the [https://tcrf.net/Pikmin/Windows_Executable Windows x86 Debugger], though it ''is'' possible to modify them for the final game as well.  I have done so, [https://www.youtube.com/watch?v=iXJFQKinoBM and you can watch it here].
  
 
__TOC__
 
__TOC__
Line 18: Line 30:
 
! Label || Description || core || king || kingback || kogane || kumo || mizu || nucleus || pom || slime || snake
 
! Label || Description || core || king || kingback || kogane || kumo || mizu || nucleus || pom || slime || snake
 
|-
 
|-
| s00  || || 1.0 || 0.0 || 1.0 || 1.0 || 1.0 || 1.0 || 1.0 || 1.0 || 0.0 || 1.0
+
| s00  || friction(not used) || 1.0 || 0.0 || 1.0 || 1.0 || 1.0 || 1.0 || 1.0 || 1.0 || 0.0 || 1.0
 
|-
 
|-
| s01  || || 0.5 || 1.0 || 0.5 || 0.5 || 0.5 || 0.5 || 0.5 || 0.5 || 0.0 || 0.5
+
| s01  || wallReflection || 0.5 || 1.0 || 0.5 || 0.5 || 0.5 || 0.5 || 0.5 || 0.5 || 0.0 || 0.5
 
|-
 
|-
| s02  || || 0.0 || 0.0 || 0.0 || 0.0 || 0.0 || 0.0 || 0.0 || 0.0 || 0.0 || 0.0
+
| s02  || faceDirAdjust || 0.0 || 0.0 || 0.0 || 0.0 || 0.0 || 0.0 || 0.0 || 0.0 || 0.0 || 0.0
 
|-
 
|-
| s03  || || 1.0 || 0.1 || 1.0 || 0.1 || 1.0 || 1.0 || 1.0 || 1.0 || 0.1 || 0.3
+
| s03  || Acceleration time || 1.0 || 0.1 || 1.0 || 0.1 || 1.0 || 1.0 || 1.0 || 1.0 || 0.1 || 0.3
 
|-
 
|-
 
| s04  || Bounciness || 0.3 || 1.0 || 0.3 || 0.3 || 0.0 || 0.3 || 0.3 || 0.3 || 0.0 || 150.0
 
| s04  || Bounciness || 0.3 || 1.0 || 0.3 || 0.3 || 0.0 || 0.3 || 0.3 || 0.3 || 0.0 || 150.0
Line 371: Line 383:
 
| i92  || Unknown || <code>00 00 00 00</code> ||  ||  
 
| i92  || Unknown || <code>00 00 00 00</code> ||  ||  
 
|}
 
|}
 +
 +
==Videos==
 +
[https://www.youtube.com/watch?v=QseKQ7yslvU <nowiki>[HEX HACK] Beady Long Legs Out of Arena</nowiki>]
 +
 +
[https://www.youtube.com/watch?v=oXCZ-FXxsrg <nowiki>[HEX HACK] Emperor Bulblax Out of Arena</nowiki>]
 +
 +
[https://www.youtube.com/watch?v=TTItRTsr2Iw <nowiki>Pikmin 1 Bosses with 0 HP (Part 1)</nowiki>]
 +
 +
[https://www.youtube.com/watch?v=iXJFQKinoBM <nowiki>[HEX HACK] BLL OoA on Dolphin/console</nowiki>]
  
 
[[Category:Pikmin]]
 
[[Category:Pikmin]]
 
[[Category:Parameters]]
 
[[Category:Parameters]]

Revision as of 17:36, 28 February 2018

To do: Finish researching Global Parameters.

To do: Create proper Local Parameter Tables.

To do: Write a proper intro paragraph lol.

THIS PAGE IS A MASSIVE, MASSIVE WORK IN PROGRESS. Not only is the formatting incomplete, but the research I have done is minimal so far.

Pikmin 1 stores its extremely lightly documented parameters for bosses in root\dataDir\archives\bosses.arc. In this ARC file is the entirety of the root\dataDir\bosses directory. Reference the files here for simplicity.

In the final release, boss parameters are read from excerpts of ..\archives\bosses.arc. In the Windows x86 Debugger, boss parameters are read from ..\bosses\*\parms.bin files.

Boss parameters in Pikmin 1 are fairly similar to those in Pikmin 2. Both have identical sXX / sXXX parameters, the bXX, cXX, dXX, and pXX parameters in Pikmin 1 are likely analogues to the fpXX parameters in Pikmin 2, and the same goes for the iXX parameters in Pikmin 1 and the ipXX parameters in Pikmin 2.

Both parameter systems follow a global/local parameter system. In the case of the Pikmin 1 parameters, there are three sections, each terminated with 0xFFFFFFFF.

Section 1) Contains the "global global" parameters. These parameters are all over the engine. Olimar also uses these parameters. They are the sXX parameters.

Section 2) Contains the global parameters. These parameters are shared among every boss, except for i10. They are the bXX, cXX, dXX, pXX, and iXX parameters.

Section 3) Contains the local parameters. These parameters are different for every boss, include lots of different labels, and are yet to be explored. Not every boss has this section

All values stored in the four bytes following a parameter label are I-EEE 754 Floating Point Numbers (32-bit floats). I currently have a theory that iXX are, in fact, integers, though have done no testing to back this up.

The best way to modify boss parameters currently is through the Windows x86 Debugger, though it is possible to modify them for the final game as well. I have done so, and you can watch it here.

Global Parameters

Note: Some i** parameters are actually very small values that round to 0.0

Label Description core king kingback kogane kumo mizu nucleus pom slime snake
s00 friction(not used) 1.0 0.0 1.0 1.0 1.0 1.0 1.0 1.0 0.0 1.0
s01 wallReflection 0.5 1.0 0.5 0.5 0.5 0.5 0.5 0.5 0.0 0.5
s02 faceDirAdjust 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
s03 Acceleration time 1.0 0.1 1.0 0.1 1.0 1.0 1.0 1.0 0.1 0.3
s04 Bounciness 0.3 1.0 0.3 0.3 0.0 0.3 0.3 0.3 0.0 150.0
b00 Territory Radius 0.0 200.0 0.0 0.0 200.0 100.0 0.0 0.0 350.0 150.0
b01 0.0 175.0 0.0 0.0 150.0 0.0 0.0 0.0 250.0 80.0
b02 Seeking Radius 0.0 400.0 0.0 500.0 400.0 0.0 0.0 500.0 500.0 250.0
b03 Private Radius (Maybe) 0.0 180.0 0.0 0.0 360.0 0.0 0.0 0.0 360.0 180.0
b10 Health Points 50000.0 30000.0 1000.0 50000.0 5000.0 50000.0 50000.0 50000.0 30000.0 25000.0
b13 (Related to AI Seeking?) 0.0 10.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 30.0
b11 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
b14 0.0 1.5 1.0 0.0 1.0 0.0 0.5 0.0 0.0 7.5
b12 0.0 2.0 1.0 0.0 0.3 0.0 10.0 0.0 0.0 1.0
c00 5000.0 5000.0 0.0 5000.0 312.5 0.0 5000.0 0.0 5000.0 5000.0
c01 20.0 0.0 0.0 30.0 30.0 0.0 20.0 0.0 -30.0 30.0
d00 0.0 1.0 0.0 1.0 0.5 0.0 0.0 0.0 1.0 1.0
d01 500.0 100.0 0.0 0.0 100.0 0.0 500.0 0.0 500.0 100.0
d02 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 10.0 0.0
p00 Rendering Sphere Radius 200.0 200.0 60.0 40.0 250.0 10.0 200.0 60.0 150.0 175.0
p01 Rendering Sphere Y-Offset 25.0 80.0 0.0 10.0 100.0 0.0 25.0 20.0 25.0 50.0
i10 0.0 0.0 N/A 0.0 0.0 N/A 0.0 0.0 0.0 0.0
i00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
i01 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
i02 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
i03 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
i04 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
i05 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
i06 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
i90 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

Local Parameters

Goolix yellow nucleus (core)


Emperor Bulblax front (king)

Label Description Value Vanilla Modified
o00 Unknown 00 00 00 01
o01 Unknown 00 00 00 01
o02 Unknown 00 00 00 01
p00 Unknown 00 00 00 01
p01 Unknown 00 00 00 01
p04 Unknown 00 00 00 01
p02 Unknown 00 00 00 01
p03 Unknown 00 00 00 01
p10 Unknown 00 00 00 01
q10 Unknown 00 00 00 01
r00 Unknown 00 00 00 01
r01 Unknown 00 00 00 01
s00 Unknown 00 00 00 01
s10 Unknown 00 00 00 01
s20 Unknown 00 00 00 01
s21 Unknown 00 00 00 01
s23 Unknown 00 00 00 01
s30 Unknown 00 00 00 01
s31 Unknown 00 00 00 01
s32 Unknown 00 00 00 01
s40 Unknown 00 00 00 01
s41 Unknown 00 00 00 01
t00 Unknown 00 00 00 01
t01 Unknown 00 00 00 01
t02 Unknown 00 00 00 01
t03 Unknown 00 00 00 01
t10 Unknown 00 00 00 01
t11 Unknown 00 00 00 01
t12 Unknown 00 00 00 01
i00 Unknown 00 00 00 01
i10 Unknown 00 00 00 01
i11 Unknown 00 00 00 01
i12 Unknown 00 00 00 01
i13 Unknown 00 00 00 01
i14 Unknown 00 00 00 01
i20 Unknown 00 00 00 01
i21 Unknown 00 00 00 01
i22 Unknown 00 00 00 01
i23 Unknown 00 00 00 01
i24 Unknown 00 00 00 01
i30 Unknown 00 00 00 01
i40 Unknown 00 00 00 01


Emperor Bulblax back (kingback)


Iridescent Flint Beetle (kogane)

Label Description Value Vanilla Modified
o00 Unknown 41 F0 00 00
o01 Unknown 40 C0 00 00
o02 Unknown 40 C0 00 00
p00 Unknown 43 7A 00 00
p10 Unknown 41 20 00 00
p50 Unknown 41 F0 00 00
p51 Unknown 42 C8 00 00
p52 Unknown 42 C8 00 00
p53 Unknown 43 48 00 00
t00 Unknown 41 A0 00 00
t01 Unknown 41 F0 00 00
t10 Unknown 3F 00 00 00
t11 Unknown 40 40 00 00
t50 Unknown 3F C0 00 00
s00 Unknown 3F 80 00 00


Beady Long Legs (kumo)

Label Description Value Vanilla Modified
p10 Unknown 3F C0 00 00
p11 Unknown 3D E7 6C 8B
p12 Unknown 3E BD 70 A4
p13 Unknown 40 E0 00 00
p14 Unknown 3D CC CC CD
p15 Unknown 41 20 00 00
p20 Unknown 42 F0 00 00
p21 Unknown 42 70 00 00
p22 Unknown 42 34 00 00
p23 Unknown 40 80 00 00
p24 Unknown 42 48 00 00
p30 Unknown 42 96 00 00
p31 Unknown 42 C8 00 00
p32 Unknown 42 C8 00 00
p33 Unknown 42 FA 00 00
p34 Unknown 3F 33 33 33
p35 Unknown 3F 99 99 9A
p40 Unknown 3F E6 66 66
p50 Unknown 41 C8 00 00
p51 Unknown 41 A0 00 00
p52 Unknown 43 48 00 00
p53 Unknown 3E 99 99 9A
p54 Unknown 42 C8 00 00
p55 Unknown 00 00 00 00
p56 Unknown 3E 19 99 9A
p57 Unknown 40 00 00 00
p60 Unknown 3E 19 99 9A
p61 Unknown 3F 73 33 33
p62 Unknown 41 F0 00 00
p63 Unknown 3C 23 D7 0A
p70 Unknown 41 F0 00 00
p71 Unknown 40 00 00 00
p72 Unknown 3F 80 00 00
p73 Unknown 3F 00 00 00
p74 Unknown 3F 66 66 66
p75 Unknown 3F CC CC CD
c00 Unknown 43 34 00 00
c01 Unknown 3D 4C CC CD
t00 Unknown 40 BC CC CD
s00 Unknown 40 C0 00 00
s01 Unknown 3D CC CC CD
s02 Unknown 3D CC CC CD
s10 Unknown 42 C8 00 00
s11 Unknown 42 C8 00 00
s30 Unknown 41 F0 00 00
s31 Unknown 3F 00 00 00
s32 Unknown 3F 40 00 00
i00 Unknown 00 00 00 01
i01 Unknown 00 00 00 02
i02 Unknown 00 00 00 02
i03 Unknown 00 00 00 04
i10 Unknown 00 00 00 01
i20 Unknown 00 00 00 01


Geyser (mizu)


Goolix blue nucleus (nucleus)


Candypop Bud (pom)

Label Description Value Vanilla Modified
s00 Unknown 3E 19 99 9A
s01 Unknown 3F 00 00 00
s02 Unknown 3E 19 99 9A
p00 Unknown 41 F0 00 00
p10 Unknown 43 87 00 00
i00 Unknown 00 00 00 0A
i10 Unknown 00 00 00 05
i11 Unknown 00 00 00 05
i20 Unknown 00 00 00 00
i90 Unknown 00 00 00 00
i91 Unknown 00 00 00 01
i92 Unknown 00 00 00 00

Videos

[HEX HACK] Beady Long Legs Out of Arena

[HEX HACK] Emperor Bulblax Out of Arena

Pikmin 1 Bosses with 0 HP (Part 1)

[HEX HACK] BLL OoA on Dolphin/console