Make scripts LSL compliant.

0.6.0-stable
Mike Mazur 2008-07-18 04:51:36 +00:00
parent 230a7ecaec
commit 2558f8ac31
3 changed files with 81 additions and 80 deletions

View File

@ -6,13 +6,40 @@
string text = ""; 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 // XXX Only putting this here as well to get around OpenSim's int -> string casting oddness
string LISTENING_CHANNEL_STRING = "43"; string LISTENING_CHANNEL_STRING = "43";
// FIXME: Should be dynamic! // 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 default
{ {
@ -45,30 +72,3 @@ default
draw(); 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);
}

View File

@ -4,6 +4,33 @@ string text = "";
string add = ""; string add = "";
integer channel = 0; // if this is >= 0, llSay on that channel on updates 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 { default {
state_entry() 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);
}
} }

View File

@ -1,5 +1,3 @@
default
{
integer count = 0; integer count = 0;
integer refreshRate = 300; integer refreshRate = 300;
string URL1 = "http://icons.wunderground.com/data/640x480/2xus_rd.gif"; string URL1 = "http://icons.wunderground.com/data/640x480/2xus_rd.gif";
@ -8,22 +6,6 @@ default
string dynamicID=""; string dynamicID="";
string contentType="image"; string contentType="image";
state_entry()
{
refresh_texture();
llSetTimerEvent(refreshRate); // create a "timer event" every 300 seconds.
}
timer()
{
refresh_texture();
}
touch_start(integer times)
{
refresh_texture();
}
void refresh_texture() void refresh_texture()
{ {
count++; count++;
@ -40,4 +22,22 @@ default
// refresh rate is not yet respected here, which is why we need the timer // refresh rate is not yet respected here, which is why we need the timer
osSetDynamicTextureURL(dynamicID, contentType ,url , "", refreshRate ); osSetDynamicTextureURL(dynamicID, contentType ,url , "", refreshRate );
} }
default
{
state_entry()
{
refresh_texture();
llSetTimerEvent(refreshRate); // create a "timer event" every 300 seconds.
}
timer()
{
refresh_texture();
}
touch_start(integer times)
{
refresh_texture();
}
} }