Mantis#2583. Thank you kindly, Idb for a patch that solves:
PRIM_TEMP_ON_REZ and PRIM_MATERIAL are not implemented in llSetPrimitiveParams so support for these is in the patch. Also two deprecated functions throw errors. They are changed to behave as in SL: llSetPrimURL - Does nothing except the sleep (currently commented out) & llRefreshPrimURL shouts "llRefreshPrimURL - not yet supported" on the error channel0.6.1-post-fixes
parent
5e4def3ee7
commit
edb2344796
|
@ -6045,6 +6045,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
public void llSetPrimitiveParams(LSL_List rules)
|
public void llSetPrimitiveParams(LSL_List rules)
|
||||||
{
|
{
|
||||||
|
m_host.AddScriptLPS(1);
|
||||||
SetPrimParams(m_host, rules);
|
SetPrimParams(m_host, rules);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6329,15 +6330,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
case (int)ScriptBaseClass.PRIM_MATERIAL:
|
case (int)ScriptBaseClass.PRIM_MATERIAL:
|
||||||
if (remain < 1)
|
if (remain < 1)
|
||||||
return;
|
return;
|
||||||
if (part != null)
|
int mat = rules.GetLSLIntegerItem(idx++);
|
||||||
{
|
if (mat < 0 || mat > 7)
|
||||||
/* Unhandled at this time - sends "Unhandled" message
|
|
||||||
will enable when available
|
|
||||||
byte material = Convert.ToByte((int)rules.GetLSLIntegerItem(idx++));
|
|
||||||
part.Material = material;
|
|
||||||
*/
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
part.Material = Convert.ToByte(mat);
|
||||||
break;
|
break;
|
||||||
case (int)ScriptBaseClass.PRIM_PHANTOM:
|
case (int)ScriptBaseClass.PRIM_PHANTOM:
|
||||||
if (remain < 1)
|
if (remain < 1)
|
||||||
|
@ -6352,7 +6349,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
phantom = false;
|
phantom = false;
|
||||||
|
|
||||||
part.ScriptSetPhantomStatus(phantom);
|
part.ScriptSetPhantomStatus(phantom);
|
||||||
part.ScheduleFullUpdate();
|
|
||||||
break;
|
break;
|
||||||
case (int)ScriptBaseClass.PRIM_PHYSICS:
|
case (int)ScriptBaseClass.PRIM_PHYSICS:
|
||||||
if (remain < 1)
|
if (remain < 1)
|
||||||
|
@ -6365,8 +6361,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
else
|
else
|
||||||
physics = false;
|
physics = false;
|
||||||
|
|
||||||
m_host.ScriptSetPhysicsStatus(physics);
|
part.ScriptSetPhysicsStatus(physics);
|
||||||
part.ScheduleFullUpdate();
|
break;
|
||||||
|
case (int)ScriptBaseClass.PRIM_TEMP_ON_REZ:
|
||||||
|
if (remain < 1)
|
||||||
|
return;
|
||||||
|
string temp = rules.Data[idx++].ToString();
|
||||||
|
bool tempOnRez;
|
||||||
|
|
||||||
|
if (temp.Equals("1"))
|
||||||
|
tempOnRez = true;
|
||||||
|
else
|
||||||
|
tempOnRez = false;
|
||||||
|
|
||||||
|
part.ScriptSetTemporaryStatus(tempOnRez);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7999,17 +8007,24 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
return new LSL_Rotation();
|
return new LSL_Rotation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The SL implementation does nothing, it is deprecated
|
||||||
|
/// This duplicates SL
|
||||||
|
/// </summary>
|
||||||
public void llSetPrimURL(string url)
|
public void llSetPrimURL(string url)
|
||||||
{
|
{
|
||||||
m_host.AddScriptLPS(1);
|
m_host.AddScriptLPS(1);
|
||||||
NotImplemented("llSetPrimURL");
|
|
||||||
// ScriptSleep(2000);
|
// ScriptSleep(2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The SL implementation shouts an error, it is deprecated
|
||||||
|
/// This duplicates SL
|
||||||
|
/// </summary>
|
||||||
public void llRefreshPrimURL()
|
public void llRefreshPrimURL()
|
||||||
{
|
{
|
||||||
m_host.AddScriptLPS(1);
|
m_host.AddScriptLPS(1);
|
||||||
NotImplemented("llRefreshPrimURL");
|
ShoutError("llRefreshPrimURL - not yet supported");
|
||||||
// ScriptSleep(20000);
|
// ScriptSleep(20000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue