do global position X and Y with double precision in autopilot, so

corrected viewers do work
avinationmerge
UbitUmarov 2014-09-30 23:31:55 +01:00
parent b9be9097aa
commit 49bf83ecb8
1 changed files with 7 additions and 4 deletions

View File

@ -4912,6 +4912,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
IEventQueue eq = Scene.RequestModuleInterface<IEventQueue>(); IEventQueue eq = Scene.RequestModuleInterface<IEventQueue>();
if (eq != null) if (eq != null)
{ {
OSD message_body = updateMessage.Serialize(); OSD message_body = updateMessage.Serialize();
// Add new fields here until OMV has them // Add new fields here until OMV has them
OSDMap bodyMap = (OSDMap)message_body; OSDMap bodyMap = (OSDMap)message_body;
@ -4923,7 +4924,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
OSDMap message = new OSDMap(); OSDMap message = new OSDMap();
message.Add("message", OSD.FromString("ParcelProperties")); message.Add("message", OSD.FromString("ParcelProperties"));
message.Add("body", message_body); message.Add("body", message_body);
eq.Enqueue (message, this.AgentId); eq.Enqueue (message, this.AgentId);
// eq.ParcelProperties(updateMessage, this.AgentId); // eq.ParcelProperties(updateMessage, this.AgentId);
} }
else else
@ -12420,8 +12423,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
uint regionY = 0; uint regionY = 0;
Utils.LongToUInts(m_scene.RegionInfo.RegionHandle, out regionX, out regionY); Utils.LongToUInts(m_scene.RegionInfo.RegionHandle, out regionX, out regionY);
locx = Convert.ToSingle(args[0]) - (float)regionX; locx = (float)(Convert.ToDouble(args[0]) - (double)regionX);
locy = Convert.ToSingle(args[1]) - (float)regionY; locy = (float)(Convert.ToDouble(args[1]) - (double)regionY);
locz = Convert.ToSingle(args[2]); locz = Convert.ToSingle(args[2]);
Action<Vector3, bool, bool> handlerAutoPilotGo = OnAutoPilotGo; Action<Vector3, bool, bool> handlerAutoPilotGo = OnAutoPilotGo;