Mantis#1859. Thank you kindly, Lmmz for a patch that:
Implements llForceMouselook().0.6.0-stable
parent
43f3b9ad7b
commit
ab778c4114
|
@ -195,6 +195,12 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
protected LLUUID m_uuid;
|
||||
protected LLVector3 m_velocity;
|
||||
|
||||
// TODO: Those have to be changed into persistent properties at some later point,
|
||||
// or sit-camera on vehicles will break on sim-crossing.
|
||||
private LLVector3 m_cameraEyeOffset = new LLVector3(0.0f, 0.0f, 0.0f);
|
||||
private LLVector3 m_cameraAtOffset = new LLVector3(0.0f, 0.0f, 0.0f);
|
||||
private bool m_forceMouselook = false;
|
||||
|
||||
#endregion Fields
|
||||
|
||||
#region Constructors
|
||||
|
@ -3313,6 +3319,30 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
}
|
||||
}
|
||||
|
||||
public void SetCameraAtOffset(LLVector3 v) {
|
||||
m_cameraAtOffset = v;
|
||||
}
|
||||
|
||||
public void SetCameraEyeOffset(LLVector3 v) {
|
||||
m_cameraEyeOffset = v;
|
||||
}
|
||||
|
||||
public void SetForceMouselook(bool force) {
|
||||
m_forceMouselook = force;
|
||||
}
|
||||
|
||||
public LLVector3 GetCameraAtOffset() {
|
||||
return m_cameraAtOffset;
|
||||
}
|
||||
|
||||
public LLVector3 GetCameraEyeOffset() {
|
||||
return m_cameraEyeOffset;
|
||||
}
|
||||
|
||||
public bool GetForceMouselook() {
|
||||
return m_forceMouselook;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1129,6 +1129,9 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
bool autopilot = true;
|
||||
LLVector3 pos = new LLVector3();
|
||||
LLQuaternion sitOrientation = new LLQuaternion(0, 0, 0, 1);
|
||||
LLVector3 cameraEyeOffset = LLVector3.Zero;
|
||||
LLVector3 cameraAtOffset = LLVector3.Zero;
|
||||
bool forceMouselook = false;
|
||||
|
||||
//SceneObjectPart part = m_scene.GetSceneObjectPart(targetID);
|
||||
SceneObjectPart part = FindNextAvailableSitTarget(targetID);
|
||||
|
@ -1183,9 +1186,13 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
RemoveFromPhysicalScene();
|
||||
}
|
||||
}
|
||||
|
||||
cameraAtOffset = part.GetCameraAtOffset();
|
||||
cameraEyeOffset = part.GetCameraEyeOffset();
|
||||
forceMouselook = part.GetForceMouselook();
|
||||
}
|
||||
|
||||
ControllingClient.SendSitResponse(targetID, offset, sitOrientation, autopilot, LLVector3.Zero, LLVector3.Zero, false);
|
||||
ControllingClient.SendSitResponse(targetID, offset, sitOrientation, autopilot, cameraAtOffset, cameraEyeOffset, forceMouselook);
|
||||
m_requestedSitTargetUUID = targetID;
|
||||
// This calls HandleAgentSit twice, once from here, and the client calls
|
||||
// HandleAgentSit itself after it gets to the location
|
||||
|
|
|
@ -4747,13 +4747,13 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
public void llSetCameraEyeOffset(LSL_Types.Vector3 offset)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
NotImplemented("llSetCameraEyeOffset");
|
||||
m_host.SetCameraEyeOffset(new LLVector3((float)offset.x, (float)offset.y, (float)offset.z));
|
||||
}
|
||||
|
||||
public void llSetCameraAtOffset(LSL_Types.Vector3 offset)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
NotImplemented("llSetCameraAtOffset");
|
||||
m_host.SetCameraAtOffset(new LLVector3((float)offset.x, (float)offset.y, (float)offset.z));
|
||||
}
|
||||
|
||||
public string llDumpList2String(LSL_Types.list src, string seperator)
|
||||
|
@ -6627,7 +6627,7 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
public void llForceMouselook(int mouselook)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
NotImplemented("llForceMouselook");
|
||||
m_host.SetForceMouselook(mouselook != 0);
|
||||
}
|
||||
|
||||
public double llGetObjectMass(string id)
|
||||
|
|
|
@ -4609,13 +4609,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
public void llSetCameraEyeOffset(LSL_Types.Vector3 offset)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
NotImplemented("llSetCameraEyeOffset");
|
||||
m_host.SetCameraEyeOffset(new LLVector3((float)offset.x, (float)offset.y, (float)offset.z));
|
||||
}
|
||||
|
||||
public void llSetCameraAtOffset(LSL_Types.Vector3 offset)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
NotImplemented("llSetCameraAtOffset");
|
||||
m_host.SetCameraAtOffset(new LLVector3((float)offset.x, (float)offset.y, (float)offset.z));
|
||||
}
|
||||
|
||||
public string llDumpList2String(LSL_Types.list src, string seperator)
|
||||
|
@ -6410,7 +6410,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
public void llForceMouselook(int mouselook)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
NotImplemented("llForceMouselook");
|
||||
m_host.SetForceMouselook(mouselook != 0);
|
||||
}
|
||||
|
||||
public double llGetObjectMass(string id)
|
||||
|
|
Loading…
Reference in New Issue