diff --git a/AVsitter2/[AV]adjuster.lsl b/AVsitter2/[AV]adjuster.lsl index f50cd1e..07044ec 100644 --- a/AVsitter2/[AV]adjuster.lsl +++ b/AVsitter2/[AV]adjuster.lsl @@ -262,9 +262,8 @@ integer get_number_of_scripts() string convert_to_world_positions(integer num) { - list details = llGetObjectDetails(llGetLinkKey(llGetLinkNumber()), [OBJECT_POS, OBJECT_ROT]); - rotation target_rot = llEuler2Rot(llList2Vector(ROT_LIST, num) * DEG_TO_RAD) * llList2Rot(details, 1); - vector target_pos = llList2Vector(POS_LIST, num) * llList2Rot(details, 1) + llList2Vector(details, 0); + rotation target_rot = llEuler2Rot(llList2Vector(ROT_LIST, num) * DEG_TO_RAD) * llGetRot(); + vector target_pos = llList2Vector(POS_LIST, num) * llGetRot() + llGetPos(); return (string)target_pos + "|" + (string)target_rot; } @@ -881,10 +880,9 @@ default } else if (llList2String(data, 0) == "MOVED") { - list myprim = llGetObjectDetails(llGetLinkKey(llGetLinkNumber()), [OBJECT_POS, OBJECT_ROT]); - rotation f = llList2Rot(myprim, 1); + rotation f = llGetRot(); vector target_rot = llRot2Euler((rotation)llList2String(data, 3) / f) * RAD_TO_DEG; - vector target_pos = ((vector)llList2String(data, 2) - llList2Vector(myprim, 0)) / f; + vector target_pos = ((vector)llList2String(data, 2) - llGetPos()) / f; if ((string)target_pos != (string)llList2Vector(POS_LIST, num) || (string)target_rot != (string)llList2Vector(ROT_LIST, num)) { POS_LIST = llListReplaceList(POS_LIST, [target_pos], num, num); diff --git a/AVsitter2/[AV]sitA.lsl b/AVsitter2/[AV]sitA.lsl index 5a3bc0a..f71b498 100644 --- a/AVsitter2/[AV]sitA.lsl +++ b/AVsitter2/[AV]sitA.lsl @@ -167,8 +167,7 @@ wipe_sit_targets() integer i; for (i = 0; i <= llGetNumberOfPrims(); i++) { - string desc = llList2String(llGetObjectDetails(llGetLinkKey(i), [OBJECT_DESC]), 0); - if (desc != "-1") + if ((string)llGetLinkPrimitiveParams(i, [PRIM_DESC]) != "-1") { llLinkSitTarget(i, ZERO_VECTOR, ZERO_ROTATION); } @@ -207,15 +206,11 @@ sittargets() SITTERS_SITTARGETS += 1000; ASSIGNED_SITTARGETS += FALSE; } - for (i = 1; i <= prims; i++) + for (i = 1; i <= prims; i++) // FIXME: will this work for single prim in OpenSim? { integer next = llListFindList(SITTERS_SITTARGETS, [1000]); - string desc = llList2String(llGetObjectDetails(llGetLinkKey(i), [OBJECT_DESC]), 0); - integer index = llSubStringIndex(desc, "#"); - if (index) - { - desc = llGetSubString(desc, index + 1, -1); - } + string desc = (string)llGetLinkPrimitiveParams(i, [PRIM_DESC]); + desc = llGetSubString(desc, llSubStringIndex(desc, "#") + 1, -1); if (desc != "-1") { list data = llParseStringKeepNulls(desc, ["-"], []); @@ -303,7 +298,7 @@ set_sittarget() { target = 0; } - if (llList2String(llGetObjectDetails(llGetLinkKey(target), [OBJECT_DESC]), 0) != "-1") + if ((string)llGetLinkPrimitiveParams(target, [PRIM_DESC]) != "-1") { llLinkSitTarget(target, target_pos - <0.,0.,0.4> + llRot2Up(target_rot) * 0.05, target_rot); } diff --git a/AVsitter2/prepare-for-oss.py b/AVsitter2/prepare-for-oss.py index 4944396..976a324 100644 --- a/AVsitter2/prepare-for-oss.py +++ b/AVsitter2/prepare-for-oss.py @@ -11,8 +11,8 @@ def main(argc, argv): prterr(u'Need exactly 1 argument (input filename)') return 1 - # Regex that replaces a line by its OSS version when one's specified. - os_re = re.compile(r'^( *)(.*?) // OSS::(.*)$', re.MULTILINE) + # Regex that replaces a line with its OSS version when one's specified. + os_re = re.compile(r'^( *)(.*?)// OSS::(.*)$', re.MULTILINE) f = open(argv[1], "r"); s = f.read()