Tags can contain a wide variety of properties.
Integers
Integers store real numbers with no decimal places. The different types have different lengths, smaller types can be used to save disk space and to aid in compression.
int8
- An
int8
type can have a value from-128 to 127
. Decimal places are not allowed.
int16
- An
int16
type can have a value from-32768
to32767
. Decimal places are not allowed.
int32
- An
int32
type can have a value from-2147483648
to2147483647
. Decimal places are not allowed.
Floats
float32
- A
float32
can store values with up to 6 decimal places of precision.
float
[TBD]
- A
float
can store values with up to 6 decimal places of precision.needs confirmation from a tag somewhere in assembly
Colors
colorf
- A
colorf
stores color in afloat
format.
colorint
[TBD]
- A
colorint
stores color in anint
format.
Bitfields
bitfield8
- A
bitfield8
stores up to 8 boolean properties, or bits. Most true/false values in a tag are stored this way.
bitfield16
- A
bitfield16
stores up to 16 boolean properties, or bits.
bitfield32
- A
bitfield32
stores up to 16 boolean properties, or bits.
Enums
enum8
- An
enum8
acts as a way to pick from a variety of different options, similar to a combobox. They are often represented as a combobox in any UI elements involved in tag editing.
enum16
- An
enum16
acts as a combobox with up to 16 options.
enum32
- An
enum32
acts as a combobox with up to 32 options.
Other/Misc
ascii
- An
ascii
stores text data directly in a tag, separately from the string table.
reflexive
/block
- A
block
, referred to asreflexives
in the Halo mod scene, as well asstructs
in the earlier days of Halo modding, are blocks that store any number of entries that each contain their own properties. A single entry can be used to group properties together, but it has support for multiple entries, each available with their own index.
dataref
- A
dataref
is a way of storing raw bytes of data. A length must be provided for these.
stringid
- A
stringid
is a reference to a string within a level's string table. If a stringid reference is invalid, an error will be displayed in console and will be treated as an empty string at runtime.
boolean
- A
boolean
stores a simpletrue
orfalse
option. Generally, these are not used often as most of these types of options are stored inbitfields
.
undefined
- These are unknown/undefined types. Some of these will be present initially as we will be starting off utilizing tag formats from the official games. As we go on, undefined properties will either be removed or repurposed for our own needs.