add string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y), string osDrawRotationTransform(string drawList, LSL_Float x) and string osDrawResetTransform(string drawList) helper functions for the new vector renderer comands. Removed ThreadLevel check of similar funtions that had it None, and actually only set strings

0.9.0-post-fixes
UbitUmarov 2017-06-24 23:04:37 +01:00
parent 5d776fca3a
commit cb8975e567
4 changed files with 81 additions and 32 deletions

View File

@ -1153,9 +1153,35 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
}
//Texture draw functions
public string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y)
{
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "TransTransf " + x + "," + y + ";";
return drawList;
}
public string osDrawRotationTransform(string drawList, LSL_Float x)
{
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "RotTransf " + x + ";";
return drawList;
}
public string osDrawResetTransform(string drawList)
{
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "ResetTransf;";
return drawList;
}
public string osMovePen(string drawList, int x, int y)
{
CheckThreatLevel(ThreatLevel.None, "osMovePen");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "MoveTo " + x + "," + y + ";";
@ -1164,7 +1190,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osDrawLine(string drawList, int startX, int startY, int endX, int endY)
{
CheckThreatLevel(ThreatLevel.None, "osDrawLine");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "MoveTo "+ startX+","+ startY +"; LineTo "+endX +","+endY +"; ";
@ -1173,7 +1199,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osDrawLine(string drawList, int endX, int endY)
{
CheckThreatLevel(ThreatLevel.None, "osDrawLine");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "LineTo " + endX + "," + endY + "; ";
@ -1191,7 +1217,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osDrawEllipse(string drawList, int width, int height)
{
CheckThreatLevel(ThreatLevel.None, "osDrawEllipse");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "Ellipse " + width + "," + height + "; ";
@ -1200,7 +1226,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osDrawFilledEllipse(string drawList, int width, int height)
{
CheckThreatLevel(ThreatLevel.None, "osDrawFilledEllipse");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "FillEllipse " + width + "," + height + "; ";
@ -1209,7 +1235,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osDrawRectangle(string drawList, int width, int height)
{
CheckThreatLevel(ThreatLevel.None, "osDrawRectangle");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "Rectangle " + width + "," + height + "; ";
@ -1218,7 +1244,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osDrawFilledRectangle(string drawList, int width, int height)
{
CheckThreatLevel(ThreatLevel.None, "osDrawFilledRectangle");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "FillRectangle " + width + "," + height + "; ";
@ -1227,7 +1253,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osDrawFilledPolygon(string drawList, LSL_List x, LSL_List y)
{
CheckThreatLevel(ThreatLevel.None, "osDrawFilledPolygon");
CheckThreatLevel();
m_host.AddScriptLPS(1);
@ -1246,7 +1272,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osDrawPolygon(string drawList, LSL_List x, LSL_List y)
{
CheckThreatLevel(ThreatLevel.None, "osDrawPolygon");
CheckThreatLevel();
m_host.AddScriptLPS(1);
@ -1265,7 +1291,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osSetFontSize(string drawList, int fontSize)
{
CheckThreatLevel(ThreatLevel.None, "osSetFontSize");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "FontSize "+ fontSize +"; ";
@ -1274,7 +1300,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osSetFontName(string drawList, string fontName)
{
CheckThreatLevel(ThreatLevel.None, "osSetFontName");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "FontName "+ fontName +"; ";
@ -1283,7 +1309,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osSetPenSize(string drawList, int penSize)
{
CheckThreatLevel(ThreatLevel.None, "osSetPenSize");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "PenSize " + penSize + "; ";
@ -1292,7 +1318,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osSetPenColor(string drawList, string color)
{
CheckThreatLevel(ThreatLevel.None, "osSetPenColor");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "PenColor " + color + "; ";
@ -1302,7 +1328,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// Deprecated
public string osSetPenColour(string drawList, string colour)
{
CheckThreatLevel(ThreatLevel.None, "osSetPenColour");
CheckThreatLevel();
OSSLDeprecated("osSetPenColour", "osSetPenColor");
m_host.AddScriptLPS(1);
@ -1312,7 +1338,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osSetPenCap(string drawList, string direction, string type)
{
CheckThreatLevel(ThreatLevel.None, "osSetPenCap");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList += "PenCap " + direction + "," + type + "; ";
@ -1321,7 +1347,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osDrawImage(string drawList, int width, int height, string imageUrl)
{
CheckThreatLevel(ThreatLevel.None, "osDrawImage");
CheckThreatLevel();
m_host.AddScriptLPS(1);
drawList +="Image " +width + "," + height+ ","+ imageUrl +"; " ;

View File

@ -228,6 +228,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
string osDrawFilledRectangle(string drawList, int width, int height);
string osDrawPolygon(string drawList, LSL_List x, LSL_List y);
string osDrawFilledPolygon(string drawList, LSL_List x, LSL_List y);
string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y);
string osDrawRotationTransform(string drawList, LSL_Float x);
string osDrawResetTransform(string drawList);
string osSetFontName(string drawList, string fontName);
string osSetFontSize(string drawList, int fontSize);
string osSetPenSize(string drawList, int penSize);

View File

@ -386,6 +386,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osDrawFilledPolygon(drawList, x, y);
}
public string osDrawTranslationTransform(string drawList, LSL_Float x, LSL_Float y)
{
return m_OSSL_Functions.osDrawTranslationTransform(drawList, x, y);
}
public string osDrawRotationTransform(string drawList, LSL_Float x)
{
return m_OSSL_Functions.osDrawRotationTransform(drawList, x);
}
public string osDrawResetTransform(string drawList)
{
return m_OSSL_Functions.osDrawResetTransform(drawList);
}
public string osSetFontSize(string drawList, int fontSize)
{
return m_OSSL_Functions.osSetFontSize(drawList, fontSize);

View File

@ -65,17 +65,22 @@
; There are a block of functions for creating and controlling NPCs.
; These can be mis-used so limit use to those you can trust.
osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
; some ThreadLevel None functions no longer do level check. listed comment just to be visible
; ThreatLevel None
Allow_osDrawEllipse = true
Allow_osDrawFilledEllipse = true
Allow_osDrawFilledPolygon = true
Allow_osDrawFilledRectangle = true
Allow_osDrawImage = true
Allow_osDrawLine = true
Allow_osDrawPolygon = true
Allow_osDrawRectangle = true
Allow_osDrawText = true
; Allow_osDrawEllipse = true ; no level check
; Allow_osDrawFilledEllipse = true ; no level check
; Allow_osDrawFilledPolygon = true ; no level check
; Allow_osDrawFilledRectangle = true ; no level check
; Allow_osDrawTranslationTransform = true ; no level check
; Allow_osDrawRotationTransform = true ; no level check
; Allow_osDrawResetTransform = true ; no level check
; Allow_osDrawImage = true ; no level check
; Allow_osDrawLine = true ; no level check
; Allow_osDrawPolygon = true ; no level check
; Allow_osDrawRectangle = true ; no level check
; Allow_osDrawText = true ; no level check
Allow_osGetAgents = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetAvatarList = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetCurrentSunHour = true
@ -93,15 +98,15 @@
Allow_osList2Double = true
Allow_osMax = true
Allow_osMin = true
Allow_osMovePen = true
; Allow_osMovePen = true ; no level check
Allow_osNpcGetOwner = ${XEngine|osslNPC}
Allow_osParseJSON = true
Allow_osParseJSONNew = true
Allow_osSetFontName = true
Allow_osSetFontSize = true
Allow_osSetPenCap = true
Allow_osSetPenColor = true
Allow_osSetPenSize = true
; Allow_osSetFontName = true ; no level check
; Allow_osSetFontSize = true ; no level check
; Allow_osSetPenCap = true ; no level check
; Allow_osSetPenColor = true ; no level check
; Allow_osSetPenSize = true ; no level check
Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osTeleportOwner = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osWindActiveModelPluginName = true