Editing Pikmin labeled parameter 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 3: Line 3:
 
[[File:Parsing_Information.PNG|514px|thumb|right|Labels for parsing Pom's local parameters inside of the DOL header.]]
 
[[File:Parsing_Information.PNG|514px|thumb|right|Labels for parsing Pom's local parameters inside of the DOL header.]]
 
[[File:Pom_Parms_in_Memory_Annotated.png|578px|thumb|right|Parameters and labels inside memory during gameplay.]]
 
[[File:Pom_Parms_in_Memory_Annotated.png|578px|thumb|right|Parameters and labels inside memory during gameplay.]]
'''Labeled parameter files''' are the most common form of parameter storage in ''Pikmin'' by application (though not necessarily by quantity).
+
'''Labeled Parameter Files''' are the most common form of parameter storage in Pikmin 1 by application (though not necessarily by quantity).
 +
 
 +
 
 +
 
 +
__TOC__
 +
 
  
 
__TOC__
 
__TOC__
  
 
==Rules==
 
==Rules==
Values in labeled parameter files are preceeded by a '''Label''' (e.g. s00, p14, b03, x99, i40, etc.).
+
Values in ''Labeled Parameter Files'' are preceeded by a '''Label''' (e.g. s00, p14, b03, x99, i40, etc.).
 
 
'''Distinct Parameters Groups''' within labeled parameter files (i.e. global, shared, and local) are terminated by a '''Null Byte Partition'''.
 
  
[[wikipedia:Parsing|Parsing]] information for labeled parameter files can be found embedded in the DOL header. Changing the labels here changes what is sought after by the parser.
+
'''Distinct Parameters Groups''' within ''Labeled Parameter Files'' (i.e. global, shared, and local) are terminated by a '''Null Byte Partition'''.
  
The order of parameters in labeled parameter files does not matterWhen an instance of a label is encountered by the parser, it fills the memory address sharing the label with the value.
+
[https://en.wikipedia.org/wiki/Parsing Parsing] information for ''Labeled Parameter Files'' can be found embedded in the DOL headerChanging the labels here changes what is sought after by the [https://en.wikipedia.org/wiki/Parsing parser].
  
* It is perfectly valid for a label to be absent from a labeled parameter file.  In this case, the value will instead be set to a default decided on by the developers.
+
The order of parameters in ''Labeled Parameter Files'' does not matter.  When an instance of a label is encountered by the [https://en.wikipedia.org/wiki/Parsing parser], it fills the memory address sharing the label with the value.
 +
* It is perfectly valid for a label to be absent from a ''Labeled Parameter File''.  In this case, the value will instead be set to a default decided on by the developers.
 
** These default values ''technically'' can be found embedded in the DOL header, but they are stored in a sort of primordial soup from compiling.  Which values belong to which parameters is currently a mystery.
 
** These default values ''technically'' can be found embedded in the DOL header, but they are stored in a sort of primordial soup from compiling.  Which values belong to which parameters is currently a mystery.
  
It is also perfectly acceptable for a labeled parameter file to be completely absent from the filesystem.  In this case, every parameter will be left at its default.
+
It is also perfectly acceptable for a ''Labeled Parameter File'' to be completely absent from the filesystem.  In this case, every parameter will be left at its default.
* This suggests that the purpose of labeled parameter file is to ''overwrite'' values set during initialization of memory.
+
* This suggests that the purpose of ''Labeled Parameter Files'' is to ''overwrite'' values set during initialization of memory.
 
** This, in turn, suggests that the default values are the earliest revision of all parameter values.
 
** This, in turn, suggests that the default values are the earliest revision of all parameter values.
  
 
As a rule of thumb, the first character of a label can often indicate what type of value a parameter is.
 
As a rule of thumb, the first character of a label can often indicate what type of value a parameter is.
* <code>i--</code> and <code>x--</code> labels often denote an [[wikipedia:Integer (computer science)|integer]] parameter or, less often, a [[wikipedia:Boolean data type|boolean]] parameter.
+
* i-- and x-- labels often denote an [https://en.wikipedia.org/wiki/Integer_(computer_science) integer] parameter or, less often, a [https://en.wikipedia.org/wiki/Boolean_data_type boolean] parameter.
* <code>s--</code> labels are typically reserved for '''Global Parms''' groups, and often denote an [[wikipedia:IEEE 754|IEEE-754 floating point decimal]] parameter.
+
* s-- labels are typically reserved for '''Global Parms''' groups, and often denote an [https://en.wikipedia.org/wiki/IEEE_754 IEEE-754 floating point decimal] parameter.
* <code>p--</code> labels often denote an IEEE-754 floating point decimal parameter.
+
* p-- labels often denote an [https://en.wikipedia.org/wiki/IEEE_754 IEEE-754 floating point decimal] parameter.
* Other letters of the alphabet (when used) often denote an IEEE-754 floating point decimal parameter.
+
* Other letters of the alphabet (when used) often denote an [https://en.wikipedia.org/wiki/IEEE_754 IEEE-754 floating point decimal] parameter.
  
 
Rarely, a parameter label does not follow the numbered character system and instead resorts to labels such as "spd" or "new".
 
Rarely, a parameter label does not follow the numbered character system and instead resorts to labels such as "spd" or "new".
 +
  
 
==Vocabulary==
 
==Vocabulary==
'''Label:'''  A string [[wikipedia:Word (computer architecture)|word]] preceeding a parameter value word.
+
'''Label:'''  A string [https://en.wikipedia.org/wiki/Word_(computer_architecture) word] preceeding a parameter value [https://en.wikipedia.org/wiki/Word_(computer_architecture) word].
  
'''Null Byte Partition:'''  A word of nothing but ''Null Bytes'' (<code>0xFF</code>).  Communicates the termination of a ''Distinct Parameters Group'' to the parser.
+
'''Null Byte Partition:'''  A [https://en.wikipedia.org/wiki/Word_(computer_architecture) word] of nothing but ''Null Bytes'' (<code>0xFF</code>).  Communicates the termination of a ''Distinct Parameters Group'' to the [https://en.wikipedia.org/wiki/Parsing parser].
  
 
'''Distinct Parameters Group:'''  A collection of labeled parameters terminated by a ''Null Byte Partition''.
 
'''Distinct Parameters Group:'''  A collection of labeled parameters terminated by a ''Null Byte Partition''.
  
'''Global Parms:'''  A ''Distinct Parameters Group'' that is used by many similar ''and'' different types of objects across the game engine.  They are:
+
'''Global Parms:'''  A ''Distinct Parameters Group'' that is used by many similar ''and'' different types of objects across the game engine.  They are--
 
* '''s00:'''  friction
 
* '''s00:'''  friction
 
* '''s01:'''  wallReflection
 
* '''s01:'''  wallReflection
Line 45: Line 50:
 
* '''s04:'''  bounceFactor
 
* '''s04:'''  bounceFactor
  
'''Shared Parms:'''  A ''Distinct Parameters Group'' that is used by many similar types of objects in the game engine.  Bosses have these.  Tekis imitate this, though they use [[Pikmin unlabeled parameter files|unlabeled parameter files]].
+
'''Shared Parms:'''  A ''Distinct Parameters Group'' that is used by many similar types of objects in the game engine.  Bosses have these.  Tekis imitate this, though they use [[Pikmin unlabeled parameter files|Unlabeled Parameter Files]].
  
 
'''Local Parms:'''  A ''Distinct Parameters Group'' that is only used by one object in the game engine.  Most parameter files use this ''Distinct Parameters Group'' alone.
 
'''Local Parms:'''  A ''Distinct Parameters Group'' that is only used by one object in the game engine.  Most parameter files use this ''Distinct Parameters Group'' alone.
 +
  
 
[[Category:Pikmin]]
 
[[Category:Pikmin]]

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)

Template used on this page: