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 | + | '''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 | + | 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'''. | |
− | + | [https://en.wikipedia.org/wiki/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 [https://en.wikipedia.org/wiki/Parsing parser]. | |
− | * It is perfectly valid for a label to be absent from a | + | 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 | + | 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 | + | * 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. | ||
− | * | + | * 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. |
− | * | + | * 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. |
− | * | + | * 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 [ | + | '''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| | + | '''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]] |