276 Commits

Author SHA1 Message Date
UbitUmarov
d92940b62b add functions osListAs*(list src, integer index) identical to llList2*, but a bit faster with no typecast and index only from origin ( ie >= 0) 2025-05-09 20:00:19 +01:00
UbitUmarov
23ad195e7a add osSetTerrainTextures(LSL_List textures, LSL_Integer types) to set terrain textures for legacy viewers it types == 0 or 2; textures for new viewers if types == 1 or 2 or PBR materials if types == 1 (untested :( ) 2025-05-06 01:29:24 +01:00
UbitUmarov
7a4c6ff5b3 add another ossl tooltip 2025-05-01 19:42:53 +01:00
UbitUmarov
71fd5c5dea minor file formating fix 2025-05-01 19:32:06 +01:00
UbitUmarov
c69ed37dd8 fix to compile 2025-05-01 19:20:28 +01:00
Vincent Sylvester
1847b6be24 Tooltips for ossl
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2025-05-01 18:54:57 +01:00
UbitUmarov
bde18322eb add LSL_Integer osListFindListNext(LSL_List src, LSL_List test, LSL_Integer lstart, LSL_Integer lend, LSL_Integer instance), like ll one but with search restricted to a substring. Untested, sorry 2025-04-04 01:30:41 +01:00
Adil El Farissi
ac9ed3d5d1 Add selfsigned certificates support to Robust and osGetLinkInventoryKeys plus some fixes 2024-08-16 22:59:25 +01:00
UbitUmarov
ecdc979687 oops it is sRGB not linear, so rename to osTemperature2sRGB 2024-06-04 09:46:11 +01:00
UbitUmarov
1d9d39328d add osTemperatureToLinearColor() 2024-06-04 09:05:03 +01:00
UbitUmarov
270427ba2a add vector osGetLinkColor(LSL_Integer linknum, LSL_Integer face) 2024-05-18 22:17:10 +01:00
UbitUmarov
782bad9944 and rename it again as just osGetLinkInventoryKey, so it is coerent with llGetInventoryKey (mantis 9119) 2024-03-26 18:32:05 +00:00
UbitUmarov
7c63ff1150 rename new osGetLinkInventoryItemKey as osGetLinkInventoryItemAssetKey 2024-03-24 11:34:23 +00:00
Jeff Kelley
1aa7bea608 osGetLinkInventoryAssetKey
deleted:    bin/System.Drawing.Common.dll

Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2024-03-24 11:25:09 +00:00
UbitUmarov
6afa7d564b same for osGetLinkInventoryItemKeys 2024-03-05 19:04:36 +00:00
UbitUmarov
c618c4a6c4 rename the new osGetInventoryKeys as osgetinventoryitemkeys and osgetlinkinventorykey as osgetinventoryitemkey for coerence and to make clear that key means the item key within prim inventory and not its asset key as in ll funtion 2024-03-05 18:51:42 +00:00
UbitUmarov
97b03f76c7 fix the last patch 2024-02-29 20:40:42 +00:00
UbitUmarov
18ec6d6380 cosmetics 2024-02-26 18:07:50 +00:00
Adil El Farissi
60214e6e81 Add 2 OSSL functions to the LinkInventory collection
Add Functions:
+ osGiveLinkInventoryList(integer linkNumber, key destination, string category, list inventory)
Give a group of items located in a child prim inventory

+ osRemoveLinkInventory(integer linkNumber, string name)
Remove an item from a child prim inventory

LSL Script example:
<pre><code>
default
{
    touch_start(integer a){

        integer linkNumber = llDetectedLinkNumber(0);
        list linkInventoryNames = osGetLinkInventoryNames(linkNumber, INVENTORY_ALL);
        osGiveLinkInventoryList(linkNumber, llDetectedKey(0), llGetLinkName(linkNumber), linkInventoryNames);

        for(integer i = 0; i < llGetListLength(linkInventoryNames); i++){
            osRemoveLinkInventory(linkNumber, llList2String(linkInventoryNames, i));
        }
    }
}
</code></pre>
2024-02-25 07:14:49 +00:00
Adil El Farissi
db80781e7d Basic implementation of AES encryption/decryption and respective OSSL functions
Add methods:
+ private static string AESEncryptString(string secret, string plainText, string ivString= null)
AES Encrypt a string using a password and a random or custom Initialization Vector.

+ private static string AESDecryptString(string secret, string encryptedText, string ivString= null)
AES Decrypt the string encrypted by AESEncryptString with the same password and ivString used in the encryption.

Methods implementations:
+ Util.AESEncrypt(string secret, string plainText)
+ Util.AESDecrypt(string secret, string encryptedText)
+Util.AESEncryptTo(string secret, string plainText, string ivString)
+ Util.AESDecryptFrom(string secret, string encryptedText, string ivString)

OSSL functions as first case of use:
+ osAESEncrypt(string secret, string plainText)
+ osAESDecrypt(string secret, string encryptedText)
+ osAESEncryptTo(string secret, string plainText, string ivString)
+ osAESDecryptFrom(string secret, string encryptedText, string ivString)

LSL script example:
<pre><code>
string plainText = "Hello World :)";
string secret = "#!qUeRtY$@123^456€!#";

default
{
    touch_start(integer i)
    {
        string encryptedText = osAESEncrypt(secret, plainText);
        llOwnerSay("\nEncrypted with osAESEncrypt:\n"+ encryptedText);
        string decryptedText = osAESDecrypt(secret, encryptedText);
        llOwnerSay("\nDecrypted with osAESDecrypt:\n"+ decryptedText);

        // Encription / Decription with custom Initialization Vector.
        string ivString = (string)llGetOwner() /* +"_"+ llGenerateKey() */;
        string encryptedToText = osAESEncryptTo(secret, plainText, ivString);
        llOwnerSay("\nEncrypted with osAESEncryptTo:\n"+ encryptedToText);
        string decryptedFromText = osAESDecryptFrom(secret, encryptedToText, ivString);
        llOwnerSay("\nDecrypted with osAESDecryptFrom:\n"+ decryptedFromText);
    }
}
</code></pre>

Web Rain :)
2024-02-23 21:14:33 +00:00
Adil El Farissi
ca722ecdd8 Add some OSSL functions related to child prims inventory manipulations
Add functions:

