Public feed #378272

Mine

public cpp v1 · immutable
Raw Edit
·published 2007-03-02 12:02 UTC
rendered paste body
public void HandleUpdate(AgentUpdatePacket pack) {           if(((uint)pack.AgentData.ControlFlags & (uint)MainAvatar.AgentUpdateFlags.AGENT_CONTROL_AT_POS) !=0) {                Axiom.MathLib.Vector3 v3 = new Axiom.MathLib.Vector3(1, 0, 0);                Axiom.MathLib.Quaternion q = new Axiom.MathLib.Quaternion(pack.AgentData.BodyRotation.W,pack.AgentData.BodyRotation.X,pack.AgentData.BodyRotation.Y, pack.AgentData.BodyRotation.Z);                                                                                Axiom.MathLib.Vector3 direc = q * v3;                direc.Normalize();                Axiom.MathLib.Vector3 internDirec = new Axiom.MathLib.Vector3(direc.x, direc.y, direc.z);                                         LLVector3 newvel = new libsecondlife.LLVector3(0, 0 , 0);                                                                         newvel.X = direc.x;                newvel.Y = direc.y;                                                                                                               newvel.Z = direc.z;                                                                                                                                                  internDirec = internDirec * (0.03f);                                                                                              internDirec.x += 1;                internDirec.y += 1;                                                                                                               internDirec.z += 1;                                                                                                                                                  newvel.X = (ushort)(32768 * internDirec.x);                newvel.Y = (ushort)(32768 * internDirec.y);                                                                                       newvel.Z = (ushort)(32768 * internDirec.z);                                                                                                                                                  ImprovedTerseObjectUpdatePacket objupdate = new ImprovedTerseObjectUpdatePacket();                objupdate.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];                                                    objupdate.RegionData.RegionHandle = OpenSim_Main.cfg.RegionHandle;                objupdate.RegionData.TimeDilation = 64096;                objupdate.ObjectData[0] = CreateTerseBlock(this);                ControllingClient.OutPacket(objupdate);           }        }