Public feed #378271

Stuff

public text v1 · immutable
Raw Edit
·published 2007-03-02 11:52 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.BodyRotatio
n.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);
           }
        }