Jump to content

OBD:Data types: Difference between revisions

added bools and padding
(general rewrite, adding in the knowledge I've gained so far; removed list of types that link to other types as it seems useless)
(added bools and padding)
 
Line 203: Line 203:


==Bitsets==
==Bitsets==
The most common size of a bitset, aka flagset, is 32 bits.
The most common size of a bitset, aka flag set, is 32 bits.


===1 byte===
===1 byte===
Line 210: Line 210:
===8 bytes===
===8 bytes===
Used for [[dat#Instance descriptors|the instance descriptor flags]] in the .dat and for keypress events in [[FILM]]. Used for storing flags for AI behaviors in [[ONCC]].
Used for [[dat#Instance descriptors|the instance descriptor flags]] in the .dat and for keypress events in [[FILM]]. Used for storing flags for AI behaviors in [[ONCC]].
==Booleans==
If Bungie West wanted to store a single boolean value then they held it in a 1-byte field, aka 'char' (a series of values would be stored in a bitset).


==Misc.==
==Misc.==
Line 226: Line 229:
===Pathfinding grids===
===Pathfinding grids===
See [[OBD:AKVA/0x24]].
See [[OBD:AKVA/0x24]].
===Padding===
Bungie West frequently placed padding into their template structs for cache alignment purposes to speed up the reading of the data. This padding can range in size from 1 byte (typically following a 1-byte boolean field) to 28 bytes (preceding pointer fields which were 4 bytes).


{{OBD}}
{{OBD}}