Skip to content

Instantly share code, notes, and snippets.

@Anaminus
Created October 29, 2019 21:53
Show Gist options
  • Select an option

  • Save Anaminus/6e19d2f96a5d55946fc7df325d932b13 to your computer and use it in GitHub Desktop.

Select an option

Save Anaminus/6e19d2f96a5d55946fc7df325d932b13 to your computer and use it in GitHub Desktop.
Description of Roblox attributes binary format.
#endian:little
main Dictionary
type Value struct {
Type uint:8
if .Type == 00 {}
if .Type == 01 {}
if .Type == 02 {Value String}
if .Type == 03 {Value Bool}
if .Type == 04 {Value Int}
if .Type == 05 {Value Float}
if .Type == 06 {Value Double}
if .Type == 07 {Value Array}
if .Type == 08 {Value Dictionary}
if .Type == 09 {Value UDim}
if .Type == 10 {Value UDim2}
if .Type == 11 {Value Ray}
if .Type == 12 {Value Faces}
if .Type == 13 {Value Axes}
if .Type == 14 {Value BrickColor}
if .Type == 15 {Value Color3}
if .Type == 16 {Value Vector2}
if .Type == 17 {Value Vector3}
if .Type == 18 {Value Vector2int16}
if .Type == 19 {Value Vector3int16}
if .Type == 20 {Value CFrame}
if .Type == 21 {Value EnumItem}
if .Type == 22 {}
if .Type == 23 {Value NumberSequence}
if .Type == 24 {Value NumberSequenceKeypoint}
if .Type == 25 {Value ColorSequence}
if .Type == 26 {Value ColorSequenceKeypoint}
if .Type == 27 {Value NumberRange}
if .Type == 28 {Value Rect}
if .Type == 29 {Value PhysicalProperties}
if .Type == 30 {}
if .Type == 31 {Value Region3}
if .Type == 32 {Value Region3int16}
}
type String struct {
Size uint:32
Value [.Size]uint:8
}
type Bool uint:8
type Int int:32
type Float float:32
type Double float:64
type Array struct {
Size uint:32
Entries [.Size]Value
}
type Dictionary struct {
Size uint:32
Entries [.Size]Entry
}
type Entry struct {
Key String
Value Value
}
type UDim struct {
Scale float:32
Offset int:32
}
type UDim2 struct {
X UDim
Y UDim
}
type Ray struct {
Origin Vector3
Direction Vector3
}
type Faces uint:32
type Axes uint:32
type BrickColor uint:32
type Color3 struct {
R float:32
G float:32
B float:32
}
type Vector2 struct {
X float:32
Y float:32
}
type Vector3 struct {
X float:32
Y float:32
Z float:32
}
type Vector2int16 struct {
X int:16
Y int:16
}
type Vector3int16 struct {
X int:16
Y int:16
Z int:16
}
type CFrame struct {
Position Vector3
Special uint:8
if .Special == 0 {
Rotation [9]float:32
}
}
type EnumItem struct {
Enum String
Value uint:32
}
type NumberSequence struct {
Size uint:32
Values [.Size]NumberSequenceKeypoint
}
type NumberSequenceKeypoint struct {
Envelope float:32
Time float:32
Value float:32
}
type ColorSequence struct {
Size uint:32
Values [.Size]ColorSequenceKeypoint
}
type ColorSequenceKeypoint struct {
Envelope float:32
Time float:32
Value Color3
}
type NumberRange struct {
Min float:32
Max float:32
}
type Rect struct {
Min Vector2
Max Vector2
}
type PhysicalProperties struct {
CustomPhysics uint:8
Density float:32
Friction float:32
Elasticity float:32
FrictionWeight float:32
ElasticityWeight float:32
}
type Region3 struct {
Min Vector3
Max Vector3
}
type Region3int16 struct {
Min Vector3int16
Max Vector3int16
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment