Provisional fix for OpenSim event timeouts during dumping.
This is a provisional fix for #45. As discussed there, a proper fix will come later.
This commit is contained in:
parent
e37f991801
commit
032e0369bf
2 changed files with 48 additions and 2 deletions
|
@ -63,10 +63,12 @@ send_anim_info(integer broadcast)
|
|||
llMessageLinked(LINK_THIS, 90055, (string)SCRIPT_CHANNEL, llDumpList2String([llList2String(MENU_LIST, ANIM_INDEX), llList2String(DATA_LIST, ANIM_INDEX), llList2String(POS_ROT_LIST, ANIM_INDEX * 2), llList2String(POS_ROT_LIST, ANIM_INDEX * 2 + 1), broadcast, speed_index], "|"));
|
||||
}
|
||||
|
||||
// LSL::
|
||||
Readout_Say(string say)
|
||||
{
|
||||
llMessageLinked(LINK_THIS, 90022, say, (string)SCRIPT_CHANNEL);
|
||||
}
|
||||
// ::LSL
|
||||
|
||||
list order_buttons(list buttons)
|
||||
{
|
||||
|
@ -598,6 +600,7 @@ default
|
|||
onSit = llList2String(data, 14);
|
||||
memory();
|
||||
}
|
||||
// LSL::
|
||||
else if (num == 90020 && llList2String(data, 0) == "")
|
||||
{
|
||||
Readout_Say("V:" + llDumpList2String([version, MTYPE, ETYPE, SET, SWAP, SITTER_INFO, CUSTOM_TEXT, ADJUST_MENU, SELECT, AMENU, OLD_HELPER_METHOD], "|"));
|
||||
|
@ -618,6 +621,41 @@ default
|
|||
}
|
||||
llMessageLinked(LINK_THIS, 90021, (string)SCRIPT_CHANNEL, "");
|
||||
}
|
||||
// ::LSL
|
||||
/* OSS::
|
||||
else if (num == 90020 && llList2String(data, 0) == "")
|
||||
{
|
||||
llMessageLinked(LINK_THIS, 90022, "V:" + llDumpList2String([version, MTYPE, ETYPE, SET, SWAP, SITTER_INFO, CUSTOM_TEXT, ADJUST_MENU, SELECT, AMENU, OLD_HELPER_METHOD], "|"), (string)SCRIPT_CHANNEL);
|
||||
llMessageLinked(LINK_THIS, 90024, (string)SCRIPT_CHANNEL, "-1|D");
|
||||
}
|
||||
else if (num == 90024) // self-sent message to dump the next line
|
||||
{
|
||||
if (llList2String(data, 1) == "D")
|
||||
{
|
||||
if (++two < llGetListLength(MENU_LIST))
|
||||
{
|
||||
llSleep(0.5);
|
||||
llMessageLinked(LINK_THIS, 90022, "S:" + llList2String(MENU_LIST, two) + "|" + llList2String(DATA_LIST, two), (string)SCRIPT_CHANNEL);
|
||||
llMessageLinked(LINK_THIS, 90024, (string)SCRIPT_CHANNEL, (string)two + "|D");
|
||||
return;
|
||||
}
|
||||
llMessageLinked(LINK_THIS, 90024, (string)SCRIPT_CHANNEL, "-1|P");
|
||||
return;
|
||||
}
|
||||
if (++two < llGetListLength(MENU_LIST))
|
||||
{
|
||||
if (llList2Vector(POS_ROT_LIST, two * 2) != ZERO_VECTOR)
|
||||
{
|
||||
llSleep(0.2);
|
||||
llMessageLinked(LINK_THIS, 90022, "{" + llList2String(MENU_LIST, two) + "}" + llList2String(POS_ROT_LIST, two * 2) + llList2String(POS_ROT_LIST, two * 2 + 1), (string)SCRIPT_CHANNEL);
|
||||
}
|
||||
llMessageLinked(LINK_THIS, 90024, (string)SCRIPT_CHANNEL, (string)two + "|P");
|
||||
return;
|
||||
}
|
||||
llMessageLinked(LINK_THIS, 90021, (string)SCRIPT_CHANNEL, "");
|
||||
return;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,13 @@ def oss_process(filename):
|
|||
import re
|
||||
|
||||
# Regex that replaces a line with its OSS version when one's specified.
|
||||
os_re = re.compile(r'^( *)(.*?)// ?OSS::(.*)$', re.MULTILINE)
|
||||
os_line_re = re.compile(r'^( *).*?// ?OSS::(.*)$', re.MULTILINE)
|
||||
|
||||
# Regex that removes lines between //LSL:: and //::LSL (can't begin on first line)
|
||||
sl_block_re = re.compile(r'\n\s*// ?LSL::(?:[^\n]|\n(?![ \t]*// ?::LSL[^\n]*?(?=\n)))*\n[ \t]*// ?::LSL[^\n]*(?=\n)')
|
||||
|
||||
# Regex that removes /*OSS:: and its matching */ (can't begin on first line)
|
||||
os_block_re = re.compile(r'\n\s*/\* ?OSS::[^\n]*(\n(?:[^\n]|\n(?![ \t]*\*/))*)\n[ \t]*\*/[^\n]*(?=\n)')
|
||||
|
||||
if filename is not None:
|
||||
f = open(filename, "r");
|
||||
|
@ -55,7 +61,9 @@ def oss_process(filename):
|
|||
'b88526b7-3966-43fd-ae76-1e39881c86aa')
|
||||
# TODO: Replace LockGuard texture UUIDs
|
||||
|
||||
s = os_re.sub(r'\1\3', s)
|
||||
s = os_line_re.sub(r'\1\2', s)
|
||||
s = sl_block_re.sub('', s)
|
||||
s = os_block_re.sub(r'\1', s)
|
||||
sys.stdout.write(s)
|
||||
return 0
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue