aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs27
1 files changed, 11 insertions, 16 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
index 10b5181..028544e 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
@@ -243,24 +243,12 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
243 LLVector3 tmp; 243 LLVector3 tmp;
244 if (m_host.ParentID != 0) 244 if (m_host.ParentID != 0)
245 { 245 {
246 tmp = m_host.OffsetPosition; 246 m_host.UpdateOffSet(new LLVector3((float)pos.X, (float)pos.Y, (float)pos.Z));
247 } 247 }
248 else 248 else
249 { 249 {
250 tmp = m_host.GroupPosition; 250 m_host.UpdateGroupPosition(new LLVector3((float)pos.X, (float)pos.Y, (float)pos.Z));
251 } 251 }
252 tmp.X = (float)pos.X;
253 tmp.Y = (float)pos.Y;
254 tmp.Z = (float)pos.Z;
255 if (m_host.ParentID != 0)
256 {
257 m_host.OffsetPosition = tmp;
258 }
259 else
260 {
261 m_host.GroupPosition = tmp;
262 }
263 return;
264 } 252 }
265 253
266 public LSL_Types.Vector3 llGetPos() 254 public LSL_Types.Vector3 llGetPos()
@@ -282,8 +270,15 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
282 m_host.AbsolutePosition.Z); 270 m_host.AbsolutePosition.Z);
283 } 271 }
284 } 272 }
285 public void llSetRot(LSL_Types.Quaternion rot) { } 273 public void llSetRot(LSL_Types.Quaternion rot)
286 public LSL_Types.Quaternion llGetRot() { return new LSL_Types.Quaternion(); } 274 {
275 m_host.UpdateRotation(new LLQuaternion((float)rot.X, (float)rot.Y, (float)rot.Z, (float)rot.R));
276 }
277 public LSL_Types.Quaternion llGetRot()
278 {
279 LLQuaternion q = m_host.RotationOffset;
280 return new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W);
281 }
287 public LSL_Types.Quaternion llGetLocalRot() { return new LSL_Types.Quaternion(); } 282 public LSL_Types.Quaternion llGetLocalRot() { return new LSL_Types.Quaternion(); }
288 public void llSetForce(LSL_Types.Vector3 force, int local) { } 283 public void llSetForce(LSL_Types.Vector3 force, int local) { }
289 public LSL_Types.Vector3 llGetForce() { return new LSL_Types.Vector3(); } 284 public LSL_Types.Vector3 llGetForce() { return new LSL_Types.Vector3(); }