From 2cee5abcacac3a8f882d0b1245e5da112c18e44b Mon Sep 17 00:00:00 2001 From: Charles Krinke Date: Mon, 11 Aug 2008 21:27:31 +0000 Subject: Mantis#1921. Thank you kindly, Leaf for a patch that: llRezObject changed to llRezAtRoot. llRezObject implemented to call llRezAtRoot until I can figure out how to calculate a bounding box. Partial implementation of llPushObject (no angular impulse applied) --- .../ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Common') diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 57d9966..d220b4a 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs @@ -2133,10 +2133,9 @@ namespace OpenSim.Region.ScriptEngine.Common Deprecated("llMakeFire"); } - public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param) + public void llRezAtRoot(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param) { m_host.AddScriptLPS(1); - //NotImplemented("llRezObject"); bool found = false; // Instead of using return;, I'm using continue; because in our TaskInventory implementation @@ -2191,6 +2190,12 @@ namespace OpenSim.Region.ScriptEngine.Common llSay(0, "Could not find object " + inventory); } + public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param) + { + // This just calls llRezAtRoot for now.... Lol. + llRezAtRoot( inventory, pos, vel, rot, param ); + } + public void llLookAt(LSL_Types.Vector3 target, double strength, double damping) { m_host.AddScriptLPS(1); @@ -3209,7 +3214,10 @@ namespace OpenSim.Region.ScriptEngine.Common public void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local) { m_host.AddScriptLPS(1); - NotImplemented("llPushObject"); + SceneObjectPart targ = World.GetSceneObjectPart(target); + if( targ == null ) + return; + targ.ApplyImpulse(new LLVector3((float)impulse.x, (float)impulse.y, (float)impulse.z), local != 0); } public void llPassCollisions(int pass) @@ -6459,13 +6467,6 @@ namespace OpenSim.Region.ScriptEngine.Common return tokens; } - public void llRezAtRoot(string inventory, LSL_Types.Vector3 position, LSL_Types.Vector3 velocity, - LSL_Types.Quaternion rot, int param) - { - m_host.AddScriptLPS(1); - NotImplemented("llRezAtRoot"); - } - public LSL_Types.LSLInteger llGetObjectPermMask(int mask) { m_host.AddScriptLPS(1); -- cgit v1.1