Difference between revisions of "ObjectUpdate"

From Second Life Wiki
Jump to navigation Jump to search
m (saving before sleep)
m (fixed some minor errors)
Line 81: Line 81:
* ID is the region local id of the task, these are used for most operations in place of the tasks uuid.
* 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.
* State is a legacy field, unused in everything but grass. With grass it is used to determine species of grass.
* Flags is used to give various pieces of information about the object to the viewer. Stores things like empty inventory, scripted.
* 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.
* 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.
* 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.
* 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,
* 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.
*


[[Category:Messages]]
[[Category:Messages]]

Revision as of 15:33, 19 July 2008

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.