diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs | 27 |
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(); } |