+ osGiveLinkInventory(integer linkNumber, key destination, string inventory)
Give an item located in a child prim inventory.

+ osGetInventoryNames(integer type)
Return a list of items names by type (or INVENTORY_ALL) located in the prim inventory.

+ osGetLinkInventoryNames(integer linkNumber, integer type)
Return a list of items names by type (or INVENTORY_ALL) located in a child prim inventory.

+ osGetInventoryKeys(integer type)
Return a list of the items UUIDs by type (or INVENTORY_ALL) located in the prim inventory.

+ osGetLinkInventoryKeys(integer linkNumber, integer type)
Return a list of the items UUIDs by type (or INVENTORY_ALL) located in a child prim inventory.

+ osGetLinkInventoryKey(integer linkNumber, string name)
Return the UUID of the specified item name located in a child prim inventory.

+ osGetLinkInventoryDesc(integer linkNumber, string itemNameorid)
Return the description of an item located in a child prim inventory.

+ osGetLinkInventoryName(integer linkNumber, key itemId)
Return the name of an item located in a child prim inventory.

Note: the LinkInventory functions don't have access to the root prim contents. This may change if requested by the community...
2024-02-20 17:36:33 +00:00
UbitUmarov
2849e57920 add osGetPrimCount([key primKey]) and osGetSittingAvatarsCount([key primkey]) that just do want name says unlike ll mess, absent primKey argument means current linkset 2023-06-14 22:45:37 +01:00
Jeff Kelley
b96ef0d00c osSetPenColor
osSetPenColor1

Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2023-05-05 10:45:02 +01:00
UbitUmarov
549ebc1025 add old llList2ListStrided renamed osOldList2ListStrided to easy any possible script fixes 2023-04-27 22:15:19 +01:00
UbitUmarov
7b7071f778 fix bad c&p 2023-04-26 21:05:16 +01:00
UbitUmarov
4c061a0602 add llListSortStrided and osListSortInPlaceStrided 2023-04-26 20:26:01 +01:00
UbitUmarov
93e06f87f6 add list osGetParcelIDs() and key osGetParcelID(), plus a few changes to previus commits 2023-04-16 20:00:35 +01:00
UbitUmarov
e78caeeac8 add explicit osMakeNotecard(string notecardName, LSL_String contents) so it does not depend on implicit cast from string to list, as before 2022-01-06 20:42:50 +00:00
UbitUmarov
74a0bb3837 simplify combatmodule npc kill check 2021-10-24 21:06:42 +01:00
UbitUmarov
916e981214 precision issues 2021-09-16 17:28:03 +01:00
UbitUmarov
4855e11346 a few more changes to lsl list; add osListSortInPlace(LSL_List src, LSL_Integer stride, LSL_Integer ascending), does the sort directly on src, avoiding creation on a new list when that is not needed 2021-05-31 18:12:33 +01:00
UbitUmarov
15d0b02ba9 add LSL_Integer osAvatarType(string firts, string last) 2021-04-21 16:25:58 +01:00
UbitUmarov
9d1bd02d12 add LSL_Integer osAvatarType(LSL_Key avkey) 2021-04-21 15:52:09 +01:00
UbitUmarov
1c29f3378d mantis 8865: add experimental osNpcLookAt 2021-02-16 03:16:54 +00:00
UbitUmarov
e25b05a454 remove the expire argument from os[Link]ParticleSystem.. expire is controled by maxage != 0 2021-01-12 16:12:44 +00:00
UbitUmarov
72f7009b10 add os[Link]ParticleSystem with expire option. If expire true and system MaxAge > 0, the system will be be (lazy) removed from the prim after that MaxAge 2021-01-12 15:38:10 +00:00
UbitUmarov
a3b26255dd add vector variant of osSlerp; update script syntax 2021-01-06 16:32:51 +00:00
UbitUmarov
8fa28d96f5 clean tabs from osSHA256 patch (mantis 8839) 2020-12-29 13:31:08 +00:00
Mike Higgins
0da43a8ef5 added a new function string=osSHA256(string)
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2020-12-29 13:17:29 +00:00
UbitUmarov
64fea8f20c mantis 8770: let osGetSunParam(day_length) return the same as llGetDayLength() ie day length at prim location 2020-09-12 16:14:14 +01:00
UbitUmarov
b64e1792ff wt* remove osSetStateEvents, any script using it must just DIE 2020-08-31 15:01:26 +01:00
UbitUmarov
cd5ac2eae9 some cleanup to last patch from Bill Blight and Vincent (mantis 8738) 2020-08-08 18:27:45 +01:00
Vincent Sylvester
4eee476423 osSetParcelMusicURL
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2020-08-08 18:16:15 +01:00
UbitUmarov
5b87347476 and add some untested ossl 2020-06-21 12:41:10 +01:00
UbitUmarov
5b56a09cb2 some fixes on env protocol, forced env, etc 2020-06-21 01:41:14 +01:00
UbitUmarov
e3ecf0ddbe add LSL_Integer osReplaceAgentEnvironment(LSL_Key agentkey, LSL_Integer transition, LSL_String environment). note this is a hack, we cant do the ll* one 2020-06-19 19:55:40 +01:00
UbitUmarov
d1ecccfaca add some ossl 2020-06-11 19:55:12 +01:00
UbitUmarov
9bd5310fe8 expose the option to save HUDs into notecard on the API 2020-06-01 21:05:57 +01:00
UbitUmarov
248d56d3ad add LSL_Integer osClearObjectAnimations() to remove all animations on a prim, returning the number it had; some clean on sending 2020-03-03 23:21:05 +00:00
UbitUmarov
76987fb647 ... osSetLinkStandTarget 2020-01-25 15:51:36 +00:00