Skip to content

Implement dynamic atom prototype data #5

@Stephen001

Description

@Stephen001

Atom prototypes have some dynamic data, which we currently just skip over.

Dynamic Information
{
Byte 14 (BYOND 3.0 (v307) or later)
{
Less than 0F = DM Interface
0F or Greater = 0F (Hex)
{
Byte 15-16 = DM Interface
Byte 17-18 = Unknown
}
}
After DM Interface (2 Bytes) = Text String
Suffix (2 bytes, only applies to atoms)
Atom Bitflags (1 byte (v304 or earlier), 4 bytes (V305 or later))
Verb Procedure Info List (2 bytes, only applies to atoms and clients)
Path Procedure Info List (2 bytes)
New Object Initialization Info (2 bytes, V307 or later)
Inherited User Defined Variable List Info (2 bytes)
User Defined Variable List Info (2 bytes)
Layer (4 Bytes, Only applies to atoms)
Built-in Variable List Info (2 Bytes)
}

DM Interfaces:
Bit 1 = Datum Interface
Bit 2 = Atom Interface
Bit 3 = Movable Atom Interface
Bit 4 = CGI Object Interface
Bit 5 = Unknown
Bit 6 = Sound Interface
Bit 7 = Unknown
Bit 8 = Zipfile Interface
Bit 9 = Icon Interface
Bit 10 = Resource File Interface
Bit 11-16 = Unknown

Atom Bitflags:
Bit 1 = Opacity
Bit 2 = Density
Bit 3 = Visibility
Bit 4-6 = Luminosity
Bit 7 = Male Gender
Bit 8 = Female Gender
Bit 9 = Mouse Drop Zone
Bit 11 = Animate Movement (Enabled when used with 0, Only applies to movable atoms)
Bit 13-14 = Mouse Opacity
Bit 15-16 = Animate Movement (Only applies to movable atoms)

Animate Movement:
0 = Bit 11 | Bit 15 | Bit 16 (NO_STEPS)
1 = None (FORWARD_STEPS)
2 = Bit 15 (SLIDE_STEPS)
3 = Bit 16 (SYNC_STEPS)

Mouse Opacity:
0 = Bit 13 | Bit 14
1 = None
2 = Bit 13

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions