ObjectUpdate
Message Layout
{ ObjectUpdate High 12 Trusted Zerocoded { RegionData Single { RegionHandle U64 } { TimeDilation U16 } } { ObjectData Variable { ID U32 } { State U8 } { FullID LLUUID } { CRC U32 } { PCode U8 } { Material U8 } { ClickAction U8 } { Scale LLVector3 } { ObjectData Variable 1 } { ParentID U32 } { UpdateFlags U32 } { PathCurve U8 } { ProfileCurve U8 } { PathBegin U16 } { PathEnd U16 } { PathScaleX U8 } { PathScaleY U8 } { PathShearX U8 } { PathShearY U8 } { PathTwist S8 } { PathTwistBegin S8 } { PathRadiusOffset S8 } { PathTaperX S8 } { PathTaperY S8 } { PathRevolutions U8 } { PathSkew S8 } { ProfileBegin U16 } { ProfileEnd U16 } { ProfileHollow U16 } { TextureEntry Variable 2 } { TextureAnim Variable 1 } { NameValue Variable 2 } { Data Variable 2 } { Text Variable 1 } { TextColor Fixed 4 } { MediaURL Variable 1 } { PSBlock Variable 1 } { ExtraParams Variable 1 } { Sound LLUUID } { OwnerID LLUUID } { Gain F32 } { Flags U8 } { Radius F32 } { JointType U8 } { JointPivot LLVector3 } { JointAxisOrAnchor LLVector3 } } }
Usage and Notes
RegionData
RegionHandle is the global coordinates of the simulator compressed and encoded into a single U64, with each coordinate taking up 32 bits. It can be visualized as XXXX|YYYY where each character is 8bits.
TimeDilation is used to update the regions time dilation. It is cast to a F32 and then divided by 65535. for actual value.
ObjectData
- FullID is the uuid of the task.
- ID is the region local id of the task, these are used for most operations in place of the tasks uuid.
- State is a legacy field, unused in everything but grass. With grass it is used to determine species of grass.
- Flags used to store flags related to attached sounds.
- PCode is the type of object represented by this task. Possibles include avatars, grass, trees, volumes.
- Material represents the physical material that makes up the task. Possibles include wood, glass, flesh, rubber.
- ClickAction is the default action to take when the task is clicked on in the viewer. Possibles include pay, sit, touch, open.
- ObjectData contains a variable precision set of values for the object. They can include position, velocity, rotation.
- Scale contains the LLVector3 size of the object or task. Is ignored for a few PCodes.
- ParentID contains localid of any task that this task is a child of, used for the creation of object or attachments. Should be 0 if not present.
- UpdateFlags is used to give various pieces of information about the object to the viewer. Stores things like empty inventory, scripted.