Community Project: Finish the Fight
Posted: Thu Aug 07, 2014 7:28 am
This topic was among the lost long ago. Anyways, I just spent a while looking for the Halo 2 field types that Grim posted ages ago and then came across them on my machine. Thought I'd post them back up here since in case someone else desires to have them again:
Halo 2 Field Types:
I think these are as follows:
Not sure on these:
No idea
- (tag) string // 31+1 character buffer. +1 as it is null terminated
long_string // 255+1 character buffer. +1 as it is null terminated
string_id // 32-bit string handle
old_string_id // versioning related only, not needed for cache related operations
char_integer // 8-bit
short_integer // 16-bit
long_integer // 32-bit
angle // real, in degrees
tag // 4 character code
char_enum // 8-bit
enum // 16-bit
long_enum // 32-bit
long_flags // 32-bit
word_flags // 16-bit
byte_flags // 8-bit
point_2d // short, short
rectangle_2d // short, short, short, short
rgb_color // 24-bit, 3 bytes
argb_color // 32-bit, 4 bytes
real // floating point
real_fraction // floating point, typically for 0.0 to 1.0 clamped fields
real_point_2d // real, real
real_point_3d // real, real, real
real_vector_2d // real, real
real_vector_3d // real, real, real
real_quaternion // real, real, real, real
real_euler_angles_2d // angle, angle
real_euler_angles_3d // angle, angle, angle
real_plane_2d // real, real, real
real_plane_3d // real, real, real, real
real_rgb_color // real, real, real
real_argb_color // real, real, real, real
real_hsv_color // unused
real_ahsv_color // unused
short_integer_bounds // short, short
angle_bounds // angle, angle
real_bounds // real, real
fraction_bounds // real_fraction, real_fraction
tag_reference // as the name suggests, a tag reference
block // as the name suggests, a tag block
long_block_flags // 32-bit
word_block_flags // 16-bit
byte_block_flags // 8-bit
char_block_index // 8-bit
short_block_index // 16-bit
long_block_index // 32-bit
data // as the name suggests, a tag data field
vertex_buffer // 32 byte structure representing a vertex hardware format
pad // <N> bytes. padding is used to either align fields or to hide runtime fields (read: postprocessed fields) from the editor
useless_pad // <N> bytes. versioning related only, not needed for cache related operations
skip // <N> bytes. to represent fields which are ignored when byte swapping (read: aren't byte swapped)
Halo 2 Field Types:
I think these are as follows:
Code: Select all
char_integer // 8-bit Integer
short_integer // 16-bit Integer
long_integer // 32-bit Integer
real // 32-bit Real
string // 256 Character String
long_string // 65,535 Character String
string_id // 32-bit ( (8)size / (8) null / (16) pointer)
char_enum // 8-bit List
enum // 16-bit List
long_enum // 32-bit List
angle // 32-bit real (0 - 1)
byte_flags // 8-bit Option Boxes
word_flags // 16-bit Option Boxes
long_flags // 32-bit Option Boxes
real_rgb_color // 96-bit (3x 32-bit real (0 - 1)) ((32)Red / (32)Green / (32)Blue)
real_argb_color // 128-bit (4x 32-bit real (0 - 1)) ((32)Alpha / (32)Red / (32)Green / (32)Blue)
real_hsv_color // 96-bit (3x 32-bit real (0 - 1)) ((32)Hue / (32)Saturation / (32)Value)
real_ahsv_color // 128-bit (4x 32-bit real (0 - 1)) ((32)Alpha / (32)Hue / (32)Saturation / (32)Value)
real_plane_2d // 96-bit (3x 32-bit real (0 - 1)) (( 8)i / ( 8)j / ( 8)k )
real_plane_3d // 128-bit (4x 32-bit real (0 - 1)) (( 8)i / ( 8)j / ( 8)k / ( 8)d )
real_point_2d // 64-bit (2x 32-bit real (0 - 1)) ((32)x / (32)y )
real_point_3d // 96-bit (3x 32-bit real (0 - 1)) (( 8)x / ( 8)y )
real_vector_2d // 64-bit (2x 32-bit real (0 - 1)) (( 8)i / ( 8)j )
real_vector_3d // 96-bit (3x 32-bit real (0 - 1)) (( 8)i / ( 8)j / ( 8)k)
real_quaternion // 128-bit (4x 32-bit real (0 - 1)) (( 8)i / ( 8)j / ( 8)k / ( 8) w )
Code: Select all
tag_reference // 32-bit char[] (Is this just the four character listing?)
block // 32-bit pointer?
old_string_id // 32-bit ((8)size / (8) null / (16) pointer)
point_2d // 32-bit (2x short_integer)
rectangle_2d // 256-bit (4x point_2d)
rgb_color // 96-bit (3x 32-bit char_integer (0-255))
argb_color // 128-bit (4x 32-bit char_integer (0-255))
unk1 // 32-bit long_integer
unk2 // 32-bit real
Code: Select all
real_fraction
real_euler_angles_2d
real_euler_angles_3d
short_integer_bounds
angle_bounds
real_bounds
fraction_bounds
long_block_flags
word_block_flags
byte_block_flags
char_block_index
char_block_index
short_block_index
long_block_index
long_block_index
data
vertex_buffer
array_start
array_end
useless_pad
skip
explaination
custom
struct
terminator_x
end_element