since we will be making the Get return type the remaining ruleset as with the Set return type, we need to move the original return type to a ref param
parent
a8044999fb
commit
2a2e120470
|
@ -7910,7 +7910,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
public LSL_List llGetPrimitiveParams(LSL_List rules)
|
public LSL_List llGetPrimitiveParams(LSL_List rules)
|
||||||
{
|
{
|
||||||
m_host.AddScriptLPS(1);
|
m_host.AddScriptLPS(1);
|
||||||
return GetPrimParams(m_host, rules);
|
|
||||||
|
LSL_List result = new LSL_List();
|
||||||
|
|
||||||
|
GetPrimParams(m_host, rules, ref result);
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LSL_List llGetLinkPrimitiveParams(int linknumber, LSL_List rules)
|
public LSL_List llGetLinkPrimitiveParams(int linknumber, LSL_List rules)
|
||||||
|
@ -7923,16 +7928,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
foreach (SceneObjectPart part in parts)
|
foreach (SceneObjectPart part in parts)
|
||||||
{
|
{
|
||||||
LSL_List partRes = GetPrimParams(part, rules);
|
GetPrimParams(part, rules, ref res);
|
||||||
res += partRes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LSL_List GetPrimParams(SceneObjectPart part, LSL_List rules)
|
public void GetPrimParams(SceneObjectPart part, LSL_List rules, ref LSL_List res)
|
||||||
{
|
{
|
||||||
LSL_List res = new LSL_List();
|
|
||||||
int idx=0;
|
int idx=0;
|
||||||
while (idx < rules.Length)
|
while (idx < rules.Length)
|
||||||
{
|
{
|
||||||
|
@ -8077,7 +8080,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
case (int)ScriptBaseClass.PRIM_TEXTURE:
|
case (int)ScriptBaseClass.PRIM_TEXTURE:
|
||||||
if (remain < 1)
|
if (remain < 1)
|
||||||
return res;
|
return;
|
||||||
|
|
||||||
int face = (int)rules.GetLSLIntegerItem(idx++);
|
int face = (int)rules.GetLSLIntegerItem(idx++);
|
||||||
Primitive.TextureEntry tex = part.Shape.Textures;
|
Primitive.TextureEntry tex = part.Shape.Textures;
|
||||||
|
@ -8117,7 +8120,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
case (int)ScriptBaseClass.PRIM_COLOR:
|
case (int)ScriptBaseClass.PRIM_COLOR:
|
||||||
if (remain < 1)
|
if (remain < 1)
|
||||||
return res;
|
return;
|
||||||
|
|
||||||
face=(int)rules.GetLSLIntegerItem(idx++);
|
face=(int)rules.GetLSLIntegerItem(idx++);
|
||||||
|
|
||||||
|
@ -8146,7 +8149,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
case (int)ScriptBaseClass.PRIM_BUMP_SHINY:
|
case (int)ScriptBaseClass.PRIM_BUMP_SHINY:
|
||||||
if (remain < 1)
|
if (remain < 1)
|
||||||
return res;
|
return;
|
||||||
|
|
||||||
face=(int)rules.GetLSLIntegerItem(idx++);
|
face=(int)rules.GetLSLIntegerItem(idx++);
|
||||||
|
|
||||||
|
@ -8177,7 +8180,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
case (int)ScriptBaseClass.PRIM_FULLBRIGHT:
|
case (int)ScriptBaseClass.PRIM_FULLBRIGHT:
|
||||||
if (remain < 1)
|
if (remain < 1)
|
||||||
return res;
|
return;
|
||||||
|
|
||||||
face=(int)rules.GetLSLIntegerItem(idx++);
|
face=(int)rules.GetLSLIntegerItem(idx++);
|
||||||
|
|
||||||
|
@ -8219,7 +8222,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
case (int)ScriptBaseClass.PRIM_TEXGEN:
|
case (int)ScriptBaseClass.PRIM_TEXGEN:
|
||||||
if (remain < 1)
|
if (remain < 1)
|
||||||
return res;
|
return;
|
||||||
|
|
||||||
face=(int)rules.GetLSLIntegerItem(idx++);
|
face=(int)rules.GetLSLIntegerItem(idx++);
|
||||||
|
|
||||||
|
@ -8260,7 +8263,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
case (int)ScriptBaseClass.PRIM_GLOW:
|
case (int)ScriptBaseClass.PRIM_GLOW:
|
||||||
if (remain < 1)
|
if (remain < 1)
|
||||||
return res;
|
return;
|
||||||
|
|
||||||
face=(int)rules.GetLSLIntegerItem(idx++);
|
face=(int)rules.GetLSLIntegerItem(idx++);
|
||||||
|
|
||||||
|
@ -8314,7 +8317,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public LSL_List llGetPrimMediaParams(int face, LSL_List rules)
|
public LSL_List llGetPrimMediaParams(int face, LSL_List rules)
|
||||||
|
@ -10755,13 +10757,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
public LSL_List GetPrimitiveParamsEx(LSL_Key prim, LSL_List rules)
|
public LSL_List GetPrimitiveParamsEx(LSL_Key prim, LSL_List rules)
|
||||||
{
|
{
|
||||||
SceneObjectPart obj = World.GetSceneObjectPart(new UUID(prim));
|
SceneObjectPart obj = World.GetSceneObjectPart(new UUID(prim));
|
||||||
if (obj == null)
|
|
||||||
return new LSL_List();
|
|
||||||
|
|
||||||
if (obj.OwnerID != m_host.OwnerID)
|
LSL_List result = new LSL_List();
|
||||||
return new LSL_List();
|
|
||||||
|
|
||||||
return GetPrimParams(obj, rules);
|
if (obj != null && obj.OwnerID != m_host.OwnerID)
|
||||||
|
{
|
||||||
|
GetPrimParams(obj, rules, ref result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void print(string str)
|
public void print(string str)
|
||||||
|
|
|
@ -2250,7 +2250,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
List<SceneObjectPart> parts = ((LSL_Api)m_LSL_Api).GetLinkParts(linknumber);
|
List<SceneObjectPart> parts = ((LSL_Api)m_LSL_Api).GetLinkParts(linknumber);
|
||||||
foreach (SceneObjectPart part in parts)
|
foreach (SceneObjectPart part in parts)
|
||||||
{
|
{
|
||||||
retVal += ((LSL_Api)m_LSL_Api).GetPrimParams(part, rules);
|
((LSL_Api)m_LSL_Api).GetPrimParams(part, rules, ref retVal);
|
||||||
}
|
}
|
||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue