Skip to content

Commit

Permalink
Merge pull request #1104 from OpenCollarTeam/8.3_Features-branch
Browse files Browse the repository at this point in the history
8.3 features branch
  • Loading branch information
SilkieSabra authored Oct 5, 2024
2 parents c522edd + d3de63e commit 89f849a
Show file tree
Hide file tree
Showing 64 changed files with 3,406 additions and 3,550 deletions.
46 changes: 46 additions & 0 deletions res/sounds/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,49 @@ Constraints specific to Second Life®:

License:
* All sounds and binaries contributed to this repository are licensed under a [Creative Commons Attribution-ShareAlike 4.0 International Public License](https://creativecommons.org/licenses/by-sa/4.0/)


## List new sounds
When adding new sounds. Make noise normalization, that they sound same volume.

Audacity / Effecs / Volume and compression / Loudness Normalization -14 LUFS
Audacity / Effecs / Noise removal and repair / Noise reduction (optional)
Audacity / Effecs / Volume and compression / Amplify (optional)
Audacity / Effecs / Volume and compression / Limiter -1 (optional Show / Clipping in waveform)

This work batch can be used to Youtube videos too.
Perfect video has following stats: Volume / Normalized 100% / 0 dB

bell_brass_01.wav 9a1f0d2e-0f32-21f7-7d83-1aeb428ace4a
bell_brass_02.wav b6985bfd-72c0-5e19-5d83-88f6c9bbe151
bell_cow_01.wav 5837c0d4-cdb5-21f5-8743-5801614383a8
bell_cow_02.wav 86c7c7ec-1862-5328-f908-00d341e0a5d2
bell_cow_03.wav effb7813-18a3-7237-dcf0-873713e4a545
bell_plastic_01.wav f75aaed4-2415-d5a0-bd94-4bb32432b42f
bell_plastic_02.wav 3c7ccb39-9ca8-d0ce-3561-cae901e7ad06
bell_silver_01.wav f8be56c4-28c8-3095-4b61-d425467eb2cb
bell_silver_02.wav e0b061c0-9edd-6a49-cdd6-a197ab439391
bell_silver_03.wav 378e5546-955d-b04f-8994-c7b0763b8f68
bell_supersoft_01.wav
bell_supersoft_02.wav
drop_808_0010.wav
lock_015_01.wav
lock_015_02.wav
lock_015_03.wav
lock_015_04.wav
lock_015_05.wav
lock_015_06.wav
morse_ask.wav
morse_do.wav
morse_do_ao.wav
morse_do_hud.wav

## Old sounds
ae3a836f-4d69-2b74-1d52-9c78a9106206 ---- Humming noise, should be bell
503d2360-99f8-7a4a-8b89-43c5122927bd --- Little bling volume very low
a3ff9ca6-8289-0007-5b6b-d4c993580a6b -- brass bell volume low
843adc44-1189-2d67-6f3a-72a80b3a9ed4 -- cow bell
4c84b9b7-b363-b501-c019-8eef5fb4d3c2 -- cow bell2
3b95831e-8da5-597f-3b4d-713a03945cb6 -- tiny cat bell
285b317c-23d1-de51-84bc-938eb3df9e46 -- tiny cat bell 2
074b9b37-f6a3-a0a3-f40e-14bc57502435 -- xmas bell
Binary file modified res/sounds/bell_brass_01.wav
Binary file not shown.
Binary file modified res/sounds/bell_brass_02.wav
Binary file not shown.
Binary file modified res/sounds/bell_cow_01.wav
Binary file not shown.
Binary file modified res/sounds/bell_cow_02.wav
Binary file not shown.
Binary file modified res/sounds/bell_cow_03.wav
Binary file not shown.
Binary file modified res/sounds/bell_plastic_01.wav
Binary file not shown.
Binary file modified res/sounds/bell_plastic_02.wav
Binary file not shown.
Binary file modified res/sounds/bell_silver_01.wav
Binary file not shown.
Binary file modified res/sounds/bell_silver_02.wav
Binary file not shown.
Binary file modified res/sounds/bell_silver_03.wav
Binary file not shown.
Binary file modified res/sounds/bell_supersoft_01.wav
Binary file not shown.
Binary file modified res/sounds/bell_supersoft_02.wav
Binary file not shown.
Binary file modified res/sounds/drop_808_0010.wav
Binary file not shown.
Binary file modified res/sounds/lock_015_01.wav
Binary file not shown.
Binary file modified res/sounds/lock_015_02.wav
Binary file not shown.
Binary file modified res/sounds/lock_015_03.wav
Binary file not shown.
Binary file modified res/sounds/lock_015_04.wav
Binary file not shown.
Binary file modified res/sounds/lock_015_05.wav
Binary file not shown.
Binary file modified res/sounds/lock_015_06.wav
Binary file not shown.
Binary file modified res/sounds/morse_ask.wav
Binary file not shown.
Binary file modified res/sounds/morse_do.wav
Binary file not shown.
Binary file modified res/sounds/morse_do_ao.wav
Binary file not shown.
Binary file modified res/sounds/morse_do_hud.wav
Binary file not shown.
2 changes: 1 addition & 1 deletion src/Apps/oc_OwnerOnlineCheck.lsl
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ integer bool(integer a){
if(a)return TRUE;
else return FALSE;
}
list g_lCheckboxes=["", ""];
list g_lCheckboxes= ["",""];
string Checkbox(integer iValue, string sLabel) {
return llList2String(g_lCheckboxes, bool(iValue))+" "+sLabel;
}
Expand Down
3 changes: 3 additions & 0 deletions src/Apps/oc_badwords.lsl
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
// littlemousy, Karo Weirsider, Nori Ovis, Ray Zopf et al.
// Licensed under the GPLv2. See LICENSE for full details.

//Phuk
// May 2023 - reset script on transfer

string g_sAppVersion = "¹⋅³";

Expand Down Expand Up @@ -442,6 +444,7 @@ default {

changed(integer iChange) {
if (iChange & CHANGED_INVENTORY) PermsCheck();
if (iChange & CHANGED_OWNER) llResetScript();
/*if (iChange & CHANGED_REGION) {
if (g_iProfiled) {
llScriptProfiler(1);
Expand Down
35 changes: 23 additions & 12 deletions src/Apps/oc_capture.lsl
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ Copyright 2021
Aria (Tashia Redrose)
* Dec 2019 - Rewrote Capture & Reset Script Version to 1.0
* Ping (Pingout Duffield), Nikki Lacrima * July 2023 - Owner ability to end Capture, Prevent BLOCKED from using Capture
et al.
Licensed under the GPLv2. See LICENSE for full details.
https://github.com/OpenCollarTeam/OpenCollar
*/
Expand All @@ -22,13 +22,13 @@ integer bool(integer a){
if(a)return TRUE;
else return FALSE;
}
list g_lCheckboxes=["",""];
list g_lCheckboxes=["",""];
string Checkbox(integer iValue, string sLabel) {
return llList2String(g_lCheckboxes, bool(iValue))+" "+sLabel;
}


string g_sScriptVersion = "8.0";
string g_sScriptVersion = "8.3";
string g_sAppVersion = "1.1";

DebugOutput(key kDest, list lParams){
Expand Down Expand Up @@ -70,6 +70,7 @@ integer in_range(key kID){
}
}
integer NOTIFY = 1002;
integer NOTIFY_OWNERS=1003;
integer LINK_CMD_DEBUG=1999;
integer REBOOT = -1000;

Expand Down Expand Up @@ -140,9 +141,12 @@ UserCommand(integer iNum, string sStr, key kID) {
return;
}
if (sStr==g_sSubMenu || sStr == "menu "+g_sSubMenu) {
if(iNum == CMD_OWNER)
if(g_iCaptured && (iNum == CMD_OWNER || (iNum == CMD_WEARER && !g_iRisky))){ // ask stop capture before any other changes to capture settings.
StopCapture(kID, iNum);
}
else if(iNum == CMD_OWNER)
Menu(kID, iNum);
else if (kID == g_kCaptor) StopCapture(kID, iNum); // if we are the Captor ask if we want to stop capture instead.
else if (kID == g_kCaptor) StopCapture(kID, iNum);
else llMessageLinked(LINK_SET, NOTIFY, "0%NOACCESS% to capture settings", kID);
}
//else if (iNum!=CMD_OWNER && iNum!=CMD_TRUSTED && kID!=g_kWearer) RelayNotify(kID,"Access denied!",0);
Expand Down Expand Up @@ -180,11 +184,12 @@ UserCommand(integer iNum, string sStr, key kID) {
}
}else if(sChangevalue==""){
// Attempt to capture
if(!g_iEnabled)return;
if(!g_iEnabled && !g_iCaptured)return; //PR #858
if(g_iCaptured){
// Check if ID is captor, as they may be trying to release
if(kID == g_kCaptor){
// Check if ID is captor or owner, as they may be trying to release
if((kID == g_kCaptor)||(iNum == CMD_OWNER)){
// Initiate release now
llMessageLinked(LINK_SET, NOTIFY_OWNERS, llGetUsername(g_kWearer)+" is no longer captured by secondlife:///app/agent/"+(string)g_kCaptor+"/about", g_kWearer);
llMessageLinked(LINK_SET, NOTIFY, "0Capture has ended", g_kCaptor);
llMessageLinked(LINK_SET, NOTIFY, "0You are no longer captured by secondlife:///app/agent/"+(string)g_kCaptor+"/about !", g_kWearer);
g_iCaptured=FALSE;
Expand All @@ -210,7 +215,8 @@ UserCommand(integer iNum, string sStr, key kID) {
g_kCaptor=kID;
llMessageLinked(LINK_SET, NOTIFY, "0Successfuly captured secondlife:///app/agent/"+(string)g_kWearer+"/about", g_kCaptor);
g_iCaptured=TRUE;
llMessageLinked(LINK_SET, NOTIFY, "0You have been captured by secondlife:///app/agent/"+(string)g_kCaptor+"/about ! If you need to free yourself, you can always use your safeword '"+g_sSafeword+"'. Also by saying your prefix capture", g_kWearer);
llMessageLinked(LINK_SET, NOTIFY_OWNERS, llGetUsername(g_kWearer)+" is captured by secondlife:///app/agent/"+(string)g_kCaptor+"/about", g_kWearer);
llMessageLinked(LINK_SET, NOTIFY, "0You have been captured by secondlife:///app/agent/"+(string)g_kCaptor+"/about ! If you need to free yourself, you can always use your safeword '"+g_sSafeword+"'.", g_kWearer);
Commit();
} else {
// Ask the wearer for consent to allow capture
Expand Down Expand Up @@ -322,6 +328,10 @@ state active
}

link_message(integer iSender,integer iNum,string sStr,key kID){
if(iNum == CMD_BLOCKED) {
llMessageLinked(LINK_SET, NOTIFY, "0%NOACCESS% to capture because you have been blocked on this collar", kID);
return;
}
if(iNum == CMD_NOACCESS && sStr == "menu" && g_iEnabled && !g_iCaptured && in_range(kID)) StartCapture(kID, iNum); // When the collar is touched by someone without permission and capture is enabled show the Capture dialog.
if(iNum >= CMD_OWNER && iNum <= CMD_NOACCESS) UserCommand(iNum, sStr, kID);
if(iNum == MENUNAME_REQUEST && sStr == g_sParentMenu)
Expand Down Expand Up @@ -395,6 +405,7 @@ state active
} else if(sMsg == "YES"){
g_iCaptured=TRUE;
llMessageLinked(LINK_SET, NOTIFY, "0Success", g_kCaptor);
llMessageLinked(LINK_SET, NOTIFY_OWNERS, llGetUsername(g_kWearer)+" is captured by secondlife:///app/agent/"+(string)g_kCaptor+"/about", g_kWearer);
Commit();
}
g_iExpire=0;
Expand All @@ -408,8 +419,10 @@ state active
llMessageLinked(LINK_SET, NOTIFY, "0Confirmed. Not Ending Capture", g_kExpireFor);
}else if(sMsg == "YES"){
llMessageLinked(LINK_SET, NOTIFY, "1Capture has ended", g_kCaptor);
llMessageLinked(LINK_SET, NOTIFY_OWNERS, llGetUsername(g_kWearer)+" is no longer captured by secondlife:///app/agent/"+(string)g_kCaptor+"/about", g_kWearer);
g_iCaptured=FALSE;
g_kCaptor=NULL_KEY;
if (iNum == CMD_OWNER) Menu(kID, iNum); // Capture ended by owner, now show Menu
Commit();
}

Expand Down Expand Up @@ -437,8 +450,7 @@ state active
if(Flag&2)g_iRisky=TRUE;
if(Flag&4)g_iCaptured=TRUE;
if(Flag&8)g_iAutoRelease=TRUE;


if(g_iCaptured && g_iAutoRelease) llSetTimerEvent(10); // #858
g_iFlagAtLoad=Flag;
}
} else if(llList2String(lSettings,0) == "auth"){
Expand Down Expand Up @@ -508,5 +520,4 @@ state active
}
}


}
19 changes: 11 additions & 8 deletions src/Apps/oc_detach.lsl
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ Copyright ©2021
Aria (Tashia Redrose)
* Dec 2019 - Rewrote Outfits & Reset Script Version to 1.0
Medea (Medea Destiny)
Nov 2023 - Fix to ignore case (i.e either "menu detach" or "menu Detach") issue #875
et al.
Licensed under the GPLv2. See LICENSE for full details.
Expand All @@ -23,7 +24,7 @@ integer bool(integer a){
if(a)return TRUE;
else return FALSE;
}
list g_lCheckboxes=["",""];
list g_lCheckboxes=["",""];
string Checkbox(integer iValue, string sLabel) {
return llList2String(g_lCheckboxes, bool(iValue))+" "+sLabel;
}
Expand Down Expand Up @@ -84,22 +85,24 @@ Menu(key kID, integer iAuth) {
}

UserCommand(integer iNum, string sStr, key kID) {
if (llSubStringIndex(sStr,llToLower(g_sSubMenu)) && sStr != "menu "+g_sSubMenu) return;
sStr=llToLower(sStr);
//if (llSubStringIndex(sStr,llToLower(g_sSubMenu)) && sStr != "menu "+llToLower(g_sSubMenu)) return;

if (sStr==llToLower(g_sSubMenu) || sStr == "menu "+llToLower(g_sSubMenu)) Menu(kID, iNum);

if (sStr==g_sSubMenu || sStr == "menu "+g_sSubMenu) Menu(kID, iNum);
//else if (iNum!=CMD_OWNER && iNum!=CMD_TRUSTED && kID!=g_kWearer) RelayNotify(kID,"Access denied!",0);
else {
/* else {
integer iWSuccess = 0;
string sChangetype = llList2String(llParseString2List(sStr, [" "], []),0);
string sChangevalue = llList2String(llParseString2List(sStr, [" "], []),1);
string sText;
}
}*/
}

key g_kWearer;
list g_lMenuIDs;
integer g_iMenuStride;
integer g_iMenuStride = 3;
integer g_iLocked=FALSE;
integer ALIVE = -55;
integer READY = -56;
Expand Down
46 changes: 33 additions & 13 deletions src/Apps/oc_outfits.lsl
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,12 @@ Lillith (Lillith Xue)
Phidoux (Taya Maruti)
*Sept 2022 - Limited core lock/unlock to wearer and owner (issue #855)
et al.
*Mar 2023 - Fixed lock issues with "~" and some navigation errors. (issue #910)
*June 2023 - Fixed Lock issue kAv instead of kID on the button check.
*June 20 2023 - Fixed Stray ~ that was causing detach to not work.
Medea (Medea Destiny)
*Nov 2023 - Fix for #902 (kAV instead of kID on button check) was not complete,
No Access notify also changed to kAV
Licensed under the GPLv2. See LICENSE for full details.
https://github.com/OpenCollarTeam/OpenCollar
Expand All @@ -27,8 +32,8 @@ https://github.com/OpenCollarTeam/OpenCollar

string g_sParentMenu = "Apps";
string g_sSubMenu = "Outfits";
string g_sAppVersion = "1.6";
//string g_sScriptVersion = "8.0";
string g_sAppVersion = "1.7";
//string g_sScriptVersion = "8.3";


//MESSAGE MAP
Expand Down Expand Up @@ -81,7 +86,7 @@ integer bool(integer a){
if(a)return TRUE;
else return FALSE;
}
list g_lCheckboxes=["", ""];
list g_lCheckboxes=["",""];
string TickBox(integer iValue, string sLabel) {
return llList2String(g_lCheckboxes, bool(iValue))+" "+sLabel;
}
Expand Down Expand Up @@ -239,6 +244,7 @@ UserCommand(integer iNum, string sStr, key kID) {
g_sPath=GetFolderName(FALSE)+"/"+sChangevalue;
g_iListenTimeout=0;
}
llOwnerSay("[command "+sChangetype+"]"+g_sPath);

if(!g_iLocked){
llOwnerSay("@detach=n");
Expand All @@ -247,6 +253,7 @@ UserCommand(integer iNum, string sStr, key kID) {
ForceLockCore();
TickBrowser();
llSetTimerEvent(1);
llOwnerSay("[command "+sChangetype+"] Attempt detach");
if(!Bool((g_iAccessBitSet&32))){
if(llSubStringIndex(g_sPath, GetFolderName(TRUE))==-1)
llOwnerSay("@detachall:"+GetFolderName(FALSE)+"=force");
Expand All @@ -257,15 +264,25 @@ UserCommand(integer iNum, string sStr, key kID) {
}
llSleep(2); // incase of lag
string sAppend;
if(g_iRLVa)sAppend=RLVA_APPEND;
if(g_iRLVa)
{
sAppend=RLVA_APPEND;
}
else
{
sAppend=RLV_APPEND;
}
if (g_sPath == GetOutfitSystem(FALSE)+"/" || g_sPath == GetOutfitSystem(FALSE)+"/"+sAppend) g_sLastOutfit = "NONE";
else g_sLastOutfit=g_sPath;

if(!g_iLocked){
llOwnerSay("@detach=y");
}
RmCorelock();
llSleep(1);
}
if(sChangetype == "wear"){ //This looks like dead code TODO: Verify for removal?
if (g_sPath != "" && g_sPath != ".") llOwnerSay("@attachallover:"+g_sPath+"=force");
if (g_sPath != "~" && g_sPath != ".") llOwnerSay("@attachallover:"+g_sPath+"=force");
}
}
}
Expand Down Expand Up @@ -307,11 +324,14 @@ ForceLockCore(){
llOwnerSay("@detachallthis:"+GetOutfitSystem(TRUE)+"=y");
llSleep(1);
llOwnerSay("@detachallthis:"+GetOutfitSystem(TRUE)+"=n");
llSleep(0.5);
llSleep(1); // origionaly 0.5 may be to short and causes ~.core to be open during detach process.
}

RmCorelock(){
llOwnerSay("@detachallthis:"+GetOutfitSystem(TRUE)+"=y");
if(!g_iLockCore)
{
llOwnerSay("@detachallthis:"+GetOutfitSystem(TRUE)+"=y");
}
}

integer ALIVE = -55;
Expand All @@ -321,6 +341,7 @@ integer STARTUP = -57;
integer g_iRLVa = FALSE;

string RLVA_APPEND=".";
string RLV_APPEND="~";

string GetOutfitSystem(integer iCorePath){
if(g_iRLVa){
Expand Down Expand Up @@ -417,11 +438,10 @@ state active
if(sMsg == UPMENU) {
iRespring=FALSE;
llMessageLinked(LINK_SET, iAuth, "menu "+g_sParentMenu, kAv);
}
else if(sMsg == TickBox(g_iLockCore, "Lock Core")){
if(iAuth != CMD_OWNER && kID != g_kWearer) {
llMessageLinked(LINK_SET,NOTIFY, "0%NOACCESS% to core", kID);
return;
}else if(sMsg == TickBox(g_iLockCore, "Lock Core")){
if(iAuth != CMD_OWNER && kAv != g_kWearer) {
llMessageLinked(LINK_SET,NOTIFY, "0%NOACCESS% to core", kAv);
return;
}
g_iLockCore=1-g_iLockCore;
llSetTimerEvent(120);
Expand Down
Loading

0 comments on commit 89f849a

Please sign in to comment.