Generic FileFormat Data Types
Jump to navigation
Jump to search
Intro
This is a generic list of data types encountered in all file formats. Not all of which will be used in a specific file format.
They are listed here, rather than repetitive typing in each of file format's documentation.
Endian
Little endian byte order, lsb first for numeric values, text is stored in Big endian byte order.
Data Types
Type | Description |
---|---|
byte | 8 bit (1 byte) |
tbool | byte (0 = false). |
short | 16 bit signed short (2 bytes) |
ushort | 16 bit unsigned short (2 bytes) |
long | 32 bit signed integer (4 bytes) |
ulong | 32 bit unsigned integer (4 bytes) |
float | 32 bit signed single precision floating point value (4 bytes) |
double | 64 bit signed single precision floating point value (8 bytes) |
asciiz | Null terminated (0x00) variable length ascii string |
ascii | fixed length ascii string(UTF-8) |
XYZTriplet
XYZTriplet { float x,y,z; }
- Note that 'int' is not used in this documentation for the following reasons:
- an 'int' is machine and compiler and language dependent. It is an arbitrary size SIGNED value.
- with exceptions, BI use floats when requiring negative values.
- almost all references to 'integers' in BI file formats are either positive-only offsets into memory, zero based indexes, and counts.
- the incidence of true shorts and true integers in BI is quite rare. Exception -1 is a favourite, to indicate default