Burnout Wiki:Format documentation specification: Difference between revisions

m
m (Burninrubber0 moved page Format documentation guide to Burnout Wiki:Format documentation guide: Namespace change)
 
(One intermediate revision by the same user not shown)
Line 47:
 
==== Type ====
The data type of the field. If the type is unknown, refer to [[#Choosing a data type | choosing a data type]].
 
If the type is known and is a structure, union, enumeration, or custom typedef, this should be a link to the relevant section. If the official documentation states it is a standard type but it is still used as an enumerated value or similar, leave the link in the Comments column in the style "See <nowiki>[[link]]</nowiki>".
Line 84:
== Columns ==
==== Length ====
The length of the field. This should always be hexadecimal and prefixed with <code>0x</code>, even if the length is less than decimal 10. See [[#Length | Structures]] for more details.
 
The length should be defined per member just as it is with structures. The overall length of the type will be determined by its largest member and should not be listed separately.
 
==== Type ====
The data type of the field. If the type is unknown, refer to [[#Choosing a data type | choosing a data type]].
 
If the type is known and is a structure, union, enumeration, or custom typedef, this should be a link to the relevant section. If the official documentation states it is a standard type but it is still used as an enumerated value or similar, leave the link in the Comments column in the style "See <nowiki>[[link]]</nowiki>".
Line 144:
 
== Traditional enumerations ==
Most enumerations are sets of sequential values from which a single value may be used per variable. It follows that such enumerations are typically in decimal format, and wiki content should reflect this. Sometimes, however, it is appropriate to use hexadecimal, such as with how [[Resource Types (Burnout Paradise) | resource type IDs]] are split up along hexadecimal boundaries. These are the only situations in which mixed base formatting should be used.
 
Enumerations should be displayed in the following format:
Line 188:
 
= Bit fields =
[https://en.wikipedia.org/wiki/Bit_field Bit fields] should be denoted in a similar manner to [[#Structures | structures]] and should be listed under the same top-level section. There are, however, some important differences to note.
 
{| class="wikitable"
Line 198:
 
== LSB 0 vs MSB 0 ==
As with [[#Binary flags | flags]], the generally accepted standard is to document binary structures in LSB 0 notation; that is, the least significant bit is listed first. However, this only readable when said structure is split evenly along byte boundaries such as in [[Texture/Xbox 360#GPUTEXTURE_FETCH_CONSTANT | Xbox 360 textures]]. In structures such as [[Generic RWAC Wave Content#Header | SndPlayer assets]], the structure can be difficult to read when reversed and is actually defined in MSB 0 in the source code.
 
This solution used by the wiki is to display all binary structures in MSB 0 notation, even when official documentation has it in LSB 0. This improves consistency and readability.
Line 231:
! Bit value !! 0 !! 0 !! 0 !! 1 !! 0 !! 0 !! 0 !! 1 !! 1 !! 1 !! 1 !! 1 !! 1 !! 1 !! 0 !! 0
|-
| '''Parsed value''' || colspan=4 | 1 || colspan=12 | 0x1FC
|-
| '''Description''' || colspan=4 | Version 1 || colspan=12 | Total asset size of 0x1FC
|}
 
Line 240:
{| class="wikitable"
|-
! rowspan=3 | (cont.) !! 0 !! 0 !! 1 !! 1 !! 0 !! 0 !! 1 !! 1 !! 1 !! 0 !! 1 !! 0 !! 1 !! 0 !! 0 !! 0
|-
| colspan=4 | 3 || colspan=4 | 3 || colspan=12 | 0xA8
|-
| colspan=4 | 3 total elements in this asset || colspan=4 | Asset index 3 || colspan=12 | Each element has a size of 0xA8
|}