Public feed
#378271
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);
}
}