From df22bd0fcad61360394d5555d14e69fce8beb7d1 Mon Sep 17 00:00:00 2001 From: onefang Date: Mon, 6 Sep 2021 22:20:52 +1000 Subject: 1AOor2.ADJUST_ALL --- 1AOor2.lsl | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/1AOor2.lsl b/1AOor2.lsl index 3305494..1196a8d 100644 --- a/1AOor2.lsl +++ b/1AOor2.lsl @@ -365,6 +365,42 @@ integer doThing(key id, string button, string fr, string cmd, string data, integ setSetting(id, "SPEED", llList2String(AOspeeds, sp), fMENU); s("Now moving at " + llList2String(AOspeedNames, sp) + " speed."); } + else if ("ADJUST_ALL" == cmd) + { + integer i = llGetInventoryNumber(INVENTORY_NOTECARD); + list posCards = []; + string item; + while (i-- > 0) + { + item = llGetInventoryName(INVENTORY_NOTECARD, i); + if (llSubStringIndex(item, ".POSITIONS") == 0) posCards += (list) item; + } + readPos(posCards); + d("Loaded " + (string) (llGetListLength(Poses) / psSTRIDE) + " positions in " + + (string) (llGetTimeOfDay() - Start) + " seconds."); + + list result = []; + integer l = llGetListLength(Poses); + vector adj = (vector) getSetting("ADJUSTBY"); + for (i = 0; i < l; i += psSTRIDE) + { + list prs = llParseString2List(llList2String(Poses, i + psPOSROT), ["|"], []); + string r = "{" + llList2String(Poses, i) + "} "; + integer m = llGetListLength(prs); + integer j; + + for (j = 0; j < m; j++) + { + string p; + list tmp = llParseString2List(llList2String(prs, j), ["><"], []); + p = (string) ( ((vector) ( llList2String(tmp, 0) + ">" )) + adj); + r += p + "<" + llList2String(tmp, 1); + } + result += [r]; + } + osMakeNotecard(".ADJUSTED_POSITIONS", result); + s("Adjusted positions saved to the .ADJUSTED_POSITIONS notecard."); + return FALSE; } else if ("LESS_-" == cmd) { -- cgit v1.1