diff --git a/builtins.txt b/builtins.txt index 4893562..175fe8a 100644 --- a/builtins.txt +++ b/builtins.txt @@ -1,4 +1,4 @@ -// Generated by LSL2 Derived Files Generator. Database version: 0.0.20230409000; output module version: 0.0.20140731000 +// Generated by LSL2 Derived Files Generator. Database version: 0.0.20230714000; output module version: 0.0.20230603000 integer llAbs( integer val ) float llAcos( float val ) void llAddToLandBanList( key avatar, float hours ) @@ -255,15 +255,18 @@ integer llList2Integer( list src, integer index ) string llList2Json( string type, list values ) key llList2Key( list src, integer index ) list llList2List( list src, integer start, integer end ) +list llList2ListSlice( list src, integer start, integer end, integer stride, integer slice_index ) list llList2ListStrided( list src, integer start, integer end, integer stride ) rotation llList2Rot( list src, integer index ) string llList2String( list src, integer index ) vector llList2Vector( list src, integer index ) integer llListFindList( list src, list test ) +integer llListFindStrided( list src, list test, integer start, integer end, integer stride ) list llListInsertList( list dest, list src, integer start ) list llListRandomize( list src, integer stride ) list llListReplaceList( list dest, list src, integer start, integer end ) list llListSort( list src, integer stride, integer ascending ) +list llListSortStrided( list src, integer stride, integer stride_index, integer ascending ) float llListStatistics( integer operation, list src ) integer llListen( integer channel, string name, key id, string msg ) void llListenControl( integer number, integer active ) @@ -490,6 +493,7 @@ const integer ACTIVE = 0x2 const integer AGENT = 0x1 const integer AGENT_ALWAYS_RUN = 0x1000 const integer AGENT_ATTACHMENTS = 0x2 +const integer AGENT_AUTOMATED = 0x4000 const integer AGENT_AUTOPILOT = 0x2000 const integer AGENT_AWAY = 0x40 const integer AGENT_BUSY = 0x800 diff --git a/fndata.txt b/fndata.txt index a453bc0..5e548db 100644 --- a/fndata.txt +++ b/fndata.txt @@ -1674,6 +1674,15 @@ integer llVerifyRSA(string pubkey, string message, string signature, string hash string llReplaceSubString(string source, string search, string replace, integer count) - SEF +list llList2ListSlice(list src, integer start, integer end, integer stride, integer slice_index) +- SEF + +integer llListFindStrided(list src, list test, integer start, integer end, integer stride) +- SEF + +list llListSortStrided(list src, integer stride, integer stride_index, integer ascending) +- SEF + ################################################################### # Events are SEF if a script with an empty event can't be diff --git a/lslopt/lslbasefuncs.py b/lslopt/lslbasefuncs.py index ae7a773..b784d3e 100644 --- a/lslopt/lslbasefuncs.py +++ b/lslopt/lslbasefuncs.py @@ -1426,6 +1426,14 @@ def llList2List(lst, start, end): end = fi(end) return InternalGetDeleteSubSequence(lst, start, end, isGet=True) +def llList2ListSlice(src, start, end, stride, slice_idx): + src = fl(src) + start = fi(start) + end = fi(end) + stride = fi(stride) + slice_idx = fi(slice_idx) + raise ELSLCantCompute # TODO: Implement llList2ListSlice + def llList2ListStrided(lst, start, end, stride): lst = fl(lst) start = fi(start) @@ -1531,6 +1539,14 @@ def llListFindList(lst, elems): return i return -1 +def llListFindListStrided(src, test, start, end, stride): + src = fl(src) + test = fl(test) + start = fi(start) + end = fi(end) + stride = fi(stride) + raise ELSLCantCompute # TODO: Implement llListFindListStrided + def llListInsertList(lst, elems, pos): lst = fl(lst) elems = fl(elems) @@ -1635,6 +1651,13 @@ def llListSort(lst, stride, asc): a = a.encode('utf-32-be') # pragma: no cover return lst +def llListSortStrided(src, stride, idx, ascending): + src = fl(src) + stride = fi(stride) + idx = fi(idx) + ascending = fi(ascending) + raise ELSLCantCompute # FIXME: Implement llListSortStrided + def llListStatistics(op, lst): op = fi(op) lst = fl(lst)