Make scripts LSL compliant.
parent
230a7ecaec
commit
2558f8ac31
|
@ -6,13 +6,40 @@
|
|||
|
||||
string text = "";
|
||||
|
||||
int LISTENING_CHANNEL = 43;
|
||||
integer LISTENING_CHANNEL = 43;
|
||||
|
||||
// XXX Only putting this here as well to get around OpenSim's int -> string casting oddness
|
||||
string LISTENING_CHANNEL_STRING = "43";
|
||||
|
||||
// FIXME: Should be dynamic!
|
||||
int CHARS_WIDTH = 42;
|
||||
integer CHARS_WIDTH = 42;
|
||||
|
||||
// Add some additional graffiti
|
||||
addGraffiti(string message)
|
||||
{
|
||||
while (llStringLength(message) > CHARS_WIDTH)
|
||||
{
|
||||
text += "\n\n" + llGetSubString(message, 0, CHARS_WIDTH - 1);
|
||||
message = llDeleteSubString(message, 0, CHARS_WIDTH - 1);
|
||||
}
|
||||
|
||||
text += "\n\n" + message;
|
||||
}
|
||||
|
||||
// Clear the existing graffiti
|
||||
clearGraffiti()
|
||||
{
|
||||
text = "";
|
||||
}
|
||||
|
||||
// Actually fires the graffiti out to the dynamic texture module
|
||||
draw()
|
||||
{
|
||||
//llSay(0, text);
|
||||
string drawList = "PenColour BLACK; MoveTo 40,220; FontSize 32; Text " + text + ";";
|
||||
|
||||
osSetDynamicTextureData("", "vector", drawList, "1024", 0);
|
||||
}
|
||||
|
||||
default
|
||||
{
|
||||
|
@ -45,30 +72,3 @@ default
|
|||
draw();
|
||||
}
|
||||
}
|
||||
|
||||
// Add some additional graffiti
|
||||
void addGraffiti(string message)
|
||||
{
|
||||
while (llStringLength(message) > CHARS_WIDTH)
|
||||
{
|
||||
text += "\n\n" + llGetSubString(message, 0, CHARS_WIDTH - 1);
|
||||
message = llDeleteSubString(message, 0, CHARS_WIDTH - 1);
|
||||
}
|
||||
|
||||
text += "\n\n" + message;
|
||||
}
|
||||
|
||||
// Clear the existing graffiti
|
||||
void clearGraffiti()
|
||||
{
|
||||
text = "";
|
||||
}
|
||||
|
||||
// Actually fires the graffiti out to the dynamic texture module
|
||||
void draw()
|
||||
{
|
||||
//llSay(0, text);
|
||||
string drawList = "PenColour BLACK; MoveTo 40,220; FontSize 32; Text " + text + ";";
|
||||
|
||||
osSetDynamicTextureData("", "vector", drawList, "1024", 0);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,33 @@ string text = "";
|
|||
string add = "";
|
||||
integer channel = 0; // if this is >= 0, llSay on that channel on updates
|
||||
|
||||
push_text()
|
||||
{
|
||||
compile_text();
|
||||
draw_text();
|
||||
}
|
||||
|
||||
compile_text()
|
||||
{
|
||||
title = "Some Title";
|
||||
subtitle = "Some subtitle";
|
||||
|
||||
text = "Plenty of text for the main body.\n";
|
||||
text += "You need to manual do line breaks\n";
|
||||
text += "here. No word wrap yet.";
|
||||
|
||||
add = "Additional text at the bottom";
|
||||
}
|
||||
|
||||
draw_text()
|
||||
{
|
||||
string drawList = "MoveTo 40,80; PenColour RED; FontSize 48; Text " + title + ";";
|
||||
drawList += "MoveTo 160,160; FontSize 32; Text " + subtitle + ";";
|
||||
drawList += "PenColour BLACK; MoveTo 40,220; FontSize 24; Text " + text + ";";
|
||||
drawList += "PenColour RED; FontName Times New Roman; MoveTo 40,900; Text " + add + ";";
|
||||
osSetDynamicTextureData("", "vector", drawList, "1024", 0);
|
||||
}
|
||||
|
||||
default {
|
||||
state_entry()
|
||||
{
|
||||
|
@ -18,30 +45,4 @@ default {
|
|||
}
|
||||
}
|
||||
|
||||
void push_text()
|
||||
{
|
||||
compile_text();
|
||||
draw_text();
|
||||
}
|
||||
|
||||
void compile_text()
|
||||
{
|
||||
title = "Some Title";
|
||||
subtitle = "Some subtitle";
|
||||
|
||||
text = "Plenty of text for the main body.\n";
|
||||
text += "You need to manual do line breaks\n";
|
||||
text += "here. No word wrap yet.";
|
||||
|
||||
add = "Additional text at the bottom";
|
||||
}
|
||||
|
||||
void draw_text()
|
||||
{
|
||||
string drawList = "MoveTo 40,80; PenColour RED; FontSize 48; Text " + title + ";";
|
||||
drawList += "MoveTo 160,160; FontSize 32; Text " + subtitle + ";";
|
||||
drawList += "PenColour BLACK; MoveTo 40,220; FontSize 24; Text " + text + ";";
|
||||
drawList += "PenColour RED; FontName Times New Roman; MoveTo 40,900; Text " + add + ";";
|
||||
osSetDynamicTextureData("", "vector", drawList, "1024", 0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,30 @@
|
|||
integer count = 0;
|
||||
integer refreshRate = 300;
|
||||
string URL1 = "http://icons.wunderground.com/data/640x480/2xus_rd.gif";
|
||||
string URL2 = "http://icons.wunderground.com/data/640x480/2xus_sf.gif";
|
||||
string URL3 = "http://icons.wunderground.com/data/640x480/2xus_st.gif";
|
||||
string dynamicID="";
|
||||
string contentType="image";
|
||||
|
||||
void refresh_texture()
|
||||
{
|
||||
count++;
|
||||
string url = "";
|
||||
integer c = count % 3;
|
||||
|
||||
if (c == 0) {
|
||||
url = URL1;
|
||||
} else if (c == 1) {
|
||||
url = URL2;
|
||||
} else {
|
||||
url = URL3;
|
||||
}
|
||||
// refresh rate is not yet respected here, which is why we need the timer
|
||||
osSetDynamicTextureURL(dynamicID, contentType ,url , "", refreshRate );
|
||||
}
|
||||
|
||||
default
|
||||
{
|
||||
integer count = 0;
|
||||
integer refreshRate = 300;
|
||||
string URL1 = "http://icons.wunderground.com/data/640x480/2xus_rd.gif";
|
||||
string URL2 = "http://icons.wunderground.com/data/640x480/2xus_sf.gif";
|
||||
string URL3 = "http://icons.wunderground.com/data/640x480/2xus_st.gif";
|
||||
string dynamicID="";
|
||||
string contentType="image";
|
||||
|
||||
state_entry()
|
||||
{
|
||||
refresh_texture();
|
||||
|
@ -23,21 +40,4 @@ default
|
|||
{
|
||||
refresh_texture();
|
||||
}
|
||||
|
||||
void refresh_texture()
|
||||
{
|
||||
count++;
|
||||
string url = "";
|
||||
integer c = count % 3;
|
||||
|
||||
if (c == 0) {
|
||||
url = URL1;
|
||||
} else if (c == 1) {
|
||||
url = URL2;
|
||||
} else {
|
||||
url = URL3;
|
||||
}
|
||||
// refresh rate is not yet respected here, which is why we need the timer
|
||||
osSetDynamicTextureURL(dynamicID, contentType ,url , "", refreshRate );
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